From bb46b754bebb0e820d74fd9eb02635afbdf5a3bd Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Mon, 12 Aug 2024 16:38:58 -0400 Subject: [PATCH] internal/runtime/maps: speed up modulo For #54766. Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest-swissmap Change-Id: Ic47721e101f6fee650e6825a5a241fcd12fa0009 Reviewed-on: https://go-review.googlesource.com/c/go/+/611185 LUCI-TryBot-Result: Go LUCI Auto-Submit: Michael Pratt Reviewed-by: Michael Knyszek --- src/internal/runtime/maps/table.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/internal/runtime/maps/table.go b/src/internal/runtime/maps/table.go index 60f4263100..232c077db3 100644 --- a/src/internal/runtime/maps/table.go +++ b/src/internal/runtime/maps/table.go @@ -571,7 +571,7 @@ func (it *Iter) Next() { // // We could avoid most of these lookups if we left a flag // behind on the old table to denote that it is stale. - dirIdx := int((uint64(it.dirIdx) + it.dirOffset) % uint64(len(it.m.directory))) + dirIdx := int((uint64(it.dirIdx) + it.dirOffset) & uint64(len(it.m.directory)-1)) newTab := it.m.directory[dirIdx] if it.tab == nil { if newTab.index != dirIdx { -- 2.48.1