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