Возможно вы слышали про уровни микроархитектуры. Каждый уровень включает в себя набор расширений набора команд. Тулинг Go предоставляет доступ к настройке уровней через переменную окружения GOAMD64
Наши 64-битные процессоры Intel и AMD совершенствовались на протяжении десятилетий. При компиляции программы на Go компилятор по умолчанию ориентируется на набор инструкций, которому уже почти 20 лет. Полученный бинарный файл работает практически на любом чипе x64, но при этом не использует ни одну из инструкций, добавленных после 2003 года.
Автор поигрался с настройкасм GOAMD64 и сравненил использование разных уровней в Go на библиотеке roaring. Получил большой прирост производительности при переходе на v2 и v3 уровни, но почти ничего от v4.
Можете попробовать такой подход у себя, но перед сменой целевого уровня компиляции тестируйте CPU-нагруженный код
16.06.2026
Похожее
19.07.2026
Объединение запросов
Статья объясняет технику объединения запросов на Go с помощью пакета singlefligh...
16.07.2026
mmap или pread
Автор статьи - инженер из VictoriaMetrics. На примере реального движка хранения ...
16.07.2026
TypeScript переписали на Go
Команда Microsoft с помощью AI переписала компилятор TypeScript 7.0 на Go, а не ...
14.07.2026
На 49% быстрее из-за выравнивания
Разбор неожиданной оптимизации в Go: сдвиг массива на 4 байта через добавление p...