[Перевод] Как 4 байта выравнивания ускоряют очистку массива на 49%

Habr ·

[Перевод] Как 4 байта выравнивания ускоряют очистку массива на 49%

«П‑с-с‑с, хочешь, чтобы функция очистки массива была на 49% быстрее? Сдвинь массив на 4 байта». Рассмотрим следующий код на Go: const words = 1 << 19 type block struct { n uint32 data [words] uint32 } func (b * block) reset () { b.data = [words] uint32 {} } Что, если я скажу вам, что всего лишь добавив 4 байта заполнения (padding) между n и data , вы ускорите функцию reset на 49% (по крайней мере, на машинах с Intel)? Звучит безумно? Читать далее

Источник: Habr