Skip to content

Instantly share code, notes, and snippets.

@hlubek
Created December 22, 2021 08:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hlubek/86cd6cca0cb4ce18fae5f36a0c1a8795 to your computer and use it in GitHub Desktop.
Save hlubek/86cd6cca0cb4ce18fae5f36a0c1a8795 to your computer and use it in GitHub Desktop.
go-popcount benchmark on Apple M1 (arm64)
goos: darwin
goarch: arm64
pkg: github.com/barakmich/go-popcount
BenchmarkCountBytes/32-10 314055555 3.808 ns/op 8402.63 MB/s
BenchmarkCountBytes/128-10 378914162 3.167 ns/op 40410.70 MB/s
BenchmarkCountBytes/1K-10 82149579 14.22 ns/op 72006.56 MB/s
BenchmarkCountBytes/16K-10 5750053 208.5 ns/op 78598.68 MB/s
BenchmarkCountBytes/128K-10 727538 1636 ns/op 80130.24 MB/s
BenchmarkCountBytes/1M-10 92504 12951 ns/op 80963.91 MB/s
BenchmarkCountBytes/16M-10 4234 253830 ns/op 66096.21 MB/s
BenchmarkCountBytes/128M-10 525 2217790 ns/op 60518.68 MB/s
BenchmarkCountBytes/512M-10 134 8845592 ns/op 60693.61 MB/s
BenchmarkCountSlice64/32-10 291076974 4.133 ns/op 7741.73 MB/s
BenchmarkCountSlice64/128-10 380183212 3.175 ns/op 40319.06 MB/s
BenchmarkCountSlice64/1K-10 85659475 14.25 ns/op 71856.14 MB/s
BenchmarkCountSlice64/16K-10 5746509 208.7 ns/op 78500.26 MB/s
BenchmarkCountSlice64/128K-10 722334 1634 ns/op 80229.52 MB/s
BenchmarkCountSlice64/1M-10 92313 12987 ns/op 80741.46 MB/s
BenchmarkCountSlice64/16M-10 4346 254924 ns/op 65812.60 MB/s
BenchmarkCountSlice64/128M-10 542 2242258 ns/op 59858.28 MB/s
BenchmarkCountSlice64/512M-10 133 8932422 ns/op 60103.62 MB/s
BenchmarkCountBytesGo/32-10 235522114 5.072 ns/op 6309.48 MB/s
BenchmarkCountBytesGo/128-10 133286632 8.956 ns/op 14291.99 MB/s
BenchmarkCountBytesGo/1K-10 17740632 67.28 ns/op 15221.10 MB/s
BenchmarkCountBytesGo/16K-10 1000000 1041 ns/op 15731.71 MB/s
BenchmarkCountBytesGo/128K-10 146691 8289 ns/op 15812.41 MB/s
BenchmarkCountBytesGo/1M-10 18034 67237 ns/op 15595.26 MB/s
BenchmarkCountBytesGo/16M-10 1094 1068776 ns/op 15697.60 MB/s
BenchmarkCountBytesGo/128M-10 140 8611804 ns/op 15585.32 MB/s
BenchmarkCountBytesGo/512M-10 33 33758559 ns/op 15903.25 MB/s
BenchmarkCountSlice64Go/32-10 463474134 2.563 ns/op 12483.05 MB/s
BenchmarkCountSlice64Go/128-10 186866392 6.363 ns/op 20116.71 MB/s
BenchmarkCountSlice64Go/1K-10 23279010 51.25 ns/op 19981.24 MB/s
BenchmarkCountSlice64Go/16K-10 1811583 661.9 ns/op 24751.85 MB/s
BenchmarkCountSlice64Go/128K-10 229682 5195 ns/op 25230.47 MB/s
BenchmarkCountSlice64Go/1M-10 28976 41631 ns/op 25187.56 MB/s
BenchmarkCountSlice64Go/16M-10 1802 663498 ns/op 25286.02 MB/s
BenchmarkCountSlice64Go/128M-10 224 5309620 ns/op 25278.22 MB/s
BenchmarkCountSlice64Go/512M-10 55 21226327 ns/op 25292.69 MB/s
BenchmarkCount64-10 1000000000 0.3166 ns/op
PASS
ok github.com/barakmich/go-popcount 63.279s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment