Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.053 c
2-1172335763
ЗлойЕНОТ
2007-02-24 19:49
2007.03.18
Работа с ресурсами


15-1171798982
Чапаев
2007-02-18 14:43
2007.03.18
что для вас иконка в трее (там где часы)?


15-1171896458
Cerberus
2007-02-19 17:47
2007.03.18
Отдам кошечку в хорошие программистские руки (Самара)


2-1171876396
Прохожев Максим
2007-02-19 12:13
2007.03.18
Количество строк в проекте


2-1172149513
ElectriC
2007-02-22 16:05
2007.03.18
ListBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский