Вниз
Скачать: CL | DM;

Выравнивание данных   Найти похожие ветки 

 
Stan   (2007-02-24 19:25) [0]

Следует ли уделять внимание выравниванию данных ? Или теперь мощностя проца все съедят?


 
Eraser ©   (2007-02-24 19:34) [1]

> [0] Stan   (24.02.07 19:25)

там где это действительно нужно, внимание уделять безусловно стоит, к примеру, если нужно пройтись по огромному массиву структур для извлечения определенных полей из кажной структуры и т.п.
а если обращение к структуре выполняется редко, то не стОит заниматься ловлей блох.

PS
AFAIK, если не использовать директиву packed, то данные в структуре выровнены по-умолчанию.


 
Суслик ©   (2007-02-24 19:35) [2]

я не уделяю, ибо не пишу высокопроизводительных приложений (задачи такой нет).


 
Суслик ©   (2007-02-24 19:35) [3]


> PS
> AFAIK, если не использовать директиву packed, то данные
> в структуре выровнены по-умолчанию.

а вот в массиве нет :)
всегда не выровнены.


 
Eraser ©   (2007-02-24 19:53) [4]

> [3] Суслик ©   (24.02.07 19:35)

ну если это массив из выровненных структур, то получается что выровнены )


 
Юрий Зотов ©   (2007-02-24 20:07) [5]

Присоединяюсь к "там где это действительно нужно, внимание уделять безусловно стоит".

Например, структура предназначена для сохранения в файл/поток. Или есть проход по ней с помощью указателя. В общем, во всех случаях, когда наличие "дырок" нежелательно.


 
TUser ©   (2007-02-24 21:39) [6]

Производительность алгоритма зависит ... от алгоритма. А не от мух. Ну, мне не разу не удалось ускорить программу более чем на несколько процентов на основании улучшений, подобных сабжу. А вот модификация алгоритма приводила часто к существенному улучшению. К примеру есть массив рекордов из двух символов (char). Ну, будем его сортировать пузырями. Будет медленно. Заменим на packed. Сново медленно. А заменим на квиксорт - будет быстро.

[5], имхо, основано на том, что ЮЗ работал еще с настоящими компьютерами, где это все имело значение. Не то что нынешние, включая меня, пень-юзеры. Если есть реальный пример, когда производительность возрастает от подобных вещей - прочитаю с практическим интересом.


 
Eraser ©   (2007-02-24 21:53) [7]

> [6] TUser ©   (24.02.07 21:39)


> А не от мух

да не сказал бы, что это прямо таки мухи.. по разному бывает.

вот буквально месяц назад удалось заметно повысить производительность одной из функций приложения, заменив в структуре DWORD на WORD и расположив поля структуры в соответствии с правилами выравнивания. Там по сети передавался блок данных (по сути массив структур), обработку этих данных и реакцию на них необходимо было воспроизводить в реальном времени и как можно быстрее.


 
Ketmar ©   (2007-02-24 22:30) [8]

раз рекомендуют -- надо делать. памяти нынче много, пара десятков байтиков роли не играют обычно. это вам не Z80.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
1-1169635612
Newer
2007-01-24 13:46
2007.03.18
Адрес папки


15-1171623176
pavel_guzhanov
2007-02-16 13:52
2007.03.18
можно ли сделать так, чтобы в exe файл входило что-то вроде базы


15-1171898141
DillerXX
2007-02-19 18:15
2007.03.18
Казино рояль


6-1159627784
S K i N E R
2006-09-30 18:49
2007.03.18
Как узнать когда завешина передача файла через NMStrm?


2-1172479664
Darvin
2007-02-26 11:47
2007.03.18
Ошибки при чтении данных из COM-порта




   Наверх