Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.18;
Скачать: 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 вся ветка

Текущий архив: 2007.03.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
2-1172603027
sat
2007-02-27 22:03
2007.03.18
TMemoryStream


2-1172663875
tan
2007-02-28 14:57
2007.03.18
Работа с OpenOffice.


15-1171834369
Petr V. Abramov
2007-02-19 00:32
2007.03.18
О конкурентоспособности экономик


4-1162569603
Dmitry_177
2006-11-03 19:00
2007.03.18
Работа с INI-файлами на API


15-1171817926
Cyrax
2007-02-18 19:58
2007.03.18
Как выдрать мелодию из exe-ника ?