Зачем нужен DWORD aligment в структурах?

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Зачем нужен DWORD aligment в структурах?

Сообщение ANDLL » 23.06.2005 (Чт) 12:54

сабж. И что будет, если от него отказаться :?:
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 23.06.2005 (Чт) 13:34

Есть такой человек - Крис Касперски. Вот он обо всем этом столько написал, что я даже не представляю, как это все можно вообще прочесть :). Ищи и обрящешь.

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 23.06.2005 (Чт) 14:22

А почему именно DWORD aligment?

У разных производителей, разный алигмент
Проверял на Borland C++ 5 и на VC++ 6
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 23.06.2005 (Чт) 14:24

Ну скажем, у VB именно DWORD. У нас ведь VB-форум...
А Криса Касперски сечас поищем.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 23.06.2005 (Чт) 15:32

найдешь, выложи линку...
ХЎ

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.06.2005 (Чт) 15:38

А можно я попытаюсь объяснить своими словами?

Процессор типа i386 может считывать только DWORD-ы и только по адресу, кратному 4.
Если производится обращение к аргументу, пересекающему границу DWORD-ов, то процессор вынужден выполнить два чтения из памяти подряд. Это занимает вдвое больше времени.

Соответственно, для байтов всё равно, как они выровнены; для WORD-ов надо, чтобы их адрес Mod 4 <> 3 (обычно их "для гарантии" размещают по чётному адресу)
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 23.06.2005 (Чт) 16:00

Пасибо, Темыч!
Как я понял, отключение выравнивание приведет к уменьшению требуемой памяти, но, в описанной тобою ситуации, приведет к снижению быстродействия?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.06.2005 (Чт) 16:05

ANDLL писал(а):Пасибо, Темыч!
Как я понял, отключение выравнивание приведет к уменьшению требуемой памяти, но, в описанной тобою ситуации, приведет к снижению быстродействия?

Да.

Кстати, на новых процах от невыровненных данных есть ещё один ущерб: они занимают две ячейки кэша вместо одной. Т.е. экономя медленную дешёвую память (ОЗУ), ты теряешь быструю и дорогую (кэш).
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 23.06.2005 (Чт) 17:47

Кстати, с появлением!
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.06.2005 (Чт) 18:01

Тогда ещё и с отлично сдатой сессией можешь поздравить :-D
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 23.06.2005 (Чт) 18:31

сдан(н)ой сессией... Что у тебя, говориш, по русскому в школе было :?:
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.06.2005 (Чт) 19:14

Пятёрка была, но это было давно :-D

А слово "сдатый" (также и с другими приставками) мне просто нравится, и поэтому я его юзаю :-)

"Ширше - это неправильно. Ширее - правильно." (с)
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 23.06.2005 (Чт) 20:17

Шире (c)русские люди
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.06.2005 (Пт) 10:55

"Смеялось население, читая объявление. А кто смеяться не умел, пришёл в недоумение" (c) Э. Успенский :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24

    TopList