Операция выполнена!
Закрыть
Хабы: Процессоры, Go, Программирование, Клиентская оптимизация

«П‑с-с‑с, хочешь, чтобы функция очистки массива была на 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)? Звучит безумно?

Читать далее
Читайте также
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro