Статья подробно разбирает переход Go 1.24 от классической bucket-архитектуры мап к Swiss Tables - дизайну, позаимствованному из Abseil, который заменяет цепочки оверфлоу-указателей на плоское открытое адресование с компактными контрольными байтами и групповым probing'ом по 8 слотов.
Swiss Tables позволяют совершать меньше промахов кеша за счет отказа от «погони за указателями», увеличивается допустимая плотность заполнения, и фильтрация кандидатов становится более быстрой по h2-отпечатку до полноценного сравнения ключей.
На микробенчмарках доступ к большим мапам ускорился на 30–35%, итерация - до 60% на разреженных картах, однако на уровне приложений выигрыш скромнее, около 1.5% в среднем, а в сценариях с холодным кешем и очень большими разреженными мапами возможны регрессы.
Да-да, уже 100% раз читали про швейцарские таблицы. Но статью в закладки лучше добавить
05.08.2026
Похожее
03.08.2026
Визуализируем GC
Статья наглядно исследует новый сборщик мусора Green Tea в Go 1.25/1.26. Авт...
30.07.2026
Кодим чат
Автор просто час пишет чат. Никаких слов, никакого хайпа. Просто час кодинга под...
29.07.2026
Хранение паскеев
Автор предлагает формат для паскеев специальный формат. Что-то похожее на интеро...
28.07.2026
Арены жалко
Go отказался от экспериментальных Memory Arenas - механизма, позволявшего выделя...