Commit 2b7a7ef3 authored by Ubuntu's avatar Ubuntu

benchmark table count 10

parent 3e0e80eb
...@@ -3,60 +3,93 @@ goarch: amd64 ...@@ -3,60 +3,93 @@ goarch: amd64
pkg: github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark pkg: github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark
cpu: Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz cpu: Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz
BenchmarkRepeated BenchmarkRepeated
BenchmarkRepeated/input_size_100
BenchmarkRepeated/input_size_100-8 5977 184548 ns/op 47.68 MB/s 174664 B/op 827 allocs/op
BenchmarkRepeated/input_size_100-8 6340 186595 ns/op 47.16 MB/s 174422 B/op 826 allocs/op
BenchmarkRepeated/input_size_100-8 5632 184942 ns/op 47.58 MB/s 174312 B/op 825 allocs/op
BenchmarkRepeated/input_size_100-8 5457 185751 ns/op 47.38 MB/s 174402 B/op 826 allocs/op
BenchmarkRepeated/input_size_100-8 6044 179378 ns/op 49.06 MB/s 174451 B/op 826 allocs/op
BenchmarkRepeated/input_size_100-8 6381 186335 ns/op 47.23 MB/s 174457 B/op 826 allocs/op
BenchmarkRepeated/input_size_100-8 6573 182216 ns/op 48.29 MB/s 174486 B/op 826 allocs/op
BenchmarkRepeated/input_size_100-8 5512 183640 ns/op 47.92 MB/s 174449 B/op 826 allocs/op
BenchmarkRepeated/input_size_100-8 6529 182776 ns/op 48.15 MB/s 174455 B/op 826 allocs/op
BenchmarkRepeated/input_size_100-8 5996 188096 ns/op 46.78 MB/s 174460 B/op 826 allocs/op
BenchmarkRepeated/input_size_200 BenchmarkRepeated/input_size_200
BenchmarkRepeated/input_size_200-8 4929 235116 ns/op 206949 B/op 1030 allocs/op BenchmarkRepeated/input_size_200-8 4570 235086 ns/op 74.87 MB/s 206761 B/op 1029 allocs/op
BenchmarkRepeated/input_size_200-8 4830 234183 ns/op 206662 B/op 1029 allocs/op BenchmarkRepeated/input_size_200-8 4668 230969 ns/op 76.20 MB/s 206756 B/op 1029 allocs/op
BenchmarkRepeated/input_size_200-8 4711 233030 ns/op 206653 B/op 1029 allocs/op BenchmarkRepeated/input_size_200-8 4944 240535 ns/op 73.17 MB/s 206767 B/op 1029 allocs/op
BenchmarkRepeated/input_size_200-8 4869 228755 ns/op 206667 B/op 1029 allocs/op BenchmarkRepeated/input_size_200-8 4610 230567 ns/op 76.33 MB/s 206760 B/op 1029 allocs/op
BenchmarkRepeated/input_size_200-8 4488 235602 ns/op 206670 B/op 1029 allocs/op BenchmarkRepeated/input_size_200-8 5331 224272 ns/op 78.48 MB/s 206757 B/op 1029 allocs/op
BenchmarkRepeated/input_size_200-8 4882 229878 ns/op 206710 B/op 1029 allocs/op BenchmarkRepeated/input_size_200-8 4593 238365 ns/op 73.84 MB/s 206758 B/op 1029 allocs/op
BenchmarkRepeated/input_size_200-8 4630 226779 ns/op 206761 B/op 1029 allocs/op BenchmarkRepeated/input_size_200-8 4935 230521 ns/op 76.35 MB/s 206762 B/op 1029 allocs/op
BenchmarkRepeated/input_size_200-8 4944 227934 ns/op 206772 B/op 1029 allocs/op BenchmarkRepeated/input_size_200-8 4530 239932 ns/op 73.35 MB/s 206764 B/op 1029 allocs/op
BenchmarkRepeated/input_size_200-8 4906 224685 ns/op 206762 B/op 1029 allocs/op BenchmarkRepeated/input_size_200-8 4711 228163 ns/op 77.14 MB/s 206759 B/op 1029 allocs/op
BenchmarkRepeated/input_size_200-8 4951 236266 ns/op 206762 B/op 1029 allocs/op BenchmarkRepeated/input_size_200-8 4570 240760 ns/op 73.10 MB/s 206759 B/op 1029 allocs/op
BenchmarkRepeated/input_size_500 BenchmarkRepeated/input_size_500
BenchmarkRepeated/input_size_500-8 3091 374999 ns/op 294332 B/op 1652 allocs/op BenchmarkRepeated/input_size_500-8 3246 385988 ns/op 113.99 MB/s 294310 B/op 1651 allocs/op
BenchmarkRepeated/input_size_500-8 2893 379479 ns/op 294335 B/op 1652 allocs/op BenchmarkRepeated/input_size_500-8 3142 377949 ns/op 116.42 MB/s 294327 B/op 1652 allocs/op
BenchmarkRepeated/input_size_500-8 3188 386679 ns/op 294314 B/op 1651 allocs/op BenchmarkRepeated/input_size_500-8 3004 381286 ns/op 115.40 MB/s 294316 B/op 1652 allocs/op
BenchmarkRepeated/input_size_500-8 3027 379964 ns/op 294324 B/op 1651 allocs/op BenchmarkRepeated/input_size_500-8 3174 384338 ns/op 114.48 MB/s 294321 B/op 1651 allocs/op
BenchmarkRepeated/input_size_500-8 3048 372795 ns/op 294329 B/op 1652 allocs/op BenchmarkRepeated/input_size_500-8 3214 397752 ns/op 110.62 MB/s 294318 B/op 1651 allocs/op
BenchmarkRepeated/input_size_500-8 3046 379493 ns/op 294339 B/op 1652 allocs/op BenchmarkRepeated/input_size_500-8 2775 380948 ns/op 115.50 MB/s 294328 B/op 1652 allocs/op
BenchmarkRepeated/input_size_500-8 3038 382503 ns/op 294328 B/op 1652 allocs/op BenchmarkRepeated/input_size_500-8 3151 400837 ns/op 109.77 MB/s 294279 B/op 1650 allocs/op
BenchmarkRepeated/input_size_500-8 3037 376858 ns/op 294335 B/op 1652 allocs/op BenchmarkRepeated/input_size_500-8 3241 379699 ns/op 115.88 MB/s 294324 B/op 1651 allocs/op
BenchmarkRepeated/input_size_500-8 3004 380237 ns/op 294328 B/op 1652 allocs/op BenchmarkRepeated/input_size_500-8 3141 388943 ns/op 113.13 MB/s 294326 B/op 1652 allocs/op
BenchmarkRepeated/input_size_500-8 2665 387946 ns/op 294324 B/op 1651 allocs/op BenchmarkRepeated/input_size_500-8 3166 453102 ns/op 97.11 MB/s 294331 B/op 1651 allocs/op
BenchmarkRepeated/input_size_1000 BenchmarkRepeated/input_size_1000
BenchmarkRepeated/input_size_1000-8 2158 599942 ns/op 427907 B/op 2651 allocs/op BenchmarkRepeated/input_size_1000-8 2090 607913 ns/op 144.76 MB/s 427922 B/op 2652 allocs/op
BenchmarkRepeated/input_size_1000-8 1861 598981 ns/op 427945 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 1924 624791 ns/op 140.85 MB/s 427907 B/op 2651 allocs/op
BenchmarkRepeated/input_size_1000-8 2187 609124 ns/op 427933 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 1938 622011 ns/op 141.48 MB/s 427925 B/op 2652 allocs/op
BenchmarkRepeated/input_size_1000-8 1862 608089 ns/op 427930 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 2079 620722 ns/op 141.77 MB/s 427922 B/op 2652 allocs/op
BenchmarkRepeated/input_size_1000-8 1953 594150 ns/op 427919 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 1902 618467 ns/op 142.29 MB/s 427907 B/op 2651 allocs/op
BenchmarkRepeated/input_size_1000-8 2050 614077 ns/op 427925 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 2066 632389 ns/op 139.15 MB/s 427929 B/op 2652 allocs/op
BenchmarkRepeated/input_size_1000-8 2122 601281 ns/op 427922 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 2050 624769 ns/op 140.85 MB/s 427927 B/op 2652 allocs/op
BenchmarkRepeated/input_size_1000-8 1942 605563 ns/op 427901 B/op 2651 allocs/op BenchmarkRepeated/input_size_1000-8 1622 638226 ns/op 137.88 MB/s 427949 B/op 2652 allocs/op
BenchmarkRepeated/input_size_1000-8 1982 621440 ns/op 427927 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 2047 627494 ns/op 140.24 MB/s 427901 B/op 2651 allocs/op
BenchmarkRepeated/input_size_1000-8 1993 604775 ns/op 427929 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 1933 622538 ns/op 141.36 MB/s 427904 B/op 2651 allocs/op
BenchmarkRepeated/input_size_2000 BenchmarkRepeated/input_size_2000
BenchmarkRepeated/input_size_2000-8 1212 1045963 ns/op 695557 B/op 4670 allocs/op BenchmarkRepeated/input_size_2000-8 1189 1076117 ns/op 163.55 MB/s 695546 B/op 4670 allocs/op
BenchmarkRepeated/input_size_2000-8 1122 1033986 ns/op 695548 B/op 4670 allocs/op BenchmarkRepeated/input_size_2000-8 920 1097923 ns/op 160.30 MB/s 695559 B/op 4670 allocs/op
BenchmarkRepeated/input_size_2000-8 890 1164471 ns/op 695602 B/op 4671 allocs/op BenchmarkRepeated/input_size_2000-8 1086 1083484 ns/op 162.44 MB/s 695515 B/op 4670 allocs/op
BenchmarkRepeated/input_size_2000-8 1056 1044273 ns/op 695547 B/op 4670 allocs/op BenchmarkRepeated/input_size_2000-8 986 1110391 ns/op 158.50 MB/s 695582 B/op 4671 allocs/op
BenchmarkRepeated/input_size_2000-8 1017 1057157 ns/op 695579 B/op 4670 allocs/op BenchmarkRepeated/input_size_2000-8 1065 1088964 ns/op 161.62 MB/s 695475 B/op 4669 allocs/op
BenchmarkRepeated/input_size_2000-8 997 1066324 ns/op 695569 B/op 4671 allocs/op BenchmarkRepeated/input_size_2000-8 1020 1087322 ns/op 161.87 MB/s 695576 B/op 4671 allocs/op
BenchmarkRepeated/input_size_2000-8 1009 1072943 ns/op 695560 B/op 4670 allocs/op BenchmarkRepeated/input_size_2000-8 1032 1096346 ns/op 160.53 MB/s 695542 B/op 4670 allocs/op
BenchmarkRepeated/input_size_2000-8 1035 1042608 ns/op 695551 B/op 4670 allocs/op BenchmarkRepeated/input_size_2000-8 932 1107664 ns/op 158.89 MB/s 695565 B/op 4670 allocs/op
BenchmarkRepeated/input_size_2000-8 1014 1047702 ns/op 695587 B/op 4671 allocs/op BenchmarkRepeated/input_size_2000-8 1044 1079289 ns/op 163.07 MB/s 695554 B/op 4670 allocs/op
BenchmarkRepeated/input_size_2000-8 1024 1067921 ns/op 695569 B/op 4670 allocs/op BenchmarkRepeated/input_size_2000-8 964 1113049 ns/op 158.12 MB/s 695558 B/op 4670 allocs/op
BenchmarkRepeated/input_size_5000 BenchmarkRepeated/input_size_5000
BenchmarkRepeated/input_size_5000-8 456 2432478 ns/op 1514832 B/op 10709 allocs/op BenchmarkRepeated/input_size_5000-8 462 2468051 ns/op 178.28 MB/s 1514726 B/op 10709 allocs/op
BenchmarkRepeated/input_size_5000-8 458 2412893 ns/op 1514755 B/op 10709 allocs/op BenchmarkRepeated/input_size_5000-8 442 2503170 ns/op 175.78 MB/s 1514761 B/op 10709 allocs/op
BenchmarkRepeated/input_size_5000-8 454 2410962 ns/op 1514762 B/op 10709 allocs/op BenchmarkRepeated/input_size_5000-8 428 2472007 ns/op 177.99 MB/s 1514724 B/op 10709 allocs/op
BenchmarkRepeated/input_size_5000-8 459 2455172 ns/op 1514748 B/op 10708 allocs/op BenchmarkRepeated/input_size_5000-8 427 2460562 ns/op 178.82 MB/s 1514737 B/op 10708 allocs/op
BenchmarkRepeated/input_size_5000-8 444 2392530 ns/op 1514851 B/op 10710 allocs/op BenchmarkRepeated/input_size_5000-8 430 2490331 ns/op 176.68 MB/s 1514776 B/op 10709 allocs/op
BenchmarkRepeated/input_size_5000-8 448 2391625 ns/op 1514765 B/op 10708 allocs/op BenchmarkRepeated/input_size_5000-8 447 2472108 ns/op 177.99 MB/s 1514671 B/op 10707 allocs/op
BenchmarkRepeated/input_size_5000-8 435 2411386 ns/op 1514774 B/op 10709 allocs/op BenchmarkRepeated/input_size_5000-8 448 2468527 ns/op 178.24 MB/s 1514684 B/op 10708 allocs/op
BenchmarkRepeated/input_size_5000-8 434 2448030 ns/op 1514753 B/op 10708 allocs/op BenchmarkRepeated/input_size_5000-8 448 2489199 ns/op 176.76 MB/s 1514738 B/op 10709 allocs/op
BenchmarkRepeated/input_size_5000-8 465 2490208 ns/op 1514724 B/op 10707 allocs/op BenchmarkRepeated/input_size_5000-8 446 2492202 ns/op 176.55 MB/s 1514692 B/op 10708 allocs/op
BenchmarkRepeated/input_size_5000-8 451 2456829 ns/op 1514754 B/op 10708 allocs/op BenchmarkRepeated/input_size_5000-8 462 2480510 ns/op 177.38 MB/s 1514608 B/op 10707 allocs/op
BenchmarkRepeated/input_size_10000
BenchmarkRepeated/input_size_10000-8 235 4723582 ns/op 186.30 MB/s 2868784 B/op 20753 allocs/op
BenchmarkRepeated/input_size_10000-8 243 4733827 ns/op 185.90 MB/s 2868906 B/op 20754 allocs/op
BenchmarkRepeated/input_size_10000-8 246 4753046 ns/op 185.14 MB/s 2868742 B/op 20753 allocs/op
BenchmarkRepeated/input_size_10000-8 237 4876943 ns/op 180.44 MB/s 2868895 B/op 20754 allocs/op
BenchmarkRepeated/input_size_10000-8 238 4689277 ns/op 187.66 MB/s 2868837 B/op 20753 allocs/op
BenchmarkRepeated/input_size_10000-8 237 4768075 ns/op 184.56 MB/s 2868856 B/op 20754 allocs/op
BenchmarkRepeated/input_size_10000-8 235 4754508 ns/op 185.09 MB/s 2868845 B/op 20754 allocs/op
BenchmarkRepeated/input_size_10000-8 238 4783239 ns/op 183.98 MB/s 2868790 B/op 20753 allocs/op
BenchmarkRepeated/input_size_10000-8 246 4789796 ns/op 183.72 MB/s 2868815 B/op 20753 allocs/op
BenchmarkRepeated/input_size_10000-8 236 4778784 ns/op 184.15 MB/s 2868715 B/op 20750 allocs/op
BenchmarkRepeated/input_size_20000
BenchmarkRepeated/input_size_20000-8 120 9157366 ns/op 192.20 MB/s 5584130 B/op 40812 allocs/op
BenchmarkRepeated/input_size_20000-8 127 9129399 ns/op 192.78 MB/s 5584252 B/op 40810 allocs/op
BenchmarkRepeated/input_size_20000-8 118 9052981 ns/op 194.41 MB/s 5584291 B/op 40816 allocs/op
BenchmarkRepeated/input_size_20000-8 123 9051090 ns/op 194.45 MB/s 5584023 B/op 40810 allocs/op
BenchmarkRepeated/input_size_20000-8 122 9295392 ns/op 189.34 MB/s 5584148 B/op 40810 allocs/op
BenchmarkRepeated/input_size_20000-8 122 9185556 ns/op 191.61 MB/s 5584088 B/op 40814 allocs/op
BenchmarkRepeated/input_size_20000-8 120 9186201 ns/op 191.59 MB/s 5584291 B/op 40815 allocs/op
BenchmarkRepeated/input_size_20000-8 124 9201804 ns/op 191.27 MB/s 5584417 B/op 40822 allocs/op
BenchmarkRepeated/input_size_20000-8 124 9085248 ns/op 193.72 MB/s 5584195 B/op 40815 allocs/op
BenchmarkRepeated/input_size_20000-8 123 9100675 ns/op 193.39 MB/s 5584316 B/op 40815 allocs/op
PASS PASS
ok github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark 68.757s ok github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark 117.943s
...@@ -3,60 +3,93 @@ goarch: amd64 ...@@ -3,60 +3,93 @@ goarch: amd64
pkg: github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark pkg: github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark
cpu: Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz cpu: Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz
BenchmarkRepeated BenchmarkRepeated
BenchmarkRepeated/input_size_100
BenchmarkRepeated/input_size_100-8 5694 203058 ns/op 43.34 MB/s 188406 B/op 830 allocs/op
BenchmarkRepeated/input_size_100-8 6213 193237 ns/op 45.54 MB/s 188209 B/op 830 allocs/op
BenchmarkRepeated/input_size_100-8 6325 195312 ns/op 45.06 MB/s 188155 B/op 830 allocs/op
BenchmarkRepeated/input_size_100-8 5516 189930 ns/op 46.33 MB/s 188207 B/op 830 allocs/op
BenchmarkRepeated/input_size_100-8 6348 188265 ns/op 46.74 MB/s 188204 B/op 830 allocs/op
BenchmarkRepeated/input_size_100-8 5312 189058 ns/op 46.55 MB/s 188197 B/op 830 allocs/op
BenchmarkRepeated/input_size_100-8 5334 187518 ns/op 46.93 MB/s 188204 B/op 830 allocs/op
BenchmarkRepeated/input_size_100-8 5552 187125 ns/op 47.03 MB/s 188205 B/op 830 allocs/op
BenchmarkRepeated/input_size_100-8 5472 189904 ns/op 46.34 MB/s 188201 B/op 830 allocs/op
BenchmarkRepeated/input_size_100-8 5398 187404 ns/op 46.96 MB/s 188194 B/op 830 allocs/op
BenchmarkRepeated/input_size_200 BenchmarkRepeated/input_size_200
BenchmarkRepeated/input_size_200-8 4800 240295 ns/op 234338 B/op 1031 allocs/op BenchmarkRepeated/input_size_200-8 4590 239832 ns/op 73.38 MB/s 234140 B/op 1031 allocs/op
BenchmarkRepeated/input_size_200-8 4477 228557 ns/op 234048 B/op 1031 allocs/op BenchmarkRepeated/input_size_200-8 4516 246288 ns/op 71.46 MB/s 234143 B/op 1031 allocs/op
BenchmarkRepeated/input_size_200-8 4873 234021 ns/op 234065 B/op 1031 allocs/op BenchmarkRepeated/input_size_200-8 4681 235289 ns/op 74.80 MB/s 234137 B/op 1031 allocs/op
BenchmarkRepeated/input_size_200-8 4750 237758 ns/op 234036 B/op 1031 allocs/op BenchmarkRepeated/input_size_200-8 4447 247292 ns/op 71.17 MB/s 234137 B/op 1031 allocs/op
BenchmarkRepeated/input_size_200-8 4983 237880 ns/op 234070 B/op 1031 allocs/op BenchmarkRepeated/input_size_200-8 4593 241079 ns/op 73.01 MB/s 234136 B/op 1031 allocs/op
BenchmarkRepeated/input_size_200-8 4378 234818 ns/op 234065 B/op 1031 allocs/op BenchmarkRepeated/input_size_200-8 4513 241271 ns/op 72.95 MB/s 234140 B/op 1031 allocs/op
BenchmarkRepeated/input_size_200-8 4605 236931 ns/op 234138 B/op 1031 allocs/op BenchmarkRepeated/input_size_200-8 4804 239761 ns/op 73.41 MB/s 234140 B/op 1031 allocs/op
BenchmarkRepeated/input_size_200-8 4534 234290 ns/op 234134 B/op 1031 allocs/op BenchmarkRepeated/input_size_200-8 4544 237895 ns/op 73.98 MB/s 234125 B/op 1031 allocs/op
BenchmarkRepeated/input_size_200-8 4399 228892 ns/op 234143 B/op 1031 allocs/op BenchmarkRepeated/input_size_200-8 4396 239111 ns/op 73.61 MB/s 234133 B/op 1031 allocs/op
BenchmarkRepeated/input_size_200-8 5070 251291 ns/op 234162 B/op 1031 allocs/op BenchmarkRepeated/input_size_200-8 4520 241667 ns/op 72.83 MB/s 234144 B/op 1031 allocs/op
BenchmarkRepeated/input_size_500 BenchmarkRepeated/input_size_500
BenchmarkRepeated/input_size_500-8 2894 391024 ns/op 368036 B/op 1650 allocs/op BenchmarkRepeated/input_size_500-8 2887 402188 ns/op 109.40 MB/s 368042 B/op 1650 allocs/op
BenchmarkRepeated/input_size_500-8 2620 394877 ns/op 368055 B/op 1650 allocs/op BenchmarkRepeated/input_size_500-8 3027 401929 ns/op 109.47 MB/s 368052 B/op 1650 allocs/op
BenchmarkRepeated/input_size_500-8 2972 409601 ns/op 368063 B/op 1650 allocs/op BenchmarkRepeated/input_size_500-8 2859 394197 ns/op 111.62 MB/s 368047 B/op 1650 allocs/op
BenchmarkRepeated/input_size_500-8 3022 381495 ns/op 368051 B/op 1650 allocs/op BenchmarkRepeated/input_size_500-8 2811 405032 ns/op 108.63 MB/s 368049 B/op 1650 allocs/op
BenchmarkRepeated/input_size_500-8 2977 401586 ns/op 368051 B/op 1650 allocs/op BenchmarkRepeated/input_size_500-8 2886 414027 ns/op 106.27 MB/s 368049 B/op 1650 allocs/op
BenchmarkRepeated/input_size_500-8 2893 397035 ns/op 368057 B/op 1650 allocs/op BenchmarkRepeated/input_size_500-8 2953 406307 ns/op 108.29 MB/s 368051 B/op 1650 allocs/op
BenchmarkRepeated/input_size_500-8 2920 394944 ns/op 368051 B/op 1650 allocs/op BenchmarkRepeated/input_size_500-8 2836 391173 ns/op 112.48 MB/s 368054 B/op 1650 allocs/op
BenchmarkRepeated/input_size_500-8 2908 397437 ns/op 368052 B/op 1650 allocs/op BenchmarkRepeated/input_size_500-8 2859 413669 ns/op 106.37 MB/s 368053 B/op 1650 allocs/op
BenchmarkRepeated/input_size_500-8 3144 398814 ns/op 368052 B/op 1650 allocs/op BenchmarkRepeated/input_size_500-8 3042 398651 ns/op 110.37 MB/s 368061 B/op 1650 allocs/op
BenchmarkRepeated/input_size_500-8 2844 389704 ns/op 368058 B/op 1650 allocs/op BenchmarkRepeated/input_size_500-8 2828 402082 ns/op 109.43 MB/s 368044 B/op 1650 allocs/op
BenchmarkRepeated/input_size_1000 BenchmarkRepeated/input_size_1000
BenchmarkRepeated/input_size_1000-8 1966 619236 ns/op 567221 B/op 2651 allocs/op BenchmarkRepeated/input_size_1000-8 1700 654912 ns/op 134.37 MB/s 567251 B/op 2651 allocs/op
BenchmarkRepeated/input_size_1000-8 1772 634561 ns/op 567237 B/op 2651 allocs/op BenchmarkRepeated/input_size_1000-8 1791 653851 ns/op 134.59 MB/s 567233 B/op 2651 allocs/op
BenchmarkRepeated/input_size_1000-8 1627 644023 ns/op 567260 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 1794 644854 ns/op 136.47 MB/s 567234 B/op 2651 allocs/op
BenchmarkRepeated/input_size_1000-8 1990 633309 ns/op 567240 B/op 2651 allocs/op BenchmarkRepeated/input_size_1000-8 1668 661167 ns/op 133.10 MB/s 567256 B/op 2651 allocs/op
BenchmarkRepeated/input_size_1000-8 1881 635927 ns/op 567257 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 1597 662501 ns/op 132.83 MB/s 567260 B/op 2651 allocs/op
BenchmarkRepeated/input_size_1000-8 1878 624802 ns/op 567248 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 1549 662552 ns/op 132.82 MB/s 567229 B/op 2651 allocs/op
BenchmarkRepeated/input_size_1000-8 1831 640751 ns/op 567247 B/op 2651 allocs/op BenchmarkRepeated/input_size_1000-8 1688 655490 ns/op 134.25 MB/s 567268 B/op 2652 allocs/op
BenchmarkRepeated/input_size_1000-8 1897 629271 ns/op 567240 B/op 2651 allocs/op BenchmarkRepeated/input_size_1000-8 1514 667790 ns/op 131.78 MB/s 567271 B/op 2652 allocs/op
BenchmarkRepeated/input_size_1000-8 2004 635052 ns/op 567233 B/op 2651 allocs/op BenchmarkRepeated/input_size_1000-8 1975 663148 ns/op 132.70 MB/s 567260 B/op 2652 allocs/op
BenchmarkRepeated/input_size_1000-8 1892 634583 ns/op 567264 B/op 2652 allocs/op BenchmarkRepeated/input_size_1000-8 1899 648360 ns/op 135.73 MB/s 567231 B/op 2651 allocs/op
BenchmarkRepeated/input_size_2000 BenchmarkRepeated/input_size_2000
BenchmarkRepeated/input_size_2000-8 1054 1129774 ns/op 966021 B/op 4672 allocs/op BenchmarkRepeated/input_size_2000-8 954 1154544 ns/op 152.44 MB/s 966011 B/op 4671 allocs/op
BenchmarkRepeated/input_size_2000-8 1056 1105827 ns/op 966039 B/op 4672 allocs/op BenchmarkRepeated/input_size_2000-8 902 1148037 ns/op 153.31 MB/s 966041 B/op 4672 allocs/op
BenchmarkRepeated/input_size_2000-8 1062 1106964 ns/op 966004 B/op 4671 allocs/op BenchmarkRepeated/input_size_2000-8 1022 1147506 ns/op 153.38 MB/s 966051 B/op 4672 allocs/op
BenchmarkRepeated/input_size_2000-8 982 1123194 ns/op 966055 B/op 4672 allocs/op BenchmarkRepeated/input_size_2000-8 883 1165710 ns/op 150.98 MB/s 966048 B/op 4672 allocs/op
BenchmarkRepeated/input_size_2000-8 913 1134517 ns/op 966065 B/op 4672 allocs/op BenchmarkRepeated/input_size_2000-8 909 1165233 ns/op 151.04 MB/s 966076 B/op 4672 allocs/op
BenchmarkRepeated/input_size_2000-8 903 1137445 ns/op 965999 B/op 4670 allocs/op BenchmarkRepeated/input_size_2000-8 963 1162700 ns/op 151.37 MB/s 966022 B/op 4671 allocs/op
BenchmarkRepeated/input_size_2000-8 1056 1098270 ns/op 966036 B/op 4672 allocs/op BenchmarkRepeated/input_size_2000-8 1024 1145474 ns/op 153.65 MB/s 966001 B/op 4671 allocs/op
BenchmarkRepeated/input_size_2000-8 1063 1094722 ns/op 966031 B/op 4672 allocs/op BenchmarkRepeated/input_size_2000-8 937 1161682 ns/op 151.50 MB/s 966028 B/op 4671 allocs/op
BenchmarkRepeated/input_size_2000-8 1057 1103844 ns/op 966023 B/op 4671 allocs/op BenchmarkRepeated/input_size_2000-8 993 1155197 ns/op 152.36 MB/s 965980 B/op 4671 allocs/op
BenchmarkRepeated/input_size_2000-8 1059 1130991 ns/op 966033 B/op 4671 allocs/op BenchmarkRepeated/input_size_2000-8 946 1171051 ns/op 150.29 MB/s 966057 B/op 4672 allocs/op
BenchmarkRepeated/input_size_5000 BenchmarkRepeated/input_size_5000
BenchmarkRepeated/input_size_5000-8 424 2602839 ns/op 2194991 B/op 10711 allocs/op BenchmarkRepeated/input_size_5000-8 406 2656873 ns/op 165.61 MB/s 2195011 B/op 10711 allocs/op
BenchmarkRepeated/input_size_5000-8 415 2573331 ns/op 2195034 B/op 10712 allocs/op BenchmarkRepeated/input_size_5000-8 400 2704418 ns/op 162.70 MB/s 2195024 B/op 10711 allocs/op
BenchmarkRepeated/input_size_5000-8 418 2576632 ns/op 2195144 B/op 10712 allocs/op BenchmarkRepeated/input_size_5000-8 392 2671657 ns/op 164.69 MB/s 2195052 B/op 10711 allocs/op
BenchmarkRepeated/input_size_5000-8 422 2570710 ns/op 2195015 B/op 10711 allocs/op BenchmarkRepeated/input_size_5000-8 410 2622865 ns/op 167.76 MB/s 2194980 B/op 10711 allocs/op
BenchmarkRepeated/input_size_5000-8 424 2591119 ns/op 2195089 B/op 10712 allocs/op BenchmarkRepeated/input_size_5000-8 416 2665583 ns/op 165.07 MB/s 2195057 B/op 10712 allocs/op
BenchmarkRepeated/input_size_5000-8 416 2561439 ns/op 2194942 B/op 10710 allocs/op BenchmarkRepeated/input_size_5000-8 391 2978365 ns/op 147.73 MB/s 2195137 B/op 10714 allocs/op
BenchmarkRepeated/input_size_5000-8 415 2587212 ns/op 2195055 B/op 10712 allocs/op BenchmarkRepeated/input_size_5000-8 444 2655882 ns/op 165.67 MB/s 2195002 B/op 10712 allocs/op
BenchmarkRepeated/input_size_5000-8 412 2615874 ns/op 2195041 B/op 10711 allocs/op BenchmarkRepeated/input_size_5000-8 415 2739235 ns/op 160.63 MB/s 2195053 B/op 10712 allocs/op
BenchmarkRepeated/input_size_5000-8 409 2566280 ns/op 2195019 B/op 10712 allocs/op BenchmarkRepeated/input_size_5000-8 398 2716725 ns/op 161.96 MB/s 2195014 B/op 10711 allocs/op
BenchmarkRepeated/input_size_5000-8 433 2536897 ns/op 2195070 B/op 10712 allocs/op BenchmarkRepeated/input_size_5000-8 392 2701453 ns/op 162.88 MB/s 2195074 B/op 10712 allocs/op
BenchmarkRepeated/input_size_10000
BenchmarkRepeated/input_size_10000-8 219 5259815 ns/op 167.31 MB/s 4221108 B/op 20758 allocs/op
BenchmarkRepeated/input_size_10000-8 212 5177215 ns/op 169.98 MB/s 4221232 B/op 20760 allocs/op
BenchmarkRepeated/input_size_10000-8 212 5253915 ns/op 167.49 MB/s 4221303 B/op 20760 allocs/op
BenchmarkRepeated/input_size_10000-8 222 5286982 ns/op 166.45 MB/s 4221027 B/op 20758 allocs/op
BenchmarkRepeated/input_size_10000-8 212 5306389 ns/op 165.84 MB/s 4221115 B/op 20760 allocs/op
BenchmarkRepeated/input_size_10000-8 207 5278139 ns/op 166.73 MB/s 4221125 B/op 20761 allocs/op
BenchmarkRepeated/input_size_10000-8 222 5213650 ns/op 168.79 MB/s 4221129 B/op 20761 allocs/op
BenchmarkRepeated/input_size_10000-8 218 5303988 ns/op 165.91 MB/s 4220946 B/op 20758 allocs/op
BenchmarkRepeated/input_size_10000-8 213 5240200 ns/op 167.93 MB/s 4220985 B/op 20757 allocs/op
BenchmarkRepeated/input_size_10000-8 208 5285554 ns/op 166.49 MB/s 4221086 B/op 20759 allocs/op
BenchmarkRepeated/input_size_20000
BenchmarkRepeated/input_size_20000-8 115 9983275 ns/op 176.29 MB/s 8288363 B/op 40823 allocs/op
BenchmarkRepeated/input_size_20000-8 112 9942367 ns/op 177.02 MB/s 8288068 B/op 40817 allocs/op
BenchmarkRepeated/input_size_20000-8 110 10108681 ns/op 174.11 MB/s 8288440 B/op 40825 allocs/op
BenchmarkRepeated/input_size_20000-8 114 10075659 ns/op 174.68 MB/s 8288224 B/op 40822 allocs/op
BenchmarkRepeated/input_size_20000-8 114 10176893 ns/op 172.94 MB/s 8288669 B/op 40822 allocs/op
BenchmarkRepeated/input_size_20000-8 111 10130699 ns/op 173.73 MB/s 8288174 B/op 40819 allocs/op
BenchmarkRepeated/input_size_20000-8 114 10004131 ns/op 175.93 MB/s 8288453 B/op 40824 allocs/op
BenchmarkRepeated/input_size_20000-8 114 10021144 ns/op 175.63 MB/s 8288623 B/op 40830 allocs/op
BenchmarkRepeated/input_size_20000-8 111 10057201 ns/op 175.00 MB/s 8288203 B/op 40822 allocs/op
BenchmarkRepeated/input_size_20000-8 110 9996611 ns/op 176.06 MB/s 8288558 B/op 40827 allocs/op
PASS PASS
ok github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark 75.824s ok github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark 116.139s
...@@ -160,9 +160,18 @@ func BenchmarkMetric(b *testing.B) { ...@@ -160,9 +160,18 @@ func BenchmarkMetric(b *testing.B) {
}) })
} }
// This metric is per-operation, so divide by b.N and // This metric is per-operation, so divide by b.N and
// report it as a "/op" unit. // report it as a "/op" unit.
b.ReportMetric(float64(compares)/float64(b.N), "compares/op") //b.ReportMetric(float64(compares)/float64(b.N), "compares/op")
// This metric is per-operation, so divide by b.N and
// report it as a "/op" unit.
//b.ReportMetric(float64(compares)/float64(b.N), "compares/op")
// This metric is per-time, so divide by b.Elapsed and
// report it as a "/ns" unit.
//b.ReportMetric(float64(compares)/float64(b.Elapsed().Nanoseconds()), "compares/ns")
} }
func ExampleB_ReportMetric() { func ExampleB_ReportMetric() {
// This reports a custom benchmark metric relevant to a // This reports a custom benchmark metric relevant to a
......
...@@ -21,34 +21,57 @@ ...@@ -21,34 +21,57 @@
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>time/op<th>delta <tr><th><th colspan='2' class='metric'>time/op<th>delta
<tr class='worse'><td>Repeated/input_size_200-8<td>228µs ± 5%<td>236µs ± 5%<td class='delta'>+3.46%<td class='note'> <tr class='worse'><td>Repeated/input_size_100-8<td>184µs ± 3%<td>190µs ± 3%<td class='delta'>+2.89%<td class='note'>
<tr class='worse'><td>Repeated/input_size_500-8<td>376µs ± 1%<td>400µs ± 3%<td class='delta'>+6.22%<td class='note'> <tr class='worse'><td>Repeated/input_size_200-8<td>234µs ± 4%<td>240µs ± 3%<td class='delta'>+2.70%<td class='note'>
<tr class='worse'><td>Repeated/input_size_1000-8<td>612µs ± 2%<td>634µs ± 1%<td class='delta'>+3.63%<td class='note'> <tr class='worse'><td>Repeated/input_size_500-8<td>386µs ± 4%<td>403µs ± 3%<td class='delta'>+4.27%<td class='note'>
<tr class='worse'><td>Repeated/input_size_2000-8<td>1.06ms ± 1%<td>1.13ms ± 1%<td class='delta'>+6.35%<td class='note'> <tr class='worse'><td>Repeated/input_size_1000-8<td>626µs ± 2%<td>657µs ± 2%<td class='delta'>+5.07%<td class='note'>
<tr class='worse'><td>Repeated/input_size_5000-8<td>2.41ms ± 1%<td>2.64ms ± 3%<td class='delta'>+9.46%<td class='note'> <tr class='worse'><td>Repeated/input_size_2000-8<td>1.09ms ± 2%<td>1.16ms ± 1%<td class='delta'>+5.82%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>669µs <td>708µs <td class='delta'>+5.80%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>2.48ms ± 1%<td>2.68ms ± 2%<td class='delta'>+8.14%<td class='note'>
<tr class='worse'><td>Repeated/input_size_10000-8<td>4.75ms ± 1%<td>5.26ms ± 2%<td class='delta'>+10.69%<td class='note'>
<tr class='worse'><td>Repeated/input_size_20000-8<td>9.14ms ± 2%<td>10.05ms ± 1%<td class='delta'>+9.90%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>1.03ms <td>1.09ms <td class='delta'>+6.15%<td class='note'>
<tr><td>&nbsp;
</tbody>
<tbody>
<tr><th><th colspan='2' class='metric'>speed<th>delta
<tr class='worse'><td>Repeated/input_size_100-8<td>47.7MB/s ± 3%<td>46.4MB/s ± 3%<td class='delta'>−2.80%<td class='note'>
<tr class='worse'><td>Repeated/input_size_200-8<td>75.3MB/s ± 4%<td>73.3MB/s ± 2%<td class='delta'>−2.67%<td class='note'>
<tr class='worse'><td>Repeated/input_size_500-8<td>114MB/s ± 4%<td>109MB/s ± 3%<td class='delta'>−4.11%<td class='note'>
<tr class='worse'><td>Repeated/input_size_1000-8<td>141MB/s ± 2%<td>134MB/s ± 2%<td class='delta'>−4.83%<td class='note'>
<tr class='worse'><td>Repeated/input_size_2000-8<td>161MB/s ± 2%<td>152MB/s ± 1%<td class='delta'>−5.51%<td class='note'>
<tr class='worse'><td>Repeated/input_size_5000-8<td>177MB/s ± 1%<td>164MB/s ± 2%<td class='delta'>−7.52%<td class='note'>
<tr class='worse'><td>Repeated/input_size_10000-8<td>185MB/s ± 1%<td>167MB/s ± 2%<td class='delta'>−9.65%<td class='note'>
<tr class='worse'><td>Repeated/input_size_20000-8<td>192MB/s ± 2%<td>175MB/s ± 1%<td class='delta'>−9.01%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>125MB/s <td>117MB/s <td class='delta'>−5.79%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>alloc/op<th>delta <tr><th><th colspan='2' class='metric'>alloc/op<th>delta
<tr class='worse'><td>Repeated/input_size_200-8<td>207kB ± 0%<td>234kB ± 0%<td class='delta'>+13.28%<td class='note'> <tr class='worse'><td>Repeated/input_size_100-8<td>174kB ± 0%<td>188kB ± 0%<td class='delta'>+7.88%<td class='note'>
<tr class='worse'><td>Repeated/input_size_200-8<td>207kB ± 0%<td>234kB ± 0%<td class='delta'>+13.24%<td class='note'>
<tr class='worse'><td>Repeated/input_size_500-8<td>294kB ± 0%<td>368kB ± 0%<td class='delta'>+25.05%<td class='note'> <tr class='worse'><td>Repeated/input_size_500-8<td>294kB ± 0%<td>368kB ± 0%<td class='delta'>+25.05%<td class='note'>
<tr class='worse'><td>Repeated/input_size_1000-8<td>428kB ± 0%<td>567kB ± 0%<td class='delta'>+32.56%<td class='note'> <tr class='worse'><td>Repeated/input_size_1000-8<td>428kB ± 0%<td>567kB ± 0%<td class='delta'>+32.56%<td class='note'>
<tr class='worse'><td>Repeated/input_size_2000-8<td>696kB ± 0%<td>966kB ± 0%<td class='delta'>+38.89%<td class='note'> <tr class='worse'><td>Repeated/input_size_2000-8<td>696kB ± 0%<td>966kB ± 0%<td class='delta'>+38.89%<td class='note'>
<tr class='worse'><td>Repeated/input_size_5000-8<td>1.51MB ± 0%<td>2.20MB ± 0%<td class='delta'>+44.91%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>1.51MB ± 0%<td>2.20MB ± 0%<td class='delta'>+44.91%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>487kB <td>635kB <td class='delta'>+30.46%<td class='note'> <tr class='worse'><td>Repeated/input_size_10000-8<td>2.87MB ± 0%<td>4.22MB ± 0%<td class='delta'>+47.14%<td class='note'>
<tr class='worse'><td>Repeated/input_size_20000-8<td>5.58MB ± 0%<td>8.29MB ± 0%<td class='delta'>+48.43%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>725kB <td>953kB <td class='delta'>+31.43%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>allocs/op<th>delta <tr><th><th colspan='2' class='metric'>allocs/op<th>delta
<tr class='worse'><td>Repeated/input_size_100-8<td>826 ± 0%<td>830 ± 0%<td class='delta'>+0.48%<td class='note'>
<tr class='worse'><td>Repeated/input_size_200-8<td>1.03k ± 0%<td>1.03k ± 0%<td class='delta'>+0.19%<td class='note'> <tr class='worse'><td>Repeated/input_size_200-8<td>1.03k ± 0%<td>1.03k ± 0%<td class='delta'>+0.19%<td class='note'>
<tr class='better'><td>Repeated/input_size_500-8<td>1.65k ± 0%<td>1.65k ± 0%<td class='delta'>−0.10%<td class='note'> <tr class='better'><td>Repeated/input_size_500-8<td>1.65k ± 0%<td>1.65k ± 0%<td class='delta'>−0.08%<td class='note'>
<tr class='better'><td>Repeated/input_size_1000-8<td>2.65k ± 0%<td>2.65k ± 0%<td class='delta'>−0.02%<td class='note'> <tr class='better'><td>Repeated/input_size_1000-8<td>2.65k ± 0%<td>2.65k ± 0%<td class='delta'>−0.01%<td class='note'>
<tr class='worse'><td>Repeated/input_size_2000-8<td>4.67k ± 0%<td>4.67k ± 0%<td class='delta'>+0.03%<td class='note'> <tr class='worse'><td>Repeated/input_size_2000-8<td>4.67k ± 0%<td>4.67k ± 0%<td class='delta'>+0.03%<td class='note'>
<tr class='worse'><td>Repeated/input_size_5000-8<td>10.7k ± 0%<td>10.7k ± 0%<td class='delta'>+0.02%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>10.7k ± 0%<td>10.7k ± 0%<td class='delta'>+0.03%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>2.96k <td>2.96k <td class='delta'>+0.03%<td class='note'> <tr class='worse'><td>Repeated/input_size_10000-8<td>20.8k ± 0%<td>20.8k ± 0%<td class='delta'>+0.03%<td class='note'>
<tr class='worse'><td>Repeated/input_size_20000-8<td>40.8k ± 0%<td>40.8k ± 0%<td class='delta'>+0.02%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>4.46k <td>4.47k <td class='delta'>+0.09%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
......
...@@ -20,11 +20,15 @@ import ( ...@@ -20,11 +20,15 @@ import (
var tableTx = []struct { var tableTx = []struct {
input int input int
}{ }{
{input: 100},
{input: 200}, {input: 200},
{input: 500}, {input: 500},
{input: 1000}, {input: 1000},
{input: 2000}, {input: 2000},
{input: 5000}, {input: 5000},
{input: 10000},
{input: 20000},
// {input: 50000},
} }
func RepeatedEthTx(txl int, b *testing.B) { func RepeatedEthTx(txl int, b *testing.B) {
...@@ -88,10 +92,11 @@ func RepeatedEthTx(txl int, b *testing.B) { ...@@ -88,10 +92,11 @@ func RepeatedEthTx(txl int, b *testing.B) {
txs := make([]*base.TransactionEth, 0, txl) txs := make([]*base.TransactionEth, 0, txl)
for i := 0; i < txl; i++ { for i := 0; i < txl; i++ {
b.SetBytes(88)
txs = append(txs, &base.TransactionEth{Tx: &base.EthTx{Inner: &inner}}) txs = append(txs, &base.TransactionEth{Tx: &base.EthTx{Inner: &inner}})
} }
b.SetBytes(88 * int64(txl))
res, err := c.SendRepeatedEthTx(ctx, &base.RepeatedEthTx{Txs: txs}) res, err := c.SendRepeatedEthTx(ctx, &base.RepeatedEthTx{Txs: txs})
if err != nil { if err != nil {
...@@ -171,10 +176,11 @@ func RepeatedTxEthAsAny(txl int, b *testing.B) { ...@@ -171,10 +176,11 @@ func RepeatedTxEthAsAny(txl int, b *testing.B) {
txs := make([]*base.TransactionEth, 0, txl) txs := make([]*base.TransactionEth, 0, txl)
for i := 0; i < txl; i++ { for i := 0; i < txl; i++ {
b.SetBytes(88)
txs = append(txs, &base.TransactionEth{Tx: &base.EthTx{Inner: &inner}}) txs = append(txs, &base.TransactionEth{Tx: &base.EthTx{Inner: &inner}})
} }
b.SetBytes(88 * int64(txl))
ethTxAsAny, err := anypb.New(&base.RepeatedEthTx{Txs: txs}) ethTxAsAny, err := anypb.New(&base.RepeatedEthTx{Txs: txs})
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
...@@ -204,15 +210,22 @@ func RepeatedTxEthAsAny(txl int, b *testing.B) { ...@@ -204,15 +210,22 @@ func RepeatedTxEthAsAny(txl int, b *testing.B) {
// Small p-values indicate that the two distributions are significantly different. // Small p-values indicate that the two distributions are significantly different.
// If the test indicates that there was no significant change between the two benchmarks (defined as p > 0.05), // If the test indicates that there was no significant change between the two benchmarks (defined as p > 0.05),
// benchstat displays a single ~ instead of the percent change. // benchstat displays a single ~ instead of the percent change.
/*
benchstat -geomean -delta-test utest -html RepeatedEthTx.txt RepeatedTxEthAsAny.txt > utest.html
benchstat -geomean -delta-test ttest -html RepeatedEthTx.txt RepeatedTxEthAsAny.txt > ttest.html
benchstat -geomean -delta-test none -html RepeatedEthTx.txt RepeatedTxEthAsAny.txt > none.html
*/
func BenchmarkRepeated(b *testing.B) { func BenchmarkRepeated(b *testing.B) {
for _, v := range tableTx { for _, v := range tableTx {
b.Run(fmt.Sprintf("input_size_%d", v.input), func(b *testing.B) { b.Run(fmt.Sprintf("input_size_%d", v.input), func(b *testing.B) {
//go test -v -run BenchmarkAnyTxEth -bench BenchmarkRepeated -benchmem -count 10 | tee RepeatedEthTx.txt //go test -v -run BenchmarkAnyTxEth -bench BenchmarkRepeated -benchmem -count 10 | tee RepeatedEthTx.txt
//RepeatedEthTx(v.input, b) //RepeatedEthTx(v.input, b)
//go test -v -run BenchmarkAnyTxEth -bench BenchmarkRepeated -benchmem -count 10 | tee RepeatedTxEthAsAny.txt //go test -v -run BenchmarkAnyTxEth -bench BenchmarkRepeated -benchmem -count 10 | tee RepeatedTxEthAsAny.txt
//benchstat -geomean -delta-test utest -html RepeatedEthTx.txt RepeatedTxEthAsAny.txt
//benchstat -geomean -delta-test ttest -html RepeatedEthTx.txt RepeatedTxEthAsAny.txt
//benchstat -geomean -delta-test none -html RepeatedEthTx.txt RepeatedTxEthAsAny.txt
RepeatedTxEthAsAny(v.input, b) RepeatedTxEthAsAny(v.input, b)
}) })
......
...@@ -21,34 +21,57 @@ ...@@ -21,34 +21,57 @@
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>time/op<th>delta <tr><th><th colspan='2' class='metric'>time/op<th>delta
<tr class='unchanged'><td>Repeated/input_size_200-8<td>228µs ± 5%<td>236µs ± 5%<td class='nodelta'>~<td class='note'>(p=0.108 n=5+5) <tr class='worse'><td>Repeated/input_size_100-8<td>184µs ± 3%<td>190µs ± 3%<td class='delta'>+2.89%<td class='note'>(p=0.001 n=10+9)
<tr class='worse'><td>Repeated/input_size_500-8<td>376µs ± 1%<td>400µs ± 3%<td class='delta'>+6.22%<td class='note'>(p=0.004 n=5+5) <tr class='worse'><td>Repeated/input_size_200-8<td>234µs ± 4%<td>240µs ± 3%<td class='delta'>+2.70%<td class='note'>(p=0.009 n=10+9)
<tr class='worse'><td>Repeated/input_size_1000-8<td>612µs ± 2%<td>634µs ± 1%<td class='delta'>+3.63%<td class='note'>(p=0.001 n=5+5) <tr class='worse'><td>Repeated/input_size_500-8<td>386µs ± 4%<td>403µs ± 3%<td class='delta'>+4.27%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_2000-8<td>1.06ms ± 1%<td>1.13ms ± 1%<td class='delta'>+6.35%<td class='note'>(p=0.000 n=5+5) <tr class='worse'><td>Repeated/input_size_1000-8<td>626µs ± 2%<td>657µs ± 2%<td class='delta'>+5.07%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_5000-8<td>2.41ms ± 1%<td>2.64ms ± 3%<td class='delta'>+9.46%<td class='note'>(p=0.000 n=5+5) <tr class='worse'><td>Repeated/input_size_2000-8<td>1.09ms ± 2%<td>1.16ms ± 1%<td class='delta'>+5.82%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>[Geo mean]<td>669µs <td>708µs <td class='delta'>+5.80%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>2.48ms ± 1%<td>2.68ms ± 2%<td class='delta'>+8.14%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_10000-8<td>4.75ms ± 1%<td>5.26ms ± 2%<td class='delta'>+10.69%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_20000-8<td>9.14ms ± 2%<td>10.05ms ± 1%<td class='delta'>+9.90%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>[Geo mean]<td>1.03ms <td>1.09ms <td class='delta'>+6.15%<td class='note'>
<tr><td>&nbsp;
</tbody>
<tbody>
<tr><th><th colspan='2' class='metric'>speed<th>delta
<tr class='worse'><td>Repeated/input_size_100-8<td>47.7MB/s ± 3%<td>46.4MB/s ± 3%<td class='delta'>−2.80%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_200-8<td>75.3MB/s ± 4%<td>73.3MB/s ± 2%<td class='delta'>−2.67%<td class='note'>(p=0.010 n=10+9)
<tr class='worse'><td>Repeated/input_size_500-8<td>114MB/s ± 4%<td>109MB/s ± 3%<td class='delta'>−4.11%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_1000-8<td>141MB/s ± 2%<td>134MB/s ± 2%<td class='delta'>−4.83%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_2000-8<td>161MB/s ± 2%<td>152MB/s ± 1%<td class='delta'>−5.51%<td class='note'>(p=0.000 n=10+10)
<tr class='worse'><td>Repeated/input_size_5000-8<td>177MB/s ± 1%<td>164MB/s ± 2%<td class='delta'>−7.52%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_10000-8<td>185MB/s ± 1%<td>167MB/s ± 2%<td class='delta'>−9.65%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_20000-8<td>192MB/s ± 2%<td>175MB/s ± 1%<td class='delta'>−9.01%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>[Geo mean]<td>125MB/s <td>117MB/s <td class='delta'>−5.79%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>alloc/op<th>delta <tr><th><th colspan='2' class='metric'>alloc/op<th>delta
<tr class='worse'><td>Repeated/input_size_200-8<td>207kB ± 0%<td>234kB ± 0%<td class='delta'>+13.28%<td class='note'>(p=0.000 n=4+5) <tr class='worse'><td>Repeated/input_size_100-8<td>174kB ± 0%<td>188kB ± 0%<td class='delta'>+7.88%<td class='note'>(p=0.000 n=8+8)
<tr class='worse'><td>Repeated/input_size_500-8<td>294kB ± 0%<td>368kB ± 0%<td class='delta'>+25.05%<td class='note'>(p=0.000 n=5+5) <tr class='worse'><td>Repeated/input_size_200-8<td>207kB ± 0%<td>234kB ± 0%<td class='delta'>+13.24%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_1000-8<td>428kB ± 0%<td>567kB ± 0%<td class='delta'>+32.56%<td class='note'>(p=0.000 n=5+5) <tr class='worse'><td>Repeated/input_size_500-8<td>294kB ± 0%<td>368kB ± 0%<td class='delta'>+25.05%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_2000-8<td>696kB ± 0%<td>966kB ± 0%<td class='delta'>+38.89%<td class='note'>(p=0.000 n=5+5) <tr class='worse'><td>Repeated/input_size_1000-8<td>428kB ± 0%<td>567kB ± 0%<td class='delta'>+32.56%<td class='note'>(p=0.000 n=10+10)
<tr class='worse'><td>Repeated/input_size_5000-8<td>1.51MB ± 0%<td>2.20MB ± 0%<td class='delta'>+44.91%<td class='note'>(p=0.000 n=5+5) <tr class='worse'><td>Repeated/input_size_2000-8<td>696kB ± 0%<td>966kB ± 0%<td class='delta'>+38.89%<td class='note'>(p=0.000 n=9+10)
<tr class='unchanged'><td>[Geo mean]<td>487kB <td>635kB <td class='delta'>+30.46%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>1.51MB ± 0%<td>2.20MB ± 0%<td class='delta'>+44.91%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_10000-8<td>2.87MB ± 0%<td>4.22MB ± 0%<td class='delta'>+47.14%<td class='note'>(p=0.000 n=10+10)
<tr class='worse'><td>Repeated/input_size_20000-8<td>5.58MB ± 0%<td>8.29MB ± 0%<td class='delta'>+48.43%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>[Geo mean]<td>725kB <td>953kB <td class='delta'>+31.43%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>allocs/op<th>delta <tr><th><th colspan='2' class='metric'>allocs/op<th>delta
<tr class='unchanged'><td>Repeated/input_size_100-8<td>826 ± 0%<td>830 ± 0%<td class='nodelta'>~<td class='note'>(zero variance)
<tr class='unchanged'><td>Repeated/input_size_200-8<td>1.03k ± 0%<td>1.03k ± 0%<td class='nodelta'>~<td class='note'>(zero variance) <tr class='unchanged'><td>Repeated/input_size_200-8<td>1.03k ± 0%<td>1.03k ± 0%<td class='nodelta'>~<td class='note'>(zero variance)
<tr class='better'><td>Repeated/input_size_500-8<td>1.65k ± 0%<td>1.65k ± 0%<td class='delta'>−0.10%<td class='note'>(p=0.003 n=5+4) <tr class='better'><td>Repeated/input_size_500-8<td>1.65k ± 0%<td>1.65k ± 0%<td class='delta'>−0.08%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>Repeated/input_size_1000-8<td>2.65k ± 0%<td>2.65k ± 0%<td class='nodelta'>~<td class='note'>(p=0.070 n=5+5) <tr class='unchanged'><td>Repeated/input_size_1000-8<td>2.65k ± 0%<td>2.65k ± 0%<td class='nodelta'>~<td class='note'>(p=0.196 n=10+10)
<tr class='worse'><td>Repeated/input_size_2000-8<td>4.67k ± 0%<td>4.67k ± 0%<td class='delta'>+0.03%<td class='note'>(p=0.003 n=5+5) <tr class='worse'><td>Repeated/input_size_2000-8<td>4.67k ± 0%<td>4.67k ± 0%<td class='delta'>+0.03%<td class='note'>(p=0.000 n=7+10)
<tr class='worse'><td>Repeated/input_size_5000-8<td>10.7k ± 0%<td>10.7k ± 0%<td class='delta'>+0.02%<td class='note'>(p=0.033 n=5+5) <tr class='worse'><td>Repeated/input_size_5000-8<td>10.7k ± 0%<td>10.7k ± 0%<td class='delta'>+0.03%<td class='note'>(p=0.000 n=10+9)
<tr class='unchanged'><td>[Geo mean]<td>2.96k <td>2.96k <td class='delta'>+0.03%<td class='note'> <tr class='worse'><td>Repeated/input_size_10000-8<td>20.8k ± 0%<td>20.8k ± 0%<td class='delta'>+0.03%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_20000-8<td>40.8k ± 0%<td>40.8k ± 0%<td class='delta'>+0.02%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>[Geo mean]<td>4.46k <td>4.47k <td class='delta'>+0.09%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
......
...@@ -21,34 +21,57 @@ ...@@ -21,34 +21,57 @@
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>time/op<th>delta <tr><th><th colspan='2' class='metric'>time/op<th>delta
<tr class='unchanged'><td>Repeated/input_size_200-8<td>228µs ± 5%<td>236µs ± 5%<td class='nodelta'>~<td class='note'>(p=0.095 n=5+5) <tr class='worse'><td>Repeated/input_size_100-8<td>184µs ± 3%<td>190µs ± 3%<td class='delta'>+2.89%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_500-8<td>376µs ± 1%<td>400µs ± 3%<td class='delta'>+6.22%<td class='note'>(p=0.008 n=5+5) <tr class='worse'><td>Repeated/input_size_200-8<td>234µs ± 4%<td>240µs ± 3%<td class='delta'>+2.70%<td class='note'>(p=0.022 n=10+9)
<tr class='worse'><td>Repeated/input_size_1000-8<td>612µs ± 2%<td>634µs ± 1%<td class='delta'>+3.63%<td class='note'>(p=0.008 n=5+5) <tr class='worse'><td>Repeated/input_size_500-8<td>386µs ± 4%<td>403µs ± 3%<td class='delta'>+4.27%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_2000-8<td>1.06ms ± 1%<td>1.13ms ± 1%<td class='delta'>+6.35%<td class='note'>(p=0.008 n=5+5) <tr class='worse'><td>Repeated/input_size_1000-8<td>626µs ± 2%<td>657µs ± 2%<td class='delta'>+5.07%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_5000-8<td>2.41ms ± 1%<td>2.64ms ± 3%<td class='delta'>+9.46%<td class='note'>(p=0.008 n=5+5) <tr class='worse'><td>Repeated/input_size_2000-8<td>1.09ms ± 2%<td>1.16ms ± 1%<td class='delta'>+5.82%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>[Geo mean]<td>669µs <td>708µs <td class='delta'>+5.80%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>2.48ms ± 1%<td>2.68ms ± 2%<td class='delta'>+8.14%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_10000-8<td>4.75ms ± 1%<td>5.26ms ± 2%<td class='delta'>+10.69%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_20000-8<td>9.14ms ± 2%<td>10.05ms ± 1%<td class='delta'>+9.90%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>[Geo mean]<td>1.03ms <td>1.09ms <td class='delta'>+6.15%<td class='note'>
<tr><td>&nbsp;
</tbody>
<tbody>
<tr><th><th colspan='2' class='metric'>speed<th>delta
<tr class='worse'><td>Repeated/input_size_100-8<td>47.7MB/s ± 3%<td>46.4MB/s ± 3%<td class='delta'>−2.80%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_200-8<td>75.3MB/s ± 4%<td>73.3MB/s ± 2%<td class='delta'>−2.67%<td class='note'>(p=0.022 n=10+9)
<tr class='worse'><td>Repeated/input_size_500-8<td>114MB/s ± 4%<td>109MB/s ± 3%<td class='delta'>−4.11%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_1000-8<td>141MB/s ± 2%<td>134MB/s ± 2%<td class='delta'>−4.83%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_2000-8<td>161MB/s ± 2%<td>152MB/s ± 1%<td class='delta'>−5.51%<td class='note'>(p=0.000 n=10+10)
<tr class='worse'><td>Repeated/input_size_5000-8<td>177MB/s ± 1%<td>164MB/s ± 2%<td class='delta'>−7.52%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_10000-8<td>185MB/s ± 1%<td>167MB/s ± 2%<td class='delta'>−9.65%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_20000-8<td>192MB/s ± 2%<td>175MB/s ± 1%<td class='delta'>−9.01%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>[Geo mean]<td>125MB/s <td>117MB/s <td class='delta'>−5.79%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>alloc/op<th>delta <tr><th><th colspan='2' class='metric'>alloc/op<th>delta
<tr class='worse'><td>Repeated/input_size_200-8<td>207kB ± 0%<td>234kB ± 0%<td class='delta'>+13.28%<td class='note'>(p=0.016 n=4+5) <tr class='worse'><td>Repeated/input_size_100-8<td>174kB ± 0%<td>188kB ± 0%<td class='delta'>+7.88%<td class='note'>(p=0.000 n=8+8)
<tr class='worse'><td>Repeated/input_size_500-8<td>294kB ± 0%<td>368kB ± 0%<td class='delta'>+25.05%<td class='note'>(p=0.008 n=5+5) <tr class='worse'><td>Repeated/input_size_200-8<td>207kB ± 0%<td>234kB ± 0%<td class='delta'>+13.24%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_1000-8<td>428kB ± 0%<td>567kB ± 0%<td class='delta'>+32.56%<td class='note'>(p=0.008 n=5+5) <tr class='worse'><td>Repeated/input_size_500-8<td>294kB ± 0%<td>368kB ± 0%<td class='delta'>+25.05%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_2000-8<td>696kB ± 0%<td>966kB ± 0%<td class='delta'>+38.89%<td class='note'>(p=0.008 n=5+5) <tr class='worse'><td>Repeated/input_size_1000-8<td>428kB ± 0%<td>567kB ± 0%<td class='delta'>+32.56%<td class='note'>(p=0.000 n=10+10)
<tr class='worse'><td>Repeated/input_size_5000-8<td>1.51MB ± 0%<td>2.20MB ± 0%<td class='delta'>+44.91%<td class='note'>(p=0.008 n=5+5) <tr class='worse'><td>Repeated/input_size_2000-8<td>696kB ± 0%<td>966kB ± 0%<td class='delta'>+38.89%<td class='note'>(p=0.000 n=9+10)
<tr class='unchanged'><td>[Geo mean]<td>487kB <td>635kB <td class='delta'>+30.46%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>1.51MB ± 0%<td>2.20MB ± 0%<td class='delta'>+44.91%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_10000-8<td>2.87MB ± 0%<td>4.22MB ± 0%<td class='delta'>+47.14%<td class='note'>(p=0.000 n=10+10)
<tr class='worse'><td>Repeated/input_size_20000-8<td>5.58MB ± 0%<td>8.29MB ± 0%<td class='delta'>+48.43%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>[Geo mean]<td>725kB <td>953kB <td class='delta'>+31.43%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>allocs/op<th>delta <tr><th><th colspan='2' class='metric'>allocs/op<th>delta
<tr class='worse'><td>Repeated/input_size_200-8<td>1.03k ± 0%<td>1.03k ± 0%<td class='delta'>+0.19%<td class='note'>(p=0.016 n=4+5) <tr class='worse'><td>Repeated/input_size_100-8<td>826 ± 0%<td>830 ± 0%<td class='delta'>+0.48%<td class='note'>(p=0.000 n=8+10)
<tr class='better'><td>Repeated/input_size_500-8<td>1.65k ± 0%<td>1.65k ± 0%<td class='delta'>−0.10%<td class='note'>(p=0.000 n=5+4) <tr class='worse'><td>Repeated/input_size_200-8<td>1.03k ± 0%<td>1.03k ± 0%<td class='delta'>+0.19%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>Repeated/input_size_1000-8<td>2.65k ± 0%<td>2.65k ± 0%<td class='nodelta'>~<td class='note'>(p=0.167 n=5+5) <tr class='better'><td>Repeated/input_size_500-8<td>1.65k ± 0%<td>1.65k ± 0%<td class='delta'>−0.08%<td class='note'>(p=0.000 n=10+10)
<tr class='worse'><td>Repeated/input_size_2000-8<td>4.67k ± 0%<td>4.67k ± 0%<td class='delta'>+0.03%<td class='note'>(p=0.008 n=5+5) <tr class='unchanged'><td>Repeated/input_size_1000-8<td>2.65k ± 0%<td>2.65k ± 0%<td class='nodelta'>~<td class='note'>(p=0.370 n=10+10)
<tr class='unchanged'><td>Repeated/input_size_5000-8<td>10.7k ± 0%<td>10.7k ± 0%<td class='nodelta'>~<td class='note'>(p=0.071 n=5+5) <tr class='worse'><td>Repeated/input_size_2000-8<td>4.67k ± 0%<td>4.67k ± 0%<td class='delta'>+0.03%<td class='note'>(p=0.000 n=7+10)
<tr class='unchanged'><td>[Geo mean]<td>2.96k <td>2.96k <td class='delta'>+0.03%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>10.7k ± 0%<td>10.7k ± 0%<td class='delta'>+0.03%<td class='note'>(p=0.000 n=10+9)
<tr class='worse'><td>Repeated/input_size_10000-8<td>20.8k ± 0%<td>20.8k ± 0%<td class='delta'>+0.03%<td class='note'>(p=0.000 n=9+10)
<tr class='worse'><td>Repeated/input_size_20000-8<td>40.8k ± 0%<td>40.8k ± 0%<td class='delta'>+0.02%<td class='note'>(p=0.000 n=10+10)
<tr class='unchanged'><td>[Geo mean]<td>4.46k <td>4.47k <td class='delta'>+0.09%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment