максимально близко. Допустим ситцация : short, char,short, char,short на 64 битном процессоре. Вообще -то 8 байт, но из-за выравниний 10, то есть за раз все не считать. Придется делать два прохода. Кеш линии тоже не клево, ей лучше, когда больше всего влазит в одну кеш линию. С точки зрения команд тоже никакого профита от выравнивания нет, какое-бы оно не было, байтики все равно двигать придется, что бы добраться до нужного эллемента. Мне кажется, в подобном случае лучше без вырванивания. Понятно, что равнять каждый элемень по границе 8 байт явное излишество, гораздо логичнее выглядит упаковывать максимальное колличество элементов в эти 8 байт. Или я не прав?
Я ж сказал уже про кэш линию
есть внутри АЛУ загрузка байт, два байта. 4 байта. и 8 байт если 64х. вот они внутри хитро устроены.
Обсуждают сегодня