Skip to content

Instantly share code, notes, and snippets.

@zelig
Created April 20, 2017 11:21
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 zelig/4a4ef4e38120ff95c0ec5fffbe47b29b to your computer and use it in GitHub Desktop.
Save zelig/4a4ef4e38120ff95c0ec5fffbe47b29b to your computer and use it in GitHub Desktop.
bmt benchmarks
tron@nirname:~/work/go-ethereum$ go test -v -cpu 8 ./bmt -bench . -run no
BenchmarkSHA3_4k-8 100000 13977 ns/op 512 B/op 3 allocs/op
BenchmarkSHA3_2k-8 200000 7311 ns/op 512 B/op 3 allocs/op
BenchmarkSHA3_1k-8 300000 3859 ns/op 512 B/op 3 allocs/op
BenchmarkSHA3_512b-8 1000000 2108 ns/op 512 B/op 3 allocs/op
BenchmarkSHA3_256b-8 1000000 1311 ns/op 512 B/op 3 allocs/op
BenchmarkSHA3_128b-8 2000000 891 ns/op 512 B/op 3 allocs/op
BenchmarkBMTBaseline_4k-8 30000 45670 ns/op 69077 B/op 392 allocs/op
BenchmarkBMTBaseline_2k-8 50000 30259 ns/op 36309 B/op 200 allocs/op
BenchmarkBMTBaseline_1k-8 100000 21448 ns/op 19924 B/op 104 allocs/op
BenchmarkBMTBaseline_512b-8 100000 13278 ns/op 11732 B/op 56 allocs/op
BenchmarkBMTBaseline_256b-8 200000 8734 ns/op 7636 B/op 32 allocs/op
BenchmarkBMTBaseline_128b-8 200000 5773 ns/op 5588 B/op 20 allocs/op
BenchmarkRBMTHasher_4k-8 10000 114015 ns/op 65024 B/op 381 allocs/op
BenchmarkRBMTHasher_2k-8 30000 63272 ns/op 32256 B/op 189 allocs/op
BenchmarkRBMTHasher_1k-8 50000 32770 ns/op 15872 B/op 93 allocs/op
BenchmarkRBMTHasher_512b-8 100000 14499 ns/op 7680 B/op 45 allocs/op
BenchmarkRBMTHasher_256b-8 200000 6356 ns/op 3584 B/op 21 allocs/op
BenchmarkRBMTHasher_128b-8 500000 3194 ns/op 1536 B/op 9 allocs/op
BenchmarkBMTHasher_4k-8 20000 65502 ns/op 95809 B/op 510 allocs/op
BenchmarkBMTHasher_2k-8 30000 40801 ns/op 47680 B/op 254 allocs/op
BenchmarkBMTHasher_1k-8 50000 26878 ns/op 23616 B/op 126 allocs/op
BenchmarkBMTHasher_512b-8 100000 16036 ns/op 11584 B/op 62 allocs/op
BenchmarkBMTHasher_256b-8 200000 8712 ns/op 5568 B/op 30 allocs/op
BenchmarkBMTHasher_128b-8 300000 4264 ns/op 2560 B/op 14 allocs/op
BenchmarkBMTHasherReuse_4k-8 20000 68380 ns/op 95809 B/op 510 allocs/op
BenchmarkBMTHasherReuse_2k-8 30000 39480 ns/op 47680 B/op 254 allocs/op
BenchmarkBMTHasherReuse_1k-8 50000 24594 ns/op 23616 B/op 126 allocs/op
BenchmarkBMTHasherReuse_512b-8 100000 16732 ns/op 11584 B/op 62 allocs/op
BenchmarkBMTHasherReuse_256b-8 200000 8675 ns/op 5568 B/op 30 allocs/op
BenchmarkBMTHasherReuse_128b-8 300000 4139 ns/op 2560 B/op 14 allocs/op
BenchmarkOBMTHasher_4k-8 10000 102630 ns/op 136036 B/op 778 allocs/op
BenchmarkOBMTHasher_2k-8 20000 70519 ns/op 68451 B/op 394 allocs/op
BenchmarkOBMTHasher_1k-8 30000 39811 ns/op 34659 B/op 202 allocs/op
BenchmarkOBMTHasher_512b-8 50000 26360 ns/op 17763 B/op 106 allocs/op
BenchmarkOBMTHasher_256b-8 100000 18792 ns/op 9314 B/op 58 allocs/op
BenchmarkOBMTHasher_128b-8 100000 14528 ns/op 5089 B/op 34 allocs/op
PASS
ok github.com/ethereum/go-ethereum/bmt 61.470s
tron@nirname:~/work/go-ethereum$ go test -v -cpu 4 ./bmt -bench . -run no
BenchmarkSHA3_4k-4 100000 13836 ns/op 512 B/op 3 allocs/op
BenchmarkSHA3_2k-4 200000 7382 ns/op 512 B/op 3 allocs/op
BenchmarkSHA3_1k-4 300000 3864 ns/op 512 B/op 3 allocs/op
BenchmarkSHA3_512b-4 1000000 2121 ns/op 512 B/op 3 allocs/op
BenchmarkSHA3_256b-4 1000000 1188 ns/op 512 B/op 3 allocs/op
BenchmarkSHA3_128b-4 2000000 717 ns/op 512 B/op 3 allocs/op
BenchmarkBMTBaseline_4k-4 30000 55615 ns/op 69076 B/op 392 allocs/op
BenchmarkBMTBaseline_2k-4 50000 32161 ns/op 36308 B/op 200 allocs/op
BenchmarkBMTBaseline_1k-4 100000 21994 ns/op 19924 B/op 104 allocs/op
BenchmarkBMTBaseline_512b-4 100000 13681 ns/op 11732 B/op 56 allocs/op
BenchmarkBMTBaseline_256b-4 200000 8598 ns/op 7636 B/op 32 allocs/op
BenchmarkBMTBaseline_128b-4 300000 5817 ns/op 5588 B/op 20 allocs/op
BenchmarkRBMTHasher_4k-4 10000 142358 ns/op 65024 B/op 381 allocs/op
BenchmarkRBMTHasher_2k-4 20000 72499 ns/op 32256 B/op 189 allocs/op
BenchmarkRBMTHasher_1k-4 50000 26831 ns/op 15872 B/op 93 allocs/op
BenchmarkRBMTHasher_512b-4 100000 13338 ns/op 7680 B/op 45 allocs/op
BenchmarkRBMTHasher_256b-4 200000 6876 ns/op 3584 B/op 21 allocs/op
BenchmarkRBMTHasher_128b-4 500000 2630 ns/op 1536 B/op 9 allocs/op
BenchmarkBMTHasher_4k-4 20000 74292 ns/op 95808 B/op 510 allocs/op
BenchmarkBMTHasher_2k-4 30000 46543 ns/op 47680 B/op 254 allocs/op
BenchmarkBMTHasher_1k-4 50000 27658 ns/op 23616 B/op 126 allocs/op
BenchmarkBMTHasher_512b-4 100000 16701 ns/op 11584 B/op 62 allocs/op
BenchmarkBMTHasher_256b-4 200000 9107 ns/op 5568 B/op 30 allocs/op
BenchmarkBMTHasher_128b-4 300000 4328 ns/op 2560 B/op 14 allocs/op
BenchmarkBMTHasherReuse_4k-4 20000 63620 ns/op 95808 B/op 510 allocs/op
BenchmarkBMTHasherReuse_2k-4 50000 40488 ns/op 47680 B/op 254 allocs/op
BenchmarkBMTHasherReuse_1k-4 50000 27309 ns/op 23616 B/op 126 allocs/op
BenchmarkBMTHasherReuse_512b-4 100000 16264 ns/op 11584 B/op 62 allocs/op
BenchmarkBMTHasherReuse_256b-4 200000 8320 ns/op 5568 B/op 30 allocs/op
BenchmarkBMTHasherReuse_128b-4 300000 4171 ns/op 2560 B/op 14 allocs/op
BenchmarkOBMTHasher_4k-4 10000 116511 ns/op 136036 B/op 778 allocs/op
BenchmarkOBMTHasher_2k-4 20000 74147 ns/op 68450 B/op 394 allocs/op
BenchmarkOBMTHasher_1k-4 30000 41768 ns/op 34658 B/op 202 allocs/op
BenchmarkOBMTHasher_512b-4 50000 26183 ns/op 17762 B/op 106 allocs/op
BenchmarkOBMTHasher_256b-4 100000 18889 ns/op 9314 B/op 58 allocs/op
BenchmarkOBMTHasher_128b-4 100000 14873 ns/op 5089 B/op 34 allocs/op
PASS
ok github.com/ethereum/go-ethereum/bmt 63.199s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment