That's interesting! My numbers earlier were from an AMD chip (2990WX) on Linux 5.3.11.
On an older Intel chip (i7-4960HQ) on macOS 10.15.3 I still see small a difference but it's much smaller. $ go test -bench . goos: darwin goarch: amd64 BenchmarkStateSet1-8 2737468 441 ns/op BenchmarkStateSet2-8 3514694 345 ns/op BenchmarkStateSet3-8 3351747 356 ns/op PASS ok _/Users/jimr/tmp/odd 5.253s -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/e8cd29b0-cff1-4feb-bf28-2c497d4a7fd5%40googlegroups.com.