]> Cypherpunks repositories - gostls13.git/commit
cmd/compile,internal/runtime/maps: add extendible hashing
authorMichael Pratt <mpratt@google.com>
Wed, 7 Aug 2024 17:02:43 +0000 (13:02 -0400)
committerMichael Pratt <mpratt@google.com>
Mon, 21 Oct 2024 14:16:20 +0000 (14:16 +0000)
commitd94b7a187685942579e7d7dc00bf58448cdafce8
treee3618c50ab04befc9ed7053605b66f923373a802
parent4d35dcfa217ea75ec0d344202d771ca8d9b51a8a
cmd/compile,internal/runtime/maps: add extendible hashing

Extendible hashing splits a swisstable map into many swisstables. This
keeps grow operations small.

For #54766.

Cq-Include-Trybots: luci.golang.try:gotip-linux-ppc64_power10,gotip-linux-amd64-longtest-swissmap
Change-Id: Id91f34af9e686bf35eb8882ee479956ece89e821
Reviewed-on: https://go-review.googlesource.com/c/go/+/604936
Reviewed-by: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
17 files changed:
src/cmd/compile/internal/reflectdata/map_swiss.go
src/internal/runtime/maps/export_noswiss_test.go
src/internal/runtime/maps/export_swiss_test.go
src/internal/runtime/maps/export_test.go
src/internal/runtime/maps/fuzz_test.go
src/internal/runtime/maps/map.go
src/internal/runtime/maps/map_swiss_test.go [new file with mode: 0644]
src/internal/runtime/maps/map_test.go
src/internal/runtime/maps/table.go
src/internal/runtime/maps/table_debug.go
src/runtime/map_benchmark_test.go
src/runtime/map_swiss.go
src/runtime/map_swiss_test.go
src/runtime/map_test.go
test/live.go
test/live2.go
test/live_regabi_swiss.go