Статья подробно разбирает переход Go 1.24 от классической bucket-архитектуры мап к Swiss Tables - дизайну, позаимствованному из Abseil, который заменяет цепочки оверфлоу-указателей на плоское открытое адресование с компактными контрольными байтами и групповым probing'ом по 8 слотов.
Swiss Tables позволяют совершать меньше промахов кеша за счет отказа от «погони за указателями», увеличивается допустимая плотность заполнения, и фильтрация кандидатов становится более быстрой по h2-отпечатку до полноценного сравнения ключей.
На микробенчмарках доступ к большим мапам ускорился на 30–35%, итерация - до 60% на разреженных картах, однако на уровне приложений выигрыш скромнее, около 1.5% в среднем, а в сценариях с холодным кешем и очень большими разреженными мапами возможны регрессы.
Да-да, уже 100% раз читали про швейцарские таблицы. Но статью в закладки лучше добавить
05.08.2026
Похожее
03.09.2026
Конкурентный сервер на Go
Это восьмая часть серии о конкурентных сетевых серверах, в этот раз посвященная ...
03.09.2026
Горутины повсюду
Частенько мы пишем Go-сервисы, не задумываясь о том, кто и как запускает наши го...
02.09.2026
Интересные баги
Команда sigma star(хз кто это) нашла и исправила давнюю ошибку в рантайме Go, пр...
01.09.2026
GopherCon UK 2026
Видосы с GopherCon UK 2026 подоспели. Много всего интересного. Девид Чейни, Билл...