TGViewer
4gophers 4gophers @gophernews · 3.44K subscribers
Post #1975 1.26K

Forwarded from Код и Капуста

Swiss Tables

#golang

Статья подробно разбирает переход Go 1.24 от классической bucket-архитектуры мап к Swiss Tables - дизайну, позаимствованному из Abseil, который заменяет цепочки оверфлоу-указателей на плоское открытое адресование с компактными контрольными байтами и групповым probing'ом по 8 слотов.

Swiss Tables позволяют совершать меньше промахов кеша за счет отказа от «погони за указателями», увеличивается допустимая плотность заполнения, и фильтрация кандидатов становится более быстрой по h2-отпечатку до полноценного сравнения ключей.

На микробенчмарках доступ к большим мапам ускорился на 30–35%, итерация - до 60% на разреженных картах, однако на уровне приложений выигрыш скромнее, около 1.5% в среднем, а в сценариях с холодным кешем и очень большими разреженными мапами возможны регрессы.

Да-да, уже 100% раз читали про швейцарские таблицы. Но статью в закладки лучше добавить

https://kodikapusta.ru/news/1153-swiss-tables

Поддержать проект на boosty: https://boosty.to/kodikapusta
More from @gophernews
  1. Sep 28, 2026C на Go #golang Интересный пропозал - добавить возможность сборки Go-пакетов, использующих…
  2. Sep 24, 2026Rune #golang Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go…
  3. Sep 8, 2026Прокси для базы данных #golang Автор пишет простой такой прокси на Go в учебных целях вдох…
  4. Sep 7, 2026У нас отмена! #golang Статья разбирает, как пакет singleflight в Go предотвращает лавину з…
  5. Sep 3, 2026Конкурентный сервер на Go #golang #learn Это восьмая часть серии о конкурентных сетевых се…
  6. Sep 2, 2026Интересные баги #golang Команда sigma star(хз кто это) нашла и исправила давнюю ошибку в р…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →