Faster Go Maps With Swiss Tables
summary
Go 1.24 replaces the old map runtime with a Swiss Table design that stores 8-slot groups plus a 64-bit control word, uses bytewise parallel probes, and raises the grow threshold from 81% to 87% max load factor. Maps account for roughly 10–15% of app CPU and the new implementation reports about 30% faster inserts and lookups on large maps. Iteration preserves Go’s semantics by keeping old tables for visit order while rechecking keys in the live tables, and growth is bounded by splitting work across independent subtables so no single insert does an unbounded full-table copy.
AI-written summary · about
chapters (5)
- 0:00Introduction to Go maps
- 12:26The Swiss table design
- 18:57Implementing maps in Go
- 22:22Map iteration semantics
- 24:03Performance and conclusion








