Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Выравнивание при динамическом выделении памяти под массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Новые новины из С++11 http://www.cyberforum.ru/cpp-beginners/thread922248.html
ну может для кого не новые, для меня новые что за auto что оно делает? как оно так может auto& x: myvector? и вуаля! мне недавно подсказали что auto il = {1,2,3}; Будет иметь тип...
C++ Ошибка С4700 #include <conio.h> #include <math.h> #include <iostream> using namespace std; double f(double x) { return (2*x)-(3*log(x))-3; http://www.cyberforum.ru/cpp-beginners/thread922245.html
C++ В чем причина
В общем сам код: #include<iostream> using namespace std; int b=20; int *a = &b; int main() {
Наследование и шаблоны C++
Почему при использовании шаблонов при обращении к элементам класса нужно явно указывать потомка или this? Ведь при наследовании без шаблонов этого делать не надо. template <int T> struct a { ...
C++ Логическое выражение http://www.cyberforum.ru/cpp-beginners/thread922179.html
Здравствуйте. Запишите логическое выражение, которое принимает значение "истина" тогда и только тогда, когда точка с координатами (x, y) принадлежит заштрихованной области. Подскажите как правильно...
C++ Массив с неизвестным заранее количеством элементов Задача: Создать программу, которая позволит ввести неограниченное количество значений и сохранит их в массиве. #include <iostream> using std::cin; using std::cout; using std::endl; int... подробнее

Показать сообщение отдельно
nonedark2008
914 / 653 / 137
Регистрация: 28.07.2012
Сообщений: 1,768
27.09.2016, 19:42
Цитата Сообщение от Sayberix Посмотреть сообщение
он кратен степени двойки... Так что 1 тут не катит.
http://www.cyberforum.ru/cgi-bin/latex.cgi?1=2^0
Цитата Сообщение от Sayberix Посмотреть сообщение
Мне интересен сам подход
Все зависит от компилятора и процессора.
Зачастую процессор читает блоками, выровненными по границе 32 байта (Это не всегда так). Если данные не выровнены по границе 32 байта, то читать приходится несколько раз (т.к. полезные данные попадают сразу в два блока). У процессора даже есть отдельные наборы инструкций для работы с выровненными данными и нет. Решение какой набор использовать либо принимает компилятор самостоятельно (если ты ему подашь информацию о том, какие данные у тебя выровнены, а какие нет), либо ты жестко их определяешь (Для этого обычно используют интринсики).

Собственно, где определенно важно выравнивание, так это в операциях SIMD.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru