Commit a3a612d8 authored by Ubuntu's avatar Ubuntu

add tps

parent 44089981
...@@ -4,92 +4,252 @@ pkg: github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark ...@@ -4,92 +4,252 @@ 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
BenchmarkRepeated/input_size_100-8 5492 211396 ns/op 41.63 MB/s 226067 B/op 2111 allocs/op BenchmarkRepeated/input_size_100-8 5354 215812 ns/op 62.78 MB/s 4634 tps 253875 B/op 2123 allocs/op
BenchmarkRepeated/input_size_100-8 5193 203678 ns/op 43.21 MB/s 225738 B/op 2110 allocs/op BenchmarkRepeated/input_size_100-8 5103 212988 ns/op 63.61 MB/s 4695 tps 253511 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5778 210527 ns/op 41.80 MB/s 225803 B/op 2111 allocs/op BenchmarkRepeated/input_size_100-8 5265 214639 ns/op 63.12 MB/s 4659 tps 253505 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5203 214482 ns/op 41.03 MB/s 225745 B/op 2111 allocs/op BenchmarkRepeated/input_size_100-8 5073 207863 ns/op 65.18 MB/s 4811 tps 253515 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5024 207920 ns/op 42.32 MB/s 225821 B/op 2111 allocs/op BenchmarkRepeated/input_size_100-8 5172 210654 ns/op 64.32 MB/s 4747 tps 253508 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5052 206481 ns/op 42.62 MB/s 225845 B/op 2111 allocs/op BenchmarkRepeated/input_size_100-8 5241 211967 ns/op 63.92 MB/s 4718 tps 253568 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5316 203135 ns/op 43.32 MB/s 225844 B/op 2111 allocs/op BenchmarkRepeated/input_size_100-8 5097 211979 ns/op 63.92 MB/s 4717 tps 253601 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5650 205378 ns/op 42.85 MB/s 225830 B/op 2110 allocs/op BenchmarkRepeated/input_size_100-8 5074 207968 ns/op 65.15 MB/s 4808 tps 253607 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5390 214351 ns/op 41.05 MB/s 225832 B/op 2110 allocs/op BenchmarkRepeated/input_size_100-8 5169 219785 ns/op 61.65 MB/s 4550 tps 253607 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5266 202110 ns/op 43.54 MB/s 225841 B/op 2111 allocs/op BenchmarkRepeated/input_size_100-8 5269 210668 ns/op 64.31 MB/s 4747 tps 253596 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5270 209685 ns/op 64.62 MB/s 4769 tps 253599 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5199 215535 ns/op 62.86 MB/s 4640 tps 253592 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5146 206768 ns/op 65.53 MB/s 4836 tps 253596 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5088 209751 ns/op 64.60 MB/s 4768 tps 253608 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5084 209739 ns/op 64.60 MB/s 4768 tps 253582 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5262 213463 ns/op 63.47 MB/s 4685 tps 253604 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5124 207937 ns/op 65.16 MB/s 4809 tps 253605 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5106 213187 ns/op 63.55 MB/s 4691 tps 253607 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5467 216637 ns/op 62.54 MB/s 4616 tps 253647 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5149 210551 ns/op 64.35 MB/s 4749 tps 253604 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4962 212257 ns/op 63.83 MB/s 4711 tps 253599 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5282 202462 ns/op 66.92 MB/s 4939 tps 253597 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4993 214361 ns/op 63.21 MB/s 4665 tps 253604 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4963 207333 ns/op 65.35 MB/s 4823 tps 253605 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4988 213317 ns/op 63.52 MB/s 4688 tps 253600 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5234 207565 ns/op 65.28 MB/s 4818 tps 253593 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5157 211094 ns/op 64.18 MB/s 4737 tps 253604 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5148 206289 ns/op 65.68 MB/s 4848 tps 253600 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5114 208338 ns/op 65.03 MB/s 4800 tps 253595 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5200 213336 ns/op 63.51 MB/s 4687 tps 253593 B/op 2122 allocs/op
BenchmarkRepeated/input_size_200 BenchmarkRepeated/input_size_200
BenchmarkRepeated/input_size_200-8 3746 274354 ns/op 64.15 MB/s 310075 B/op 3611 allocs/op BenchmarkRepeated/input_size_200-8 3937 278136 ns/op 97.26 MB/s 3595 tps 365232 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3664 275192 ns/op 63.96 MB/s 310068 B/op 3611 allocs/op BenchmarkRepeated/input_size_200-8 3800 281287 ns/op 96.17 MB/s 3555 tps 365247 B/op 3624 allocs/op
BenchmarkRepeated/input_size_200-8 4048 273979 ns/op 64.24 MB/s 310059 B/op 3611 allocs/op BenchmarkRepeated/input_size_200-8 4460 283111 ns/op 95.55 MB/s 3532 tps 365207 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3810 276201 ns/op 63.72 MB/s 310071 B/op 3611 allocs/op BenchmarkRepeated/input_size_200-8 3898 286982 ns/op 94.26 MB/s 3485 tps 365228 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3872 268383 ns/op 65.58 MB/s 310053 B/op 3611 allocs/op BenchmarkRepeated/input_size_200-8 3838 288482 ns/op 93.77 MB/s 3466 tps 365241 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3746 274967 ns/op 64.01 MB/s 310069 B/op 3611 allocs/op BenchmarkRepeated/input_size_200-8 3643 278941 ns/op 96.98 MB/s 3585 tps 365221 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 4238 282182 ns/op 62.37 MB/s 310071 B/op 3611 allocs/op BenchmarkRepeated/input_size_200-8 3735 290439 ns/op 93.14 MB/s 3443 tps 365231 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3812 275052 ns/op 63.99 MB/s 310071 B/op 3611 allocs/op BenchmarkRepeated/input_size_200-8 3754 284573 ns/op 95.06 MB/s 3514 tps 365250 B/op 3624 allocs/op
BenchmarkRepeated/input_size_200-8 3796 267406 ns/op 65.82 MB/s 310066 B/op 3611 allocs/op BenchmarkRepeated/input_size_200-8 3739 279416 ns/op 96.81 MB/s 3579 tps 365239 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 4257 271826 ns/op 64.75 MB/s 310060 B/op 3611 allocs/op BenchmarkRepeated/input_size_200-8 3763 285826 ns/op 94.64 MB/s 3499 tps 365238 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3865 285503 ns/op 94.75 MB/s 3503 tps 365238 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3800 286599 ns/op 94.39 MB/s 3489 tps 365228 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 4105 286243 ns/op 94.50 MB/s 3494 tps 365236 B/op 3624 allocs/op
BenchmarkRepeated/input_size_200-8 3880 290468 ns/op 93.13 MB/s 3443 tps 365239 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3663 274201 ns/op 98.65 MB/s 3647 tps 365224 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3688 283713 ns/op 95.35 MB/s 3525 tps 365227 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3729 289573 ns/op 93.42 MB/s 3453 tps 365242 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3763 287146 ns/op 94.21 MB/s 3483 tps 365241 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3786 275284 ns/op 98.27 MB/s 3633 tps 365228 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 4168 278086 ns/op 97.28 MB/s 3596 tps 365228 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3760 285484 ns/op 94.75 MB/s 3503 tps 365232 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3697 287611 ns/op 94.05 MB/s 3477 tps 365233 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3830 276699 ns/op 97.76 MB/s 3614 tps 365246 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 4045 287549 ns/op 94.07 MB/s 3478 tps 365250 B/op 3624 allocs/op
BenchmarkRepeated/input_size_200-8 3804 283904 ns/op 95.28 MB/s 3522 tps 365237 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3800 289140 ns/op 93.56 MB/s 3459 tps 365237 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3903 284960 ns/op 94.93 MB/s 3509 tps 365222 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3692 285281 ns/op 94.82 MB/s 3505 tps 365244 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3838 280844 ns/op 96.32 MB/s 3561 tps 365225 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3873 278410 ns/op 97.16 MB/s 3592 tps 365223 B/op 3623 allocs/op
BenchmarkRepeated/input_size_500 BenchmarkRepeated/input_size_500
BenchmarkRepeated/input_size_500-8 2217 486855 ns/op 90.38 MB/s 553582 B/op 8131 allocs/op BenchmarkRepeated/input_size_500-8 2113 511509 ns/op 132.06 MB/s 1955 tps 701715 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2312 485825 ns/op 90.57 MB/s 553585 B/op 8132 allocs/op BenchmarkRepeated/input_size_500-8 2186 521739 ns/op 129.47 MB/s 1917 tps 701695 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2191 489524 ns/op 89.88 MB/s 553565 B/op 8131 allocs/op BenchmarkRepeated/input_size_500-8 2162 518347 ns/op 130.32 MB/s 1929 tps 701701 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2115 499201 ns/op 88.14 MB/s 553579 B/op 8131 allocs/op BenchmarkRepeated/input_size_500-8 2169 516949 ns/op 130.67 MB/s 1934 tps 701694 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2302 497128 ns/op 88.51 MB/s 553575 B/op 8131 allocs/op BenchmarkRepeated/input_size_500-8 2107 513584 ns/op 131.53 MB/s 1947 tps 701712 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2294 494314 ns/op 89.01 MB/s 553579 B/op 8131 allocs/op BenchmarkRepeated/input_size_500-8 2168 528633 ns/op 127.78 MB/s 1892 tps 701708 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2391 486841 ns/op 90.38 MB/s 553582 B/op 8132 allocs/op BenchmarkRepeated/input_size_500-8 2200 518066 ns/op 130.39 MB/s 1930 tps 701693 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2281 483849 ns/op 90.94 MB/s 553566 B/op 8131 allocs/op BenchmarkRepeated/input_size_500-8 2179 506847 ns/op 133.28 MB/s 1973 tps 701713 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2290 494446 ns/op 88.99 MB/s 553569 B/op 8131 allocs/op BenchmarkRepeated/input_size_500-8 2156 520904 ns/op 129.68 MB/s 1920 tps 701716 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2337 482401 ns/op 91.21 MB/s 553580 B/op 8131 allocs/op BenchmarkRepeated/input_size_500-8 1935 529816 ns/op 127.50 MB/s 1887 tps 701707 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2154 516084 ns/op 130.89 MB/s 1938 tps 701707 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 1882 535006 ns/op 125.33 MB/s 1869 tps 701711 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2098 520634 ns/op 129.75 MB/s 1921 tps 701695 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2304 534631 ns/op 126.35 MB/s 1870 tps 701694 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2067 512192 ns/op 131.89 MB/s 1952 tps 701727 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2215 530709 ns/op 127.28 MB/s 1884 tps 701697 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2134 509996 ns/op 132.45 MB/s 1961 tps 701698 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2268 521585 ns/op 129.51 MB/s 1917 tps 701814 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2259 530969 ns/op 127.22 MB/s 1883 tps 701819 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2139 529046 ns/op 127.68 MB/s 1890 tps 701835 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2295 515587 ns/op 131.02 MB/s 1940 tps 701807 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2124 520017 ns/op 129.90 MB/s 1923 tps 701816 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2119 514793 ns/op 131.22 MB/s 1943 tps 701820 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2299 532952 ns/op 126.75 MB/s 1876 tps 701797 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2154 510942 ns/op 132.21 MB/s 1957 tps 701825 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2118 530636 ns/op 127.30 MB/s 1885 tps 701822 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2296 526603 ns/op 128.28 MB/s 1899 tps 701814 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2182 515408 ns/op 131.06 MB/s 1940 tps 701824 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2191 526906 ns/op 128.20 MB/s 1898 tps 701821 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2154 518881 ns/op 130.19 MB/s 1927 tps 701813 B/op 8144 allocs/op
BenchmarkRepeated/input_size_1000 BenchmarkRepeated/input_size_1000
BenchmarkRepeated/input_size_1000-8 1459 828202 ns/op 106.25 MB/s 947283 B/op 15633 allocs/op BenchmarkRepeated/input_size_1000-8 1329 898604 ns/op 150.29 MB/s 1113 tps 1226650 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1464 834919 ns/op 105.40 MB/s 947293 B/op 15634 allocs/op BenchmarkRepeated/input_size_1000-8 1291 900556 ns/op 149.96 MB/s 1110 tps 1226636 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1466 827579 ns/op 106.33 MB/s 947286 B/op 15633 allocs/op BenchmarkRepeated/input_size_1000-8 1369 898981 ns/op 150.23 MB/s 1112 tps 1226649 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1443 860770 ns/op 102.23 MB/s 947269 B/op 15633 allocs/op BenchmarkRepeated/input_size_1000-8 1147 898222 ns/op 150.35 MB/s 1113 tps 1226639 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1371 850108 ns/op 103.52 MB/s 947292 B/op 15633 allocs/op BenchmarkRepeated/input_size_1000-8 1302 893215 ns/op 151.20 MB/s 1120 tps 1226645 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1455 834312 ns/op 105.48 MB/s 947274 B/op 15633 allocs/op BenchmarkRepeated/input_size_1000-8 1261 898420 ns/op 150.32 MB/s 1113 tps 1226655 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1225 854090 ns/op 103.03 MB/s 947310 B/op 15634 allocs/op BenchmarkRepeated/input_size_1000-8 1334 901683 ns/op 149.78 MB/s 1109 tps 1226645 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1398 850404 ns/op 103.48 MB/s 947306 B/op 15634 allocs/op BenchmarkRepeated/input_size_1000-8 1178 913785 ns/op 147.79 MB/s 1094 tps 1226653 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1432 826916 ns/op 106.42 MB/s 947263 B/op 15633 allocs/op BenchmarkRepeated/input_size_1000-8 1323 1005911 ns/op 134.26 MB/s 994.1 tps 1226645 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1438 839658 ns/op 104.80 MB/s 947299 B/op 15633 allocs/op BenchmarkRepeated/input_size_1000-8 1069 1040527 ns/op 129.79 MB/s 961.0 tps 1226682 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1137 1038156 ns/op 130.09 MB/s 963.2 tps 1226652 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1159 1027091 ns/op 131.49 MB/s 973.6 tps 1226652 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1165 1054961 ns/op 128.02 MB/s 947.9 tps 1226682 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1051 1035192 ns/op 130.46 MB/s 966.0 tps 1226656 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 981 1041401 ns/op 129.68 MB/s 960.2 tps 1226653 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1134 1037511 ns/op 130.17 MB/s 963.8 tps 1226632 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 969 1038856 ns/op 130.00 MB/s 962.6 tps 1226699 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1052 1049612 ns/op 128.67 MB/s 952.7 tps 1226660 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1158 1024421 ns/op 131.83 MB/s 976.1 tps 1226658 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 982 1045569 ns/op 129.17 MB/s 956.4 tps 1226668 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1080 1041561 ns/op 129.66 MB/s 960.1 tps 1226716 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1114 1015032 ns/op 133.05 MB/s 985.2 tps 1226665 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1144 1028838 ns/op 131.27 MB/s 972.0 tps 1226662 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1150 1041181 ns/op 129.71 MB/s 960.4 tps 1226647 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1063 1045331 ns/op 129.19 MB/s 956.6 tps 1226705 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 937 1067843 ns/op 126.47 MB/s 936.4 tps 1226674 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1122 1045034 ns/op 129.23 MB/s 956.9 tps 1226685 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1222 1019449 ns/op 132.47 MB/s 980.9 tps 1226652 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1051 1034277 ns/op 130.58 MB/s 966.9 tps 1226679 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1192 1032811 ns/op 130.76 MB/s 968.2 tps 1226648 B/op 15647 allocs/op
BenchmarkRepeated/input_size_2000 BenchmarkRepeated/input_size_2000
BenchmarkRepeated/input_size_2000-8 663 1558679 ns/op 112.92 MB/s 1735176 B/op 30655 allocs/op BenchmarkRepeated/input_size_2000-8 565 1922587 ns/op 140.46 MB/s 520.1 tps 2276792 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 646 1550763 ns/op 113.49 MB/s 1735183 B/op 30655 allocs/op BenchmarkRepeated/input_size_2000-8 554 1940279 ns/op 139.18 MB/s 515.4 tps 2276791 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 662 1591399 ns/op 110.59 MB/s 1735194 B/op 30655 allocs/op BenchmarkRepeated/input_size_2000-8 525 1940614 ns/op 139.16 MB/s 515.3 tps 2276830 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 675 1561267 ns/op 112.73 MB/s 1735210 B/op 30655 allocs/op BenchmarkRepeated/input_size_2000-8 547 1960243 ns/op 137.76 MB/s 510.1 tps 2276815 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 722 1552060 ns/op 113.40 MB/s 1735163 B/op 30655 allocs/op BenchmarkRepeated/input_size_2000-8 520 1973390 ns/op 136.85 MB/s 506.7 tps 2276876 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 703 1540397 ns/op 114.26 MB/s 1735121 B/op 30655 allocs/op BenchmarkRepeated/input_size_2000-8 537 1922480 ns/op 140.47 MB/s 520.2 tps 2276779 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 658 1548893 ns/op 113.63 MB/s 1735189 B/op 30655 allocs/op BenchmarkRepeated/input_size_2000-8 544 1938236 ns/op 139.33 MB/s 515.9 tps 2276829 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 676 1562476 ns/op 112.64 MB/s 1735131 B/op 30654 allocs/op BenchmarkRepeated/input_size_2000-8 537 1933208 ns/op 139.69 MB/s 517.3 tps 2276829 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 708 1556974 ns/op 113.04 MB/s 1735173 B/op 30655 allocs/op BenchmarkRepeated/input_size_2000-8 546 1929926 ns/op 139.93 MB/s 518.1 tps 2276824 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 692 1558532 ns/op 112.93 MB/s 1735237 B/op 30656 allocs/op BenchmarkRepeated/input_size_2000-8 550 2019083 ns/op 133.75 MB/s 495.3 tps 2276864 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 568 2026875 ns/op 133.24 MB/s 493.4 tps 2276768 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 684 1654367 ns/op 163.24 MB/s 604.5 tps 2276766 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 702 1630997 ns/op 165.57 MB/s 613.1 tps 2276743 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 646 1675996 ns/op 161.13 MB/s 596.7 tps 2276806 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 627 1709104 ns/op 158.01 MB/s 585.1 tps 2276789 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 632 1701475 ns/op 158.72 MB/s 587.7 tps 2276716 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 606 1676377 ns/op 161.09 MB/s 596.5 tps 2276768 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 638 1690357 ns/op 159.76 MB/s 591.6 tps 2276769 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 624 1653480 ns/op 163.32 MB/s 604.8 tps 2276753 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 642 1697866 ns/op 159.05 MB/s 589.0 tps 2276809 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 613 1705669 ns/op 158.33 MB/s 586.3 tps 2276694 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 616 1693920 ns/op 159.42 MB/s 590.3 tps 2276791 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 662 1621707 ns/op 166.52 MB/s 616.6 tps 2276734 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 596 1705522 ns/op 158.34 MB/s 586.3 tps 2276805 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 628 1702589 ns/op 158.61 MB/s 587.3 tps 2276721 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 634 1699037 ns/op 158.94 MB/s 588.6 tps 2276861 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 627 1687068 ns/op 160.07 MB/s 592.7 tps 2276818 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 649 1670580 ns/op 161.65 MB/s 598.6 tps 2276826 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 620 1663860 ns/op 162.30 MB/s 601.0 tps 2276715 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 650 1666700 ns/op 162.03 MB/s 600.0 tps 2276741 B/op 30668 allocs/op
BenchmarkRepeated/input_size_5000 BenchmarkRepeated/input_size_5000
BenchmarkRepeated/input_size_5000-8 318 3651981 ns/op 120.48 MB/s 4114844 B/op 75697 allocs/op BenchmarkRepeated/input_size_5000-8 282 4006665 ns/op 168.48 MB/s 249.6 tps 5476025 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 314 3638005 ns/op 120.95 MB/s 4114816 B/op 75696 allocs/op BenchmarkRepeated/input_size_5000-8 284 3969123 ns/op 170.08 MB/s 251.9 tps 5475993 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 308 3699074 ns/op 118.95 MB/s 4114919 B/op 75698 allocs/op BenchmarkRepeated/input_size_5000-8 280 3890434 ns/op 173.52 MB/s 257.0 tps 5475938 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 306 3654359 ns/op 120.40 MB/s 4114906 B/op 75697 allocs/op BenchmarkRepeated/input_size_5000-8 277 3939928 ns/op 171.34 MB/s 253.8 tps 5475955 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 310 3652287 ns/op 120.47 MB/s 4114735 B/op 75694 allocs/op BenchmarkRepeated/input_size_5000-8 282 4087040 ns/op 165.17 MB/s 244.7 tps 5475871 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 312 3663100 ns/op 120.12 MB/s 4114864 B/op 75697 allocs/op BenchmarkRepeated/input_size_5000-8 276 3943437 ns/op 171.18 MB/s 253.6 tps 5476066 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 307 3633758 ns/op 121.09 MB/s 4114966 B/op 75697 allocs/op BenchmarkRepeated/input_size_5000-8 272 3949893 ns/op 170.90 MB/s 253.2 tps 5475888 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 309 3621530 ns/op 121.50 MB/s 4114837 B/op 75697 allocs/op BenchmarkRepeated/input_size_5000-8 280 4038933 ns/op 167.14 MB/s 247.6 tps 5476012 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 313 3699568 ns/op 118.93 MB/s 4114806 B/op 75696 allocs/op BenchmarkRepeated/input_size_5000-8 283 4013566 ns/op 168.19 MB/s 249.1 tps 5475944 B/op 75710 allocs/op
BenchmarkRepeated/input_size_5000-8 312 3625014 ns/op 121.38 MB/s 4114856 B/op 75697 allocs/op BenchmarkRepeated/input_size_5000-8 283 4002996 ns/op 168.64 MB/s 249.8 tps 5476009 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 292 3965574 ns/op 170.23 MB/s 252.2 tps 5475859 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 278 4037635 ns/op 167.19 MB/s 247.7 tps 5476151 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 272 4007171 ns/op 168.46 MB/s 249.5 tps 5475890 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 277 4025983 ns/op 167.67 MB/s 248.4 tps 5475961 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 277 3981942 ns/op 169.53 MB/s 251.1 tps 5476117 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 271 4033490 ns/op 167.36 MB/s 247.9 tps 5476102 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 276 3962968 ns/op 170.34 MB/s 252.3 tps 5475995 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 276 4019756 ns/op 167.93 MB/s 248.8 tps 5476059 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 282 3966737 ns/op 170.18 MB/s 252.1 tps 5476030 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 264 4086386 ns/op 165.20 MB/s 244.7 tps 5475991 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 283 4031156 ns/op 167.46 MB/s 248.1 tps 5475888 B/op 75711 allocs/op
BenchmarkRepeated/input_size_5000-8 288 3938892 ns/op 171.38 MB/s 253.9 tps 5475912 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 279 3948239 ns/op 170.98 MB/s 253.3 tps 5475994 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 288 3928843 ns/op 171.82 MB/s 254.5 tps 5475983 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 279 4007579 ns/op 168.44 MB/s 249.5 tps 5475878 B/op 75711 allocs/op
BenchmarkRepeated/input_size_5000-8 278 3947619 ns/op 171.00 MB/s 253.3 tps 5475974 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 273 3970411 ns/op 170.02 MB/s 251.9 tps 5475976 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 277 3939248 ns/op 171.37 MB/s 253.9 tps 5476123 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 283 4027695 ns/op 167.60 MB/s 248.3 tps 5476121 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 280 3951109 ns/op 170.85 MB/s 253.1 tps 5475884 B/op 75712 allocs/op
BenchmarkRepeated/input_size_10000 BenchmarkRepeated/input_size_10000
BenchmarkRepeated/input_size_10000-8 162 7035427 ns/op 125.08 MB/s 8069254 B/op 150745 allocs/op BenchmarkRepeated/input_size_10000-8 148 7902491 ns/op 170.84 MB/s 126.5 tps 10773878 B/op 150756 allocs/op
BenchmarkRepeated/input_size_10000-8 160 6984526 ns/op 125.99 MB/s 8069415 B/op 150746 allocs/op BenchmarkRepeated/input_size_10000-8 144 7608680 ns/op 177.44 MB/s 131.4 tps 10773718 B/op 150760 allocs/op
BenchmarkRepeated/input_size_10000-8 164 7118594 ns/op 123.62 MB/s 8069177 B/op 150747 allocs/op BenchmarkRepeated/input_size_10000-8 147 7851093 ns/op 171.96 MB/s 127.4 tps 10773822 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 162 7025696 ns/op 125.25 MB/s 8069185 B/op 150745 allocs/op BenchmarkRepeated/input_size_10000-8 151 7860893 ns/op 171.74 MB/s 127.2 tps 10773835 B/op 150761 allocs/op
BenchmarkRepeated/input_size_10000-8 160 7036445 ns/op 125.06 MB/s 8069243 B/op 150742 allocs/op BenchmarkRepeated/input_size_10000-8 146 7678551 ns/op 175.82 MB/s 130.2 tps 10773715 B/op 150758 allocs/op
BenchmarkRepeated/input_size_10000-8 166 7001108 ns/op 125.69 MB/s 8069074 B/op 150742 allocs/op BenchmarkRepeated/input_size_10000-8 145 7805639 ns/op 172.96 MB/s 128.1 tps 10773712 B/op 150758 allocs/op
BenchmarkRepeated/input_size_10000-8 165 7105788 ns/op 123.84 MB/s 8069306 B/op 150744 allocs/op BenchmarkRepeated/input_size_10000-8 150 7898258 ns/op 170.93 MB/s 126.6 tps 10774057 B/op 150760 allocs/op
BenchmarkRepeated/input_size_10000-8 162 7087787 ns/op 124.16 MB/s 8068902 B/op 150741 allocs/op BenchmarkRepeated/input_size_10000-8 145 7551867 ns/op 178.77 MB/s 132.4 tps 10773744 B/op 150758 allocs/op
BenchmarkRepeated/input_size_10000-8 164 7058969 ns/op 124.66 MB/s 8069188 B/op 150742 allocs/op BenchmarkRepeated/input_size_10000-8 150 7719153 ns/op 174.90 MB/s 129.5 tps 10773737 B/op 150757 allocs/op
BenchmarkRepeated/input_size_10000-8 157 6997605 ns/op 125.76 MB/s 8069388 B/op 150746 allocs/op BenchmarkRepeated/input_size_10000-8 146 7780850 ns/op 173.51 MB/s 128.5 tps 10773708 B/op 150757 allocs/op
BenchmarkRepeated/input_size_10000-8 152 7793085 ns/op 173.24 MB/s 128.3 tps 10773980 B/op 150762 allocs/op
BenchmarkRepeated/input_size_10000-8 148 7682008 ns/op 175.74 MB/s 130.2 tps 10773614 B/op 150756 allocs/op
BenchmarkRepeated/input_size_10000-8 145 7613925 ns/op 177.31 MB/s 131.3 tps 10773793 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 141 7598050 ns/op 177.68 MB/s 131.6 tps 10773946 B/op 150761 allocs/op
BenchmarkRepeated/input_size_10000-8 139 7740425 ns/op 174.42 MB/s 129.2 tps 10773684 B/op 150757 allocs/op
BenchmarkRepeated/input_size_10000-8 145 7790216 ns/op 173.30 MB/s 128.4 tps 10773654 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 147 7732761 ns/op 174.59 MB/s 129.3 tps 10773894 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 150 7670079 ns/op 176.02 MB/s 130.4 tps 10773878 B/op 150758 allocs/op
BenchmarkRepeated/input_size_10000-8 144 7671900 ns/op 175.97 MB/s 130.3 tps 10773733 B/op 150757 allocs/op
BenchmarkRepeated/input_size_10000-8 148 7787514 ns/op 173.36 MB/s 128.4 tps 10773792 B/op 150758 allocs/op
BenchmarkRepeated/input_size_10000-8 148 7625248 ns/op 177.05 MB/s 131.1 tps 10773829 B/op 150760 allocs/op
BenchmarkRepeated/input_size_10000-8 144 7695998 ns/op 175.42 MB/s 129.9 tps 10773778 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 146 7847920 ns/op 172.03 MB/s 127.4 tps 10773708 B/op 150760 allocs/op
BenchmarkRepeated/input_size_10000-8 150 7661056 ns/op 176.22 MB/s 130.5 tps 10773908 B/op 150761 allocs/op
BenchmarkRepeated/input_size_10000-8 147 7681714 ns/op 175.75 MB/s 130.2 tps 10773802 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 147 7708744 ns/op 175.13 MB/s 129.7 tps 10773870 B/op 150758 allocs/op
BenchmarkRepeated/input_size_10000-8 147 7836468 ns/op 172.28 MB/s 127.6 tps 10773777 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 150 7579211 ns/op 178.13 MB/s 131.9 tps 10773939 B/op 150762 allocs/op
BenchmarkRepeated/input_size_10000-8 150 8039020 ns/op 167.94 MB/s 124.4 tps 10773973 B/op 150763 allocs/op
BenchmarkRepeated/input_size_10000-8 146 7542214 ns/op 179.00 MB/s 132.6 tps 10773884 B/op 150760 allocs/op
BenchmarkRepeated/input_size_20000 BenchmarkRepeated/input_size_20000
BenchmarkRepeated/input_size_20000-8 81 13427222 ns/op 131.08 MB/s 15984129 B/op 300805 allocs/op BenchmarkRepeated/input_size_20000-8 76 15019743 ns/op 179.77 MB/s 66.58 tps 21392320 B/op 300817 allocs/op
BenchmarkRepeated/input_size_20000-8 80 13645709 ns/op 128.98 MB/s 15984296 B/op 300806 allocs/op BenchmarkRepeated/input_size_20000-8 75 14834201 ns/op 182.02 MB/s 67.41 tps 21392330 B/op 300817 allocs/op
BenchmarkRepeated/input_size_20000-8 82 13763927 ns/op 127.87 MB/s 15984502 B/op 300803 allocs/op BenchmarkRepeated/input_size_20000-8 75 14859530 ns/op 181.71 MB/s 67.30 tps 21392378 B/op 300824 allocs/op
BenchmarkRepeated/input_size_20000-8 80 13484259 ns/op 130.52 MB/s 15984524 B/op 300804 allocs/op BenchmarkRepeated/input_size_20000-8 75 14829772 ns/op 182.07 MB/s 67.43 tps 21392318 B/op 300819 allocs/op
BenchmarkRepeated/input_size_20000-8 80 14005289 ns/op 125.67 MB/s 15984325 B/op 300804 allocs/op BenchmarkRepeated/input_size_20000-8 75 15385540 ns/op 175.49 MB/s 65.00 tps 21392001 B/op 300819 allocs/op
BenchmarkRepeated/input_size_20000-8 82 13596567 ns/op 129.44 MB/s 15984605 B/op 300804 allocs/op BenchmarkRepeated/input_size_20000-8 60 17557242 ns/op 153.79 MB/s 56.96 tps 21391900 B/op 300813 allocs/op
BenchmarkRepeated/input_size_20000-8 84 13715392 ns/op 128.32 MB/s 15984360 B/op 300803 allocs/op BenchmarkRepeated/input_size_20000-8 64 17082625 ns/op 158.06 MB/s 58.54 tps 21392561 B/op 300823 allocs/op
BenchmarkRepeated/input_size_20000-8 82 13490116 ns/op 130.47 MB/s 15984427 B/op 300812 allocs/op BenchmarkRepeated/input_size_20000-8 68 16723838 ns/op 161.45 MB/s 59.79 tps 21392289 B/op 300815 allocs/op
BenchmarkRepeated/input_size_20000-8 84 13690826 ns/op 128.55 MB/s 15984430 B/op 300807 allocs/op BenchmarkRepeated/input_size_20000-8 66 16845576 ns/op 160.28 MB/s 59.36 tps 21392700 B/op 300825 allocs/op
BenchmarkRepeated/input_size_20000-8 81 13820266 ns/op 127.35 MB/s 15984688 B/op 300813 allocs/op BenchmarkRepeated/input_size_20000-8 66 16788788 ns/op 160.82 MB/s 59.56 tps 21392020 B/op 300818 allocs/op
BenchmarkRepeated/input_size_20000-8 68 16833238 ns/op 160.40 MB/s 59.41 tps 21392362 B/op 300819 allocs/op
BenchmarkRepeated/input_size_20000-8 67 17459462 ns/op 154.65 MB/s 57.27 tps 21391939 B/op 300826 allocs/op
BenchmarkRepeated/input_size_20000-8 66 15359042 ns/op 175.80 MB/s 65.11 tps 21392334 B/op 300822 allocs/op
BenchmarkRepeated/input_size_20000-8 76 14693705 ns/op 183.76 MB/s 68.05 tps 21392639 B/op 300829 allocs/op
BenchmarkRepeated/input_size_20000-8 76 14904969 ns/op 181.15 MB/s 67.09 tps 21392528 B/op 300819 allocs/op
BenchmarkRepeated/input_size_20000-8 76 15466058 ns/op 174.58 MB/s 64.66 tps 21391954 B/op 300809 allocs/op
BenchmarkRepeated/input_size_20000-8 78 15009605 ns/op 179.89 MB/s 66.62 tps 21391837 B/op 300818 allocs/op
BenchmarkRepeated/input_size_20000-8 73 15080814 ns/op 179.04 MB/s 66.31 tps 21392229 B/op 300822 allocs/op
BenchmarkRepeated/input_size_20000-8 75 14577368 ns/op 185.22 MB/s 68.60 tps 21392148 B/op 300822 allocs/op
BenchmarkRepeated/input_size_20000-8 75 14973644 ns/op 180.32 MB/s 66.78 tps 21392388 B/op 300823 allocs/op
BenchmarkRepeated/input_size_20000-8 75 14885947 ns/op 181.38 MB/s 67.18 tps 21392154 B/op 300820 allocs/op
BenchmarkRepeated/input_size_20000-8 78 14863245 ns/op 181.66 MB/s 67.28 tps 21392635 B/op 300822 allocs/op
BenchmarkRepeated/input_size_20000-8 76 15034778 ns/op 179.59 MB/s 66.51 tps 21392140 B/op 300821 allocs/op
BenchmarkRepeated/input_size_20000-8 76 14744601 ns/op 183.12 MB/s 67.82 tps 21392344 B/op 300815 allocs/op
BenchmarkRepeated/input_size_20000-8 76 14757377 ns/op 182.96 MB/s 67.76 tps 21392313 B/op 300828 allocs/op
BenchmarkRepeated/input_size_20000-8 73 14871576 ns/op 181.56 MB/s 67.24 tps 21392077 B/op 300814 allocs/op
BenchmarkRepeated/input_size_20000-8 74 14826698 ns/op 180.76 MB/s 67.44 tps 21342890 B/op 300808 allocs/op
BenchmarkRepeated/input_size_20000-8 74 14833809 ns/op 182.02 MB/s 67.41 tps 21392228 B/op 300817 allocs/op
BenchmarkRepeated/input_size_20000-8 80 14829076 ns/op 182.08 MB/s 67.43 tps 21392166 B/op 300818 allocs/op
BenchmarkRepeated/input_size_20000-8 75 15022027 ns/op 179.74 MB/s 66.57 tps 21392118 B/op 300815 allocs/op
PASS PASS
ok github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark 112.955s ok github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark 342.727s
...@@ -4,92 +4,252 @@ pkg: github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark ...@@ -4,92 +4,252 @@ 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
BenchmarkRepeated/input_size_100-8 5401 219337 ns/op 40.12 MB/s 239808 B/op 2114 allocs/op BenchmarkRepeated/input_size_100-8 5110 222753 ns/op 60.83 MB/s 4489 tps 253842 B/op 2123 allocs/op
BenchmarkRepeated/input_size_100-8 5137 210053 ns/op 41.89 MB/s 239415 B/op 2112 allocs/op BenchmarkRepeated/input_size_100-8 5496 217537 ns/op 62.28 MB/s 4597 tps 253631 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4830 218419 ns/op 40.29 MB/s 239457 B/op 2113 allocs/op BenchmarkRepeated/input_size_100-8 5122 219980 ns/op 61.59 MB/s 4546 tps 253506 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5262 216414 ns/op 40.66 MB/s 239470 B/op 2113 allocs/op BenchmarkRepeated/input_size_100-8 5452 208001 ns/op 65.14 MB/s 4808 tps 253509 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5044 207608 ns/op 42.39 MB/s 239463 B/op 2113 allocs/op BenchmarkRepeated/input_size_100-8 5037 214631 ns/op 63.13 MB/s 4659 tps 253551 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5184 207866 ns/op 42.34 MB/s 239536 B/op 2113 allocs/op BenchmarkRepeated/input_size_100-8 5090 217929 ns/op 62.17 MB/s 4589 tps 253608 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5269 205273 ns/op 42.87 MB/s 239559 B/op 2113 allocs/op BenchmarkRepeated/input_size_100-8 5116 215237 ns/op 62.95 MB/s 4646 tps 253592 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5658 218625 ns/op 40.25 MB/s 239645 B/op 2114 allocs/op BenchmarkRepeated/input_size_100-8 5113 213546 ns/op 63.45 MB/s 4683 tps 253605 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5229 212086 ns/op 41.49 MB/s 239554 B/op 2113 allocs/op BenchmarkRepeated/input_size_100-8 5022 215134 ns/op 62.98 MB/s 4648 tps 253591 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4970 209728 ns/op 41.96 MB/s 239564 B/op 2113 allocs/op BenchmarkRepeated/input_size_100-8 5062 218706 ns/op 61.95 MB/s 4572 tps 253611 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5104 213766 ns/op 63.38 MB/s 4678 tps 253600 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5032 215032 ns/op 63.01 MB/s 4650 tps 253604 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5049 207689 ns/op 65.24 MB/s 4815 tps 253601 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5341 210830 ns/op 64.27 MB/s 4743 tps 253608 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5660 214010 ns/op 63.31 MB/s 4673 tps 253630 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4976 212463 ns/op 63.77 MB/s 4707 tps 253602 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5080 207759 ns/op 65.22 MB/s 4813 tps 253608 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5138 212662 ns/op 63.71 MB/s 4702 tps 253597 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5060 221682 ns/op 61.12 MB/s 4511 tps 253610 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5145 210412 ns/op 64.39 MB/s 4752 tps 253593 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4976 210343 ns/op 64.41 MB/s 4754 tps 253607 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5334 210894 ns/op 64.25 MB/s 4742 tps 253599 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4966 224630 ns/op 60.32 MB/s 4452 tps 253598 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5625 210153 ns/op 64.47 MB/s 4758 tps 253598 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5019 217155 ns/op 62.39 MB/s 4605 tps 253593 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5022 208464 ns/op 64.99 MB/s 4797 tps 253600 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5025 212852 ns/op 63.65 MB/s 4698 tps 253605 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4917 205715 ns/op 65.86 MB/s 4861 tps 253605 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 4743 217717 ns/op 62.23 MB/s 4593 tps 253608 B/op 2122 allocs/op
BenchmarkRepeated/input_size_100-8 5089 211758 ns/op 63.98 MB/s 4722 tps 253595 B/op 2122 allocs/op
BenchmarkRepeated/input_size_200 BenchmarkRepeated/input_size_200
BenchmarkRepeated/input_size_200-8 3645 274740 ns/op 64.06 MB/s 337484 B/op 3614 allocs/op BenchmarkRepeated/input_size_200-8 3661 291288 ns/op 92.87 MB/s 3433 tps 365228 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 4334 290118 ns/op 60.66 MB/s 337493 B/op 3614 allocs/op BenchmarkRepeated/input_size_200-8 3757 274628 ns/op 98.50 MB/s 3641 tps 365227 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3789 276171 ns/op 63.73 MB/s 337477 B/op 3614 allocs/op BenchmarkRepeated/input_size_200-8 4240 285654 ns/op 94.70 MB/s 3501 tps 365237 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3870 271569 ns/op 64.81 MB/s 337484 B/op 3614 allocs/op BenchmarkRepeated/input_size_200-8 3757 277146 ns/op 97.61 MB/s 3608 tps 365237 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3853 272490 ns/op 64.59 MB/s 337483 B/op 3614 allocs/op BenchmarkRepeated/input_size_200-8 3609 277745 ns/op 97.40 MB/s 3600 tps 365235 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3981 285943 ns/op 61.55 MB/s 337498 B/op 3614 allocs/op BenchmarkRepeated/input_size_200-8 3782 285897 ns/op 94.62 MB/s 3498 tps 365244 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 4030 274082 ns/op 64.21 MB/s 337495 B/op 3614 allocs/op BenchmarkRepeated/input_size_200-8 3800 283183 ns/op 95.52 MB/s 3531 tps 365231 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 4251 295783 ns/op 59.50 MB/s 337492 B/op 3614 allocs/op BenchmarkRepeated/input_size_200-8 3739 279661 ns/op 96.73 MB/s 3576 tps 365239 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3770 279289 ns/op 63.02 MB/s 337488 B/op 3614 allocs/op BenchmarkRepeated/input_size_200-8 3621 282386 ns/op 95.79 MB/s 3541 tps 365238 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3794 279399 ns/op 62.99 MB/s 337495 B/op 3614 allocs/op BenchmarkRepeated/input_size_200-8 4264 277323 ns/op 97.54 MB/s 3606 tps 365229 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3804 281604 ns/op 96.06 MB/s 3551 tps 365235 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 4192 288112 ns/op 93.89 MB/s 3471 tps 365239 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3660 276930 ns/op 97.68 MB/s 3611 tps 365245 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3703 290221 ns/op 93.21 MB/s 3446 tps 365210 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3823 286055 ns/op 94.57 MB/s 3495 tps 365240 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3698 282000 ns/op 95.93 MB/s 3546 tps 365230 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3715 290177 ns/op 93.22 MB/s 3446 tps 365242 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3645 285571 ns/op 94.73 MB/s 3502 tps 365236 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3576 284478 ns/op 95.09 MB/s 3515 tps 365184 B/op 3622 allocs/op
BenchmarkRepeated/input_size_200-8 3832 289394 ns/op 93.47 MB/s 3455 tps 365237 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3682 295154 ns/op 91.65 MB/s 3388 tps 365241 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3595 281789 ns/op 96.00 MB/s 3549 tps 365245 B/op 3624 allocs/op
BenchmarkRepeated/input_size_200-8 4268 284084 ns/op 95.22 MB/s 3520 tps 365237 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3792 288551 ns/op 93.75 MB/s 3466 tps 365239 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3825 286659 ns/op 94.37 MB/s 3488 tps 365230 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3650 284540 ns/op 95.07 MB/s 3514 tps 365232 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3720 284502 ns/op 95.08 MB/s 3515 tps 365220 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3636 289834 ns/op 93.33 MB/s 3450 tps 365242 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3624 302089 ns/op 89.55 MB/s 3310 tps 365231 B/op 3623 allocs/op
BenchmarkRepeated/input_size_200-8 3693 278152 ns/op 97.25 MB/s 3595 tps 365229 B/op 3623 allocs/op
BenchmarkRepeated/input_size_500 BenchmarkRepeated/input_size_500
BenchmarkRepeated/input_size_500-8 2352 523228 ns/op 84.09 MB/s 627482 B/op 8135 allocs/op BenchmarkRepeated/input_size_500-8 2110 517539 ns/op 130.52 MB/s 1932 tps 701703 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2223 512582 ns/op 85.84 MB/s 627496 B/op 8135 allocs/op BenchmarkRepeated/input_size_500-8 2088 539764 ns/op 125.15 MB/s 1853 tps 701721 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2316 510262 ns/op 86.23 MB/s 627495 B/op 8135 allocs/op BenchmarkRepeated/input_size_500-8 2229 529916 ns/op 127.48 MB/s 1887 tps 701695 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2238 501470 ns/op 87.74 MB/s 627494 B/op 8135 allocs/op BenchmarkRepeated/input_size_500-8 2186 522612 ns/op 129.26 MB/s 1913 tps 701710 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2343 512149 ns/op 85.91 MB/s 627488 B/op 8135 allocs/op BenchmarkRepeated/input_size_500-8 2067 539120 ns/op 125.30 MB/s 1855 tps 701712 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2272 504580 ns/op 87.20 MB/s 627466 B/op 8134 allocs/op BenchmarkRepeated/input_size_500-8 2166 523016 ns/op 129.16 MB/s 1912 tps 701688 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2214 518969 ns/op 84.78 MB/s 627468 B/op 8134 allocs/op BenchmarkRepeated/input_size_500-8 2100 529922 ns/op 127.47 MB/s 1887 tps 701700 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2271 520770 ns/op 84.49 MB/s 627492 B/op 8135 allocs/op BenchmarkRepeated/input_size_500-8 2139 524351 ns/op 128.83 MB/s 1907 tps 701712 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2367 513163 ns/op 85.74 MB/s 627504 B/op 8135 allocs/op BenchmarkRepeated/input_size_500-8 2274 517572 ns/op 130.52 MB/s 1932 tps 701689 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2264 516209 ns/op 85.24 MB/s 627492 B/op 8135 allocs/op BenchmarkRepeated/input_size_500-8 2190 522594 ns/op 129.26 MB/s 1914 tps 701712 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2253 542528 ns/op 124.51 MB/s 1843 tps 701699 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2066 522579 ns/op 129.26 MB/s 1914 tps 701802 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 1996 519239 ns/op 130.10 MB/s 1926 tps 701818 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2088 528394 ns/op 127.84 MB/s 1893 tps 701818 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2080 518343 ns/op 130.32 MB/s 1929 tps 701834 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2180 524944 ns/op 128.68 MB/s 1905 tps 701825 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2068 519851 ns/op 129.94 MB/s 1924 tps 701817 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2140 528782 ns/op 127.75 MB/s 1891 tps 701803 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2143 522106 ns/op 129.38 MB/s 1915 tps 701823 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2095 512802 ns/op 131.73 MB/s 1950 tps 701818 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2113 515133 ns/op 131.13 MB/s 1941 tps 701824 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2155 523176 ns/op 129.12 MB/s 1911 tps 701815 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2304 511305 ns/op 132.12 MB/s 1956 tps 701811 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2142 516772 ns/op 130.72 MB/s 1935 tps 701828 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2097 514570 ns/op 131.28 MB/s 1943 tps 701805 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2143 528002 ns/op 127.94 MB/s 1894 tps 701823 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2223 519637 ns/op 130.00 MB/s 1924 tps 701823 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2095 524635 ns/op 128.76 MB/s 1906 tps 701827 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 2078 519893 ns/op 129.93 MB/s 1923 tps 701823 B/op 8144 allocs/op
BenchmarkRepeated/input_size_500-8 1890 535375 ns/op 126.18 MB/s 1868 tps 701826 B/op 8144 allocs/op
BenchmarkRepeated/input_size_1000 BenchmarkRepeated/input_size_1000
BenchmarkRepeated/input_size_1000-8 1360 885025 ns/op 99.43 MB/s 1086780 B/op 15638 allocs/op BenchmarkRepeated/input_size_1000-8 1340 896408 ns/op 150.66 MB/s 1116 tps 1226627 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1368 883129 ns/op 99.65 MB/s 1086744 B/op 15637 allocs/op BenchmarkRepeated/input_size_1000-8 1101 924146 ns/op 146.14 MB/s 1082 tps 1226666 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1393 868104 ns/op 101.37 MB/s 1086758 B/op 15637 allocs/op BenchmarkRepeated/input_size_1000-8 1288 893443 ns/op 151.16 MB/s 1119 tps 1226655 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1317 885656 ns/op 99.36 MB/s 1086747 B/op 15637 allocs/op BenchmarkRepeated/input_size_1000-8 1197 907642 ns/op 148.79 MB/s 1102 tps 1226664 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1227 874172 ns/op 100.67 MB/s 1086767 B/op 15637 allocs/op BenchmarkRepeated/input_size_1000-8 1318 905217 ns/op 149.19 MB/s 1105 tps 1226616 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1249 891841 ns/op 98.67 MB/s 1086795 B/op 15638 allocs/op BenchmarkRepeated/input_size_1000-8 1234 1041747 ns/op 129.64 MB/s 959.9 tps 1226641 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1305 878629 ns/op 100.16 MB/s 1086757 B/op 15637 allocs/op BenchmarkRepeated/input_size_1000-8 945 1059859 ns/op 127.42 MB/s 943.5 tps 1226623 B/op 15645 allocs/op
BenchmarkRepeated/input_size_1000-8 1165 892236 ns/op 98.63 MB/s 1086787 B/op 15638 allocs/op BenchmarkRepeated/input_size_1000-8 1136 1040900 ns/op 129.74 MB/s 960.7 tps 1226633 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1257 882244 ns/op 99.75 MB/s 1086769 B/op 15637 allocs/op BenchmarkRepeated/input_size_1000-8 1051 1036769 ns/op 130.26 MB/s 964.5 tps 1226669 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1152 887789 ns/op 99.12 MB/s 1086773 B/op 15637 allocs/op BenchmarkRepeated/input_size_1000-8 1136 1034395 ns/op 130.56 MB/s 966.7 tps 1226646 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 969 1044882 ns/op 129.25 MB/s 957.0 tps 1226648 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1012 1056285 ns/op 127.85 MB/s 946.7 tps 1226682 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1189 1048434 ns/op 128.81 MB/s 953.8 tps 1226640 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1166 1032403 ns/op 130.81 MB/s 968.6 tps 1226669 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1059 1052313 ns/op 128.34 MB/s 950.3 tps 1226687 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1029 1064225 ns/op 126.90 MB/s 939.6 tps 1226668 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1149 1027182 ns/op 131.48 MB/s 973.5 tps 1226623 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1154 1002640 ns/op 134.70 MB/s 997.4 tps 1226639 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1035 1050391 ns/op 128.57 MB/s 952.0 tps 1226665 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 979 1037538 ns/op 130.16 MB/s 963.8 tps 1226668 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1130 1016761 ns/op 132.82 MB/s 983.5 tps 1226624 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1159 1036076 ns/op 130.35 MB/s 965.2 tps 1226646 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1228 1023551 ns/op 131.94 MB/s 977.0 tps 1226661 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1020 1042597 ns/op 129.53 MB/s 959.1 tps 1226685 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1042 1048164 ns/op 128.85 MB/s 954.0 tps 1226653 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1156 1059050 ns/op 127.52 MB/s 944.2 tps 1226636 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1027 1033617 ns/op 130.66 MB/s 967.5 tps 1226682 B/op 15647 allocs/op
BenchmarkRepeated/input_size_1000-8 1050 1037713 ns/op 130.14 MB/s 963.6 tps 1226673 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 1009 1027104 ns/op 131.49 MB/s 973.6 tps 1226611 B/op 15646 allocs/op
BenchmarkRepeated/input_size_1000-8 944 1098091 ns/op 122.99 MB/s 910.7 tps 1226643 B/op 15646 allocs/op
BenchmarkRepeated/input_size_2000 BenchmarkRepeated/input_size_2000
BenchmarkRepeated/input_size_2000-8 740 1612185 ns/op 109.17 MB/s 2005675 B/op 30658 allocs/op BenchmarkRepeated/input_size_2000-8 595 1956067 ns/op 138.06 MB/s 511.2 tps 2276756 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 640 1631306 ns/op 107.89 MB/s 2005783 B/op 30659 allocs/op BenchmarkRepeated/input_size_2000-8 591 1971791 ns/op 136.96 MB/s 507.1 tps 2276803 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 613 1652462 ns/op 106.51 MB/s 2005804 B/op 30659 allocs/op BenchmarkRepeated/input_size_2000-8 535 1972806 ns/op 136.89 MB/s 506.9 tps 2276788 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 678 1638176 ns/op 107.44 MB/s 2005742 B/op 30659 allocs/op BenchmarkRepeated/input_size_2000-8 549 1958959 ns/op 137.85 MB/s 510.5 tps 2276793 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 662 1623774 ns/op 108.39 MB/s 2005790 B/op 30659 allocs/op BenchmarkRepeated/input_size_2000-8 547 1963388 ns/op 137.54 MB/s 509.3 tps 2276803 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 626 1641029 ns/op 107.25 MB/s 2005796 B/op 30659 allocs/op BenchmarkRepeated/input_size_2000-8 537 1942837 ns/op 139.00 MB/s 514.7 tps 2276773 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 655 1638617 ns/op 107.41 MB/s 2005749 B/op 30659 allocs/op BenchmarkRepeated/input_size_2000-8 556 1944617 ns/op 138.87 MB/s 514.2 tps 2276772 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 632 1647720 ns/op 106.81 MB/s 2005764 B/op 30659 allocs/op BenchmarkRepeated/input_size_2000-8 558 1949578 ns/op 138.52 MB/s 512.9 tps 2276862 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 735 1609390 ns/op 109.36 MB/s 2005732 B/op 30659 allocs/op BenchmarkRepeated/input_size_2000-8 572 1934702 ns/op 139.58 MB/s 516.9 tps 2276792 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 628 1667322 ns/op 105.56 MB/s 2005782 B/op 30659 allocs/op BenchmarkRepeated/input_size_2000-8 570 1961559 ns/op 137.67 MB/s 509.8 tps 2276781 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 554 1967470 ns/op 137.26 MB/s 508.2 tps 2276812 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 553 1920529 ns/op 140.61 MB/s 520.7 tps 2276774 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 574 1900779 ns/op 142.07 MB/s 526.1 tps 2276797 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 534 1943045 ns/op 138.98 MB/s 514.6 tps 2276758 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 552 1956827 ns/op 138.00 MB/s 511.0 tps 2276825 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 614 1987193 ns/op 135.90 MB/s 503.2 tps 2276764 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 561 1939184 ns/op 139.26 MB/s 515.7 tps 2276822 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 534 1911620 ns/op 141.27 MB/s 523.1 tps 2276748 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 528 1951684 ns/op 138.37 MB/s 512.4 tps 2276752 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 542 1938784 ns/op 139.29 MB/s 515.8 tps 2276849 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 565 1944449 ns/op 138.88 MB/s 514.3 tps 2276729 B/op 30667 allocs/op
BenchmarkRepeated/input_size_2000-8 562 1923476 ns/op 140.40 MB/s 519.9 tps 2276755 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 555 1968212 ns/op 137.21 MB/s 508.1 tps 2276862 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 564 1925232 ns/op 140.27 MB/s 519.4 tps 2276785 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 558 1920005 ns/op 140.65 MB/s 520.8 tps 2276744 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 535 1922998 ns/op 140.43 MB/s 520.0 tps 2276787 B/op 30668 allocs/op
BenchmarkRepeated/input_size_2000-8 541 1942631 ns/op 139.01 MB/s 514.8 tps 2276820 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 532 1961415 ns/op 137.68 MB/s 509.8 tps 2276854 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 554 1945026 ns/op 138.84 MB/s 514.1 tps 2276839 B/op 30669 allocs/op
BenchmarkRepeated/input_size_2000-8 525 1929464 ns/op 139.96 MB/s 518.3 tps 2276782 B/op 30668 allocs/op
BenchmarkRepeated/input_size_5000 BenchmarkRepeated/input_size_5000
BenchmarkRepeated/input_size_5000-8 297 3843726 ns/op 114.47 MB/s 4795288 B/op 75702 allocs/op BenchmarkRepeated/input_size_5000-8 250 4594438 ns/op 146.93 MB/s 217.7 tps 5475880 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 278 3878943 ns/op 113.43 MB/s 4795356 B/op 75702 allocs/op BenchmarkRepeated/input_size_5000-8 241 4671504 ns/op 144.50 MB/s 214.1 tps 5476090 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 280 3785925 ns/op 116.22 MB/s 4795368 B/op 75703 allocs/op BenchmarkRepeated/input_size_5000-8 242 4492143 ns/op 150.27 MB/s 222.6 tps 5475955 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 291 3838664 ns/op 114.62 MB/s 4795277 B/op 75703 allocs/op BenchmarkRepeated/input_size_5000-8 241 4627532 ns/op 145.88 MB/s 216.1 tps 5476081 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 284 3887295 ns/op 113.19 MB/s 4795277 B/op 75703 allocs/op BenchmarkRepeated/input_size_5000-8 238 4553809 ns/op 148.24 MB/s 219.6 tps 5476061 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 295 3861384 ns/op 113.95 MB/s 4795211 B/op 75702 allocs/op BenchmarkRepeated/input_size_5000-8 243 4588073 ns/op 147.13 MB/s 218.0 tps 5476086 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 290 3850281 ns/op 114.28 MB/s 4795127 B/op 75701 allocs/op BenchmarkRepeated/input_size_5000-8 246 4523418 ns/op 149.23 MB/s 221.1 tps 5476044 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 292 3911135 ns/op 112.50 MB/s 4795210 B/op 75702 allocs/op BenchmarkRepeated/input_size_5000-8 248 4504832 ns/op 149.85 MB/s 222.0 tps 5476049 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 282 3880590 ns/op 113.38 MB/s 4795303 B/op 75703 allocs/op BenchmarkRepeated/input_size_5000-8 250 4562534 ns/op 147.96 MB/s 219.2 tps 5476086 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 296 3850616 ns/op 114.27 MB/s 4795278 B/op 75702 allocs/op BenchmarkRepeated/input_size_5000-8 243 4593308 ns/op 146.96 MB/s 217.7 tps 5476006 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 246 4653727 ns/op 145.06 MB/s 214.9 tps 5476048 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 258 4586677 ns/op 147.18 MB/s 218.0 tps 5475968 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 252 4541888 ns/op 148.63 MB/s 220.2 tps 5476089 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 246 4606279 ns/op 146.55 MB/s 217.1 tps 5475822 B/op 75711 allocs/op
BenchmarkRepeated/input_size_5000-8 240 4749099 ns/op 142.14 MB/s 210.6 tps 5476256 B/op 75715 allocs/op
BenchmarkRepeated/input_size_5000-8 252 4576978 ns/op 147.49 MB/s 218.5 tps 5476037 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 248 4596578 ns/op 146.86 MB/s 217.5 tps 5476077 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 252 4581860 ns/op 147.33 MB/s 218.2 tps 5475988 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 244 4586904 ns/op 147.17 MB/s 218.0 tps 5476082 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 256 4569787 ns/op 147.72 MB/s 218.8 tps 5476031 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 250 4469578 ns/op 151.03 MB/s 223.7 tps 5476005 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 247 4614240 ns/op 146.30 MB/s 216.7 tps 5476186 B/op 75715 allocs/op
BenchmarkRepeated/input_size_5000-8 242 4694316 ns/op 143.80 MB/s 213.0 tps 5476003 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 252 4598824 ns/op 146.79 MB/s 217.4 tps 5475943 B/op 75712 allocs/op
BenchmarkRepeated/input_size_5000-8 241 4566682 ns/op 147.82 MB/s 219.0 tps 5475978 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 248 4589996 ns/op 147.07 MB/s 217.9 tps 5476061 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 248 4717519 ns/op 143.09 MB/s 212.0 tps 5476113 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 246 4792403 ns/op 140.86 MB/s 208.6 tps 5476230 B/op 75714 allocs/op
BenchmarkRepeated/input_size_5000-8 244 4623373 ns/op 146.01 MB/s 216.3 tps 5475961 B/op 75713 allocs/op
BenchmarkRepeated/input_size_5000-8 256 4537364 ns/op 148.78 MB/s 220.4 tps 5476020 B/op 75713 allocs/op
BenchmarkRepeated/input_size_10000 BenchmarkRepeated/input_size_10000
BenchmarkRepeated/input_size_10000-8 153 7463995 ns/op 117.90 MB/s 9421387 B/op 150750 allocs/op BenchmarkRepeated/input_size_10000-8 127 8750303 ns/op 154.29 MB/s 114.3 tps 10773777 B/op 150760 allocs/op
BenchmarkRepeated/input_size_10000-8 153 7534381 ns/op 116.80 MB/s 9421457 B/op 150750 allocs/op BenchmarkRepeated/input_size_10000-8 128 8851712 ns/op 152.52 MB/s 113.0 tps 10773919 B/op 150760 allocs/op
BenchmarkRepeated/input_size_10000-8 156 7463466 ns/op 117.91 MB/s 9421131 B/op 150749 allocs/op BenchmarkRepeated/input_size_10000-8 129 8871950 ns/op 152.17 MB/s 112.7 tps 10774094 B/op 150762 allocs/op
BenchmarkRepeated/input_size_10000-8 151 7528268 ns/op 116.89 MB/s 9421450 B/op 150750 allocs/op BenchmarkRepeated/input_size_10000-8 129 8855240 ns/op 152.46 MB/s 112.9 tps 10773950 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 158 7486652 ns/op 117.54 MB/s 9421474 B/op 150752 allocs/op BenchmarkRepeated/input_size_10000-8 130 8949288 ns/op 150.86 MB/s 111.7 tps 10773949 B/op 150762 allocs/op
BenchmarkRepeated/input_size_10000-8 152 7612278 ns/op 115.60 MB/s 9421550 B/op 150753 allocs/op BenchmarkRepeated/input_size_10000-8 127 8954324 ns/op 150.77 MB/s 111.7 tps 10773628 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 153 7421437 ns/op 118.58 MB/s 9421533 B/op 150749 allocs/op BenchmarkRepeated/input_size_10000-8 124 8824311 ns/op 152.99 MB/s 113.3 tps 10773858 B/op 150756 allocs/op
BenchmarkRepeated/input_size_10000-8 153 7566529 ns/op 116.30 MB/s 9421186 B/op 150747 allocs/op BenchmarkRepeated/input_size_10000-8 128 8926795 ns/op 151.24 MB/s 112.0 tps 10773905 B/op 150760 allocs/op
BenchmarkRepeated/input_size_10000-8 152 7401656 ns/op 118.89 MB/s 9421466 B/op 150751 allocs/op BenchmarkRepeated/input_size_10000-8 126 8883701 ns/op 151.97 MB/s 112.6 tps 10773726 B/op 150757 allocs/op
BenchmarkRepeated/input_size_10000-8 148 7576179 ns/op 116.15 MB/s 9421366 B/op 150749 allocs/op BenchmarkRepeated/input_size_10000-8 133 8914630 ns/op 151.44 MB/s 112.2 tps 10773809 B/op 150760 allocs/op
BenchmarkRepeated/input_size_10000-8 127 8796395 ns/op 153.48 MB/s 113.7 tps 10773946 B/op 150761 allocs/op
BenchmarkRepeated/input_size_10000-8 126 8916102 ns/op 151.42 MB/s 112.2 tps 10773868 B/op 150761 allocs/op
BenchmarkRepeated/input_size_10000-8 126 8800739 ns/op 153.40 MB/s 113.6 tps 10773681 B/op 150758 allocs/op
BenchmarkRepeated/input_size_10000-8 132 8755424 ns/op 154.20 MB/s 114.2 tps 10773968 B/op 150762 allocs/op
BenchmarkRepeated/input_size_10000-8 129 8653334 ns/op 156.02 MB/s 115.6 tps 10773927 B/op 150763 allocs/op
BenchmarkRepeated/input_size_10000-8 130 8833729 ns/op 152.83 MB/s 113.2 tps 10773690 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 134 8780494 ns/op 153.76 MB/s 113.9 tps 10773768 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 126 8835595 ns/op 152.80 MB/s 113.2 tps 10773908 B/op 150757 allocs/op
BenchmarkRepeated/input_size_10000-8 128 8919290 ns/op 151.36 MB/s 112.1 tps 10773815 B/op 150758 allocs/op
BenchmarkRepeated/input_size_10000-8 127 9030739 ns/op 149.50 MB/s 110.7 tps 10773874 B/op 150760 allocs/op
BenchmarkRepeated/input_size_10000-8 121 9088411 ns/op 148.55 MB/s 110.0 tps 10774091 B/op 150765 allocs/op
BenchmarkRepeated/input_size_10000-8 130 8719550 ns/op 154.83 MB/s 114.7 tps 10773837 B/op 150758 allocs/op
BenchmarkRepeated/input_size_10000-8 128 8892093 ns/op 151.83 MB/s 112.5 tps 10773883 B/op 150762 allocs/op
BenchmarkRepeated/input_size_10000-8 133 8995606 ns/op 150.08 MB/s 111.2 tps 10773832 B/op 150762 allocs/op
BenchmarkRepeated/input_size_10000-8 129 8785753 ns/op 153.66 MB/s 113.8 tps 10773718 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 130 8924614 ns/op 151.27 MB/s 112.0 tps 10773848 B/op 150761 allocs/op
BenchmarkRepeated/input_size_10000-8 128 8878845 ns/op 152.05 MB/s 112.6 tps 10773796 B/op 150760 allocs/op
BenchmarkRepeated/input_size_10000-8 130 8650580 ns/op 156.06 MB/s 115.6 tps 10773766 B/op 150759 allocs/op
BenchmarkRepeated/input_size_10000-8 132 8748450 ns/op 154.32 MB/s 114.3 tps 10773672 B/op 150756 allocs/op
BenchmarkRepeated/input_size_10000-8 132 8875261 ns/op 152.11 MB/s 112.7 tps 10774170 B/op 150765 allocs/op
BenchmarkRepeated/input_size_20000 BenchmarkRepeated/input_size_20000
BenchmarkRepeated/input_size_20000-8 75 14326193 ns/op 122.85 MB/s 18687956 B/op 300805 allocs/op BenchmarkRepeated/input_size_20000-8 61 17215587 ns/op 156.84 MB/s 58.09 tps 21391717 B/op 300808 allocs/op
BenchmarkRepeated/input_size_20000-8 80 14564679 ns/op 120.84 MB/s 18688474 B/op 300816 allocs/op BenchmarkRepeated/input_size_20000-8 67 17031374 ns/op 158.53 MB/s 58.71 tps 21392049 B/op 300820 allocs/op
BenchmarkRepeated/input_size_20000-8 79 14336739 ns/op 122.76 MB/s 18688083 B/op 300810 allocs/op BenchmarkRepeated/input_size_20000-8 67 16725842 ns/op 161.43 MB/s 59.78 tps 21391618 B/op 300812 allocs/op
BenchmarkRepeated/input_size_20000-8 79 14656333 ns/op 120.08 MB/s 18688181 B/op 300806 allocs/op BenchmarkRepeated/input_size_20000-8 64 17243531 ns/op 156.58 MB/s 57.99 tps 21392230 B/op 300824 allocs/op
BenchmarkRepeated/input_size_20000-8 80 14581794 ns/op 120.70 MB/s 18688110 B/op 300809 allocs/op BenchmarkRepeated/input_size_20000-8 66 17079561 ns/op 158.09 MB/s 58.55 tps 21392217 B/op 300821 allocs/op
BenchmarkRepeated/input_size_20000-8 76 14428211 ns/op 121.98 MB/s 18688355 B/op 300810 allocs/op BenchmarkRepeated/input_size_20000-8 69 16565850 ns/op 162.99 MB/s 60.36 tps 21392102 B/op 300817 allocs/op
BenchmarkRepeated/input_size_20000-8 76 14559566 ns/op 120.88 MB/s 18688365 B/op 300818 allocs/op BenchmarkRepeated/input_size_20000-8 64 17038167 ns/op 158.47 MB/s 58.69 tps 21392273 B/op 300821 allocs/op
BenchmarkRepeated/input_size_20000-8 75 14377098 ns/op 122.42 MB/s 18688001 B/op 300809 allocs/op BenchmarkRepeated/input_size_20000-8 68 16626401 ns/op 162.40 MB/s 60.14 tps 21392465 B/op 300828 allocs/op
BenchmarkRepeated/input_size_20000-8 78 15128792 ns/op 116.33 MB/s 18688388 B/op 300813 allocs/op BenchmarkRepeated/input_size_20000-8 68 16926315 ns/op 159.52 MB/s 59.08 tps 21392502 B/op 300827 allocs/op
BenchmarkRepeated/input_size_20000-8 75 14455203 ns/op 121.76 MB/s 18688141 B/op 300811 allocs/op BenchmarkRepeated/input_size_20000-8 69 16923952 ns/op 159.54 MB/s 59.09 tps 21392568 B/op 300820 allocs/op
BenchmarkRepeated/input_size_20000-8 66 16992988 ns/op 158.89 MB/s 58.85 tps 21391922 B/op 300816 allocs/op
BenchmarkRepeated/input_size_20000-8 63 16692143 ns/op 161.76 MB/s 59.91 tps 21392192 B/op 300822 allocs/op
BenchmarkRepeated/input_size_20000-8 66 16808042 ns/op 160.64 MB/s 59.49 tps 21392230 B/op 300826 allocs/op
BenchmarkRepeated/input_size_20000-8 64 16919021 ns/op 159.59 MB/s 59.10 tps 21392101 B/op 300818 allocs/op
BenchmarkRepeated/input_size_20000-8 66 16600777 ns/op 162.65 MB/s 60.23 tps 21391979 B/op 300822 allocs/op
BenchmarkRepeated/input_size_20000-8 67 16958133 ns/op 159.22 MB/s 58.97 tps 21392377 B/op 300823 allocs/op
BenchmarkRepeated/input_size_20000-8 64 17119208 ns/op 157.72 MB/s 58.41 tps 21392259 B/op 300815 allocs/op
BenchmarkRepeated/input_size_20000-8 69 17120921 ns/op 157.70 MB/s 58.40 tps 21392166 B/op 300822 allocs/op
BenchmarkRepeated/input_size_20000-8 70 17179414 ns/op 157.17 MB/s 58.21 tps 21392363 B/op 300820 allocs/op
BenchmarkRepeated/input_size_20000-8 67 16906712 ns/op 159.70 MB/s 59.15 tps 21392247 B/op 300824 allocs/op
BenchmarkRepeated/input_size_20000-8 64 16855940 ns/op 160.18 MB/s 59.32 tps 21392231 B/op 300820 allocs/op
BenchmarkRepeated/input_size_20000-8 70 16792442 ns/op 160.79 MB/s 59.55 tps 21392453 B/op 300823 allocs/op
BenchmarkRepeated/input_size_20000-8 64 17029458 ns/op 158.55 MB/s 58.72 tps 21392301 B/op 300824 allocs/op
BenchmarkRepeated/input_size_20000-8 67 17271288 ns/op 156.33 MB/s 57.90 tps 21392157 B/op 300818 allocs/op
BenchmarkRepeated/input_size_20000-8 68 17355446 ns/op 155.57 MB/s 57.62 tps 21392984 B/op 300827 allocs/op
BenchmarkRepeated/input_size_20000-8 62 17065754 ns/op 158.21 MB/s 58.60 tps 21392602 B/op 300829 allocs/op
BenchmarkRepeated/input_size_20000-8 66 16637103 ns/op 162.29 MB/s 60.11 tps 21392432 B/op 300824 allocs/op
BenchmarkRepeated/input_size_20000-8 67 17284400 ns/op 156.21 MB/s 57.85 tps 21392374 B/op 300823 allocs/op
BenchmarkRepeated/input_size_20000-8 67 17015613 ns/op 158.68 MB/s 58.77 tps 21392602 B/op 300827 allocs/op
BenchmarkRepeated/input_size_20000-8 66 16573354 ns/op 162.92 MB/s 60.34 tps 21392218 B/op 300823 allocs/op
PASS PASS
ok github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark 117.050s ok github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark 345.885s
...@@ -3,9 +3,12 @@ package benchmark_test ...@@ -3,9 +3,12 @@ package benchmark_test
import ( import (
"fmt" "fmt"
"math" "math"
"math/big"
"sort" "sort"
"testing" "testing"
"github.com/ethereum/go-ethereum/crypto"
) )
//date && go test -v -run BenchmarkHello -bench=BenchmarkHello -benchtime=3s -benchmem && date //date && go test -v -run BenchmarkHello -bench=BenchmarkHello -benchtime=3s -benchmem && date
...@@ -18,25 +21,38 @@ func BenchmarkHello(b *testing.B) { ...@@ -18,25 +21,38 @@ func BenchmarkHello(b *testing.B) {
// //b.Logf("begin time: %s \n", time.Now()) // //b.Logf("begin time: %s \n", time.Now())
// b.ResetTimer() // b.ResetTimer()
// for i := 0; i < b.N; i++ {
// //b.Logf("idx %d time: %s \n", i, time.Now())
// fmt.Sprintf("hello")
// }
//b.StopTimer() local, _ := crypto.HexToECDSA("FD5CC6F5E7E2805E920AC5DC83D5AF1106F9C92F0C04F9D5E1FD4261B4B4464A")
//b.Logf("end time: %s \n", time.Now()) // publicKey := local.Public()
// publicKeyECDSA, _ := publicKey.(*ecdsa.PublicKey)
//fromAddr := crypto.PubkeyToAddress(*publicKeyECDSA)
var compares int64 remote, _ := crypto.GenerateKey()
tx, err := pricedTransaction(crypto.PubkeyToAddress(remote.PublicKey), 0, 100000, big.NewInt(1), local)
if err != nil {
b.Fatal(err)
}
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
s := []int{5, 4, 3, 2, 1} //b.Logf("idx %d time: %s \n", i, time.Now())
sort.Slice(s, func(i, j int) bool { fmt.Sprintf("%v", tx)
compares++
return s[i] < s[j]
})
} }
//b.StopTimer()
//b.Logf("end time: %s \n", time.Now())
// var compares int64
// for i := 0; i < b.N; i++ {
// s := []int{5, 4, 3, 2, 1}
// sort.Slice(s, func(i, j int) bool {
// compares++
// return s[i] < s[j]
// })
// }
// 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")
} }
func BenchmarkCalculate(b *testing.B) { func BenchmarkCalculate(b *testing.B) {
......
...@@ -21,57 +21,71 @@ ...@@ -21,57 +21,71 @@
<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_100-8<td>208µs ± 3%<td>213µs ± 3%<td class='delta'>+2.21%<td class='note'> <tr class='worse'><td>Repeated/input_size_100-8<td>211µs ± 4%<td>214µs ± 5%<td class='delta'>+1.35%<td class='note'>
<tr class='worse'><td>Repeated/input_size_200-8<td>273µs ± 2%<td>280µs ± 6%<td class='delta'>+2.53%<td class='note'> <tr class='worse'><td>Repeated/input_size_200-8<td>284µs ± 3%<td>284µs ± 4%<td class='delta'>+0.15%<td class='note'>
<tr class='worse'><td>Repeated/input_size_500-8<td>490µs ± 2%<td>513µs ± 2%<td class='delta'>+4.75%<td class='note'> <tr class='worse'><td>Repeated/input_size_500-8<td>521µs ± 3%<td>524µs ± 4%<td class='delta'>+0.48%<td class='note'>
<tr class='worse'><td>Repeated/input_size_1000-8<td>841µs ± 2%<td>883µs ± 2%<td class='delta'>+5.02%<td class='note'> <tr class='worse'><td>Repeated/input_size_1000-8<td>1.00ms ±11%<td>1.04ms ± 4%<td class='delta'>+3.93%<td class='note'>
<tr class='worse'><td>Repeated/input_size_2000-8<td>1.55ms ± 1%<td>1.64ms ± 2%<td class='delta'>+5.26%<td class='note'> <tr class='worse'><td>Repeated/input_size_2000-8<td>1.78ms ±14%<td>1.95ms ± 2%<td class='delta'>+9.25%<td class='note'>
<tr class='worse'><td>Repeated/input_size_5000-8<td>3.65ms ± 1%<td>3.87ms ± 1%<td class='delta'>+5.83%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>3.99ms ± 3%<td>4.58ms ± 2%<td class='delta'>+14.91%<td class='note'>
<tr class='worse'><td>Repeated/input_size_10000-8<td>7.05ms ± 1%<td>7.51ms ± 1%<td class='delta'>+6.53%<td class='note'> <tr class='worse'><td>Repeated/input_size_10000-8<td>7.72ms ± 2%<td>8.86ms ± 3%<td class='delta'>+14.69%<td class='note'>
<tr class='worse'><td>Repeated/input_size_20000-8<td>13.7ms ± 2%<td>14.5ms ± 1%<td class='delta'>+5.94%<td class='note'> <tr class='worse'><td>Repeated/input_size_20000-8<td>14.9ms ± 4%<td>17.0ms ± 2%<td class='delta'>+13.45%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>1.38ms <td>1.44ms <td class='delta'>+4.75%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>1.50ms <td>1.61ms <td class='delta'>+7.10%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>speed<th>delta <tr><th><th colspan='2' class='metric'>speed<th>delta
<tr class='worse'><td>Repeated/input_size_100-8<td>42.3MB/s ± 3%<td>41.4MB/s ± 3%<td class='delta'>−2.15%<td class='note'> <tr class='worse'><td>Repeated/input_size_100-8<td>64.2MB/s ± 4%<td>63.3MB/s ± 5%<td class='delta'>−1.31%<td class='note'>
<tr class='worse'><td>Repeated/input_size_200-8<td>64.5MB/s ± 2%<td>62.9MB/s ± 5%<td class='delta'>−2.41%<td class='note'> <tr class='worse'><td>Repeated/input_size_200-8<td>95.3MB/s ± 3%<td>95.2MB/s ± 4%<td class='delta'>−0.15%<td class='note'>
<tr class='worse'><td>Repeated/input_size_500-8<td>89.8MB/s ± 2%<td>85.7MB/s ± 2%<td class='delta'>−4.54%<td class='note'> <tr class='worse'><td>Repeated/input_size_500-8<td>130MB/s ± 3%<td>129MB/s ± 3%<td class='delta'>−0.45%<td class='note'>
<tr class='worse'><td>Repeated/input_size_1000-8<td>105MB/s ± 2%<td>100MB/s ± 2%<td class='delta'>−4.79%<td class='note'> <tr class='worse'><td>Repeated/input_size_1000-8<td>136MB/s ±12%<td>130MB/s ± 4%<td class='delta'>−4.15%<td class='note'>
<tr class='worse'><td>Repeated/input_size_2000-8<td>113MB/s ± 1%<td>108MB/s ± 2%<td class='delta'>−4.99%<td class='note'> <tr class='worse'><td>Repeated/input_size_2000-8<td>153MB/s ±13%<td>139MB/s ± 2%<td class='delta'>−8.97%<td class='note'>
<tr class='worse'><td>Repeated/input_size_5000-8<td>120MB/s ± 1%<td>114MB/s ± 1%<td class='delta'>−5.51%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>169MB/s ± 2%<td>147MB/s ± 3%<td class='delta'>−13.15%<td class='note'>
<tr class='worse'><td>Repeated/input_size_10000-8<td>125MB/s ± 1%<td>117MB/s ± 1%<td class='delta'>−6.13%<td class='note'> <tr class='worse'><td>Repeated/input_size_10000-8<td>175MB/s ± 4%<td>152MB/s ± 3%<td class='delta'>−12.70%<td class='note'>
<tr class='worse'><td>Repeated/input_size_20000-8<td>129MB/s ± 2%<td>122MB/s ± 1%<td class='delta'>−5.62%<td class='note'> <tr class='worse'><td>Repeated/input_size_20000-8<td>179MB/s ±10%<td>159MB/s ± 2%<td class='delta'>−11.06%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>93.1MB/s <td>88.9MB/s <td class='delta'>−4.53%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>131MB/s <td>122MB/s <td class='delta'>−6.64%<td class='note'>
<tr><td>&nbsp;
</tbody>
<tbody>
<tr><th><th colspan='2' class='metric'>tps<th>delta
<tr class='better'><td>Repeated/input_size_100-8<td>4.74k ± 4%<td>4.68k ± 5%<td class='delta'>−1.32%<td class='note'>
<tr class='better'><td>Repeated/input_size_200-8<td>3.52k ± 3%<td>3.52k ± 4%<td class='delta'>−0.15%<td class='note'>
<tr class='better'><td>Repeated/input_size_500-8<td>1.92k ± 3%<td>1.91k ± 3%<td class='delta'>−0.48%<td class='note'>
<tr class='better'><td>Repeated/input_size_1000-8<td>1.00k ±12%<td>0.96k ± 4%<td class='delta'>−4.15%<td class='note'>
<tr class='better'><td>Repeated/input_size_2000-8<td>565 ±13%<td>514 ± 2%<td class='delta'>−8.97%<td class='note'>
<tr class='better'><td>Repeated/input_size_5000-8<td>251 ± 2%<td>218 ± 3%<td class='delta'>−13.15%<td class='note'>
<tr class='better'><td>Repeated/input_size_10000-8<td>129 ± 4%<td>113 ± 3%<td class='delta'>−12.69%<td class='note'>
<tr class='better'><td>Repeated/input_size_20000-8<td>66.4 ±10%<td>59.0 ± 2%<td class='delta'>−11.09%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>667 <td>623 <td class='delta'>−6.64%<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_100-8<td>226kB ± 0%<td>240kB ± 0%<td class='delta'>+6.07%<td class='note'> <tr class='worse'><td>Repeated/input_size_100-8<td>254kB ± 0%<td>254kB ± 0%<td class='delta'>+0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_200-8<td>310kB ± 0%<td>337kB ± 0%<td class='delta'>+8.84%<td class='note'> <tr class='worse'><td>Repeated/input_size_200-8<td>365kB ± 0%<td>365kB ± 0%<td class='delta'>+0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_500-8<td>554kB ± 0%<td>627kB ± 0%<td class='delta'>+13.35%<td class='note'> <tr class='worse'><td>Repeated/input_size_500-8<td>702kB ± 0%<td>702kB ± 0%<td class='delta'>+0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_1000-8<td>947kB ± 0%<td>1087kB ± 0%<td class='delta'>+14.72%<td class='note'> <tr class='better'><td>Repeated/input_size_1000-8<td>1.23MB ± 0%<td>1.23MB ± 0%<td class='delta'>−0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_2000-8<td>1.74MB ± 0%<td>2.01MB ± 0%<td class='delta'>+15.59%<td class='note'> <tr class='worse'><td>Repeated/input_size_2000-8<td>2.28MB ± 0%<td>2.28MB ± 0%<td class='delta'>+0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_5000-8<td>4.11MB ± 0%<td>4.80MB ± 0%<td class='delta'>+16.54%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>5.48MB ± 0%<td>5.48MB ± 0%<td class='delta'>+0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_10000-8<td>8.07MB ± 0%<td>9.42MB ± 0%<td class='delta'>+16.76%<td class='note'> <tr class='worse'><td>Repeated/input_size_10000-8<td>10.8MB ± 0%<td>10.8MB ± 0%<td class='delta'>+0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_20000-8<td>16.0MB ± 0%<td>18.7MB ± 0%<td class='delta'>+16.92%<td class='note'> <tr class='worse'><td>Repeated/input_size_20000-8<td>21.4MB ± 0%<td>21.4MB ± 0%<td class='delta'>+0.00%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>1.55MB <td>1.76MB <td class='delta'>+13.53%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>1.97MB <td>1.97MB <td class='delta'>+0.00%<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>2.11k ± 0%<td>2.11k ± 0%<td class='delta'>+0.11%<td class='note'> <tr class='unchanged'><td>Repeated/input_size_100-8<td>2.12k ± 0%<td>2.12k ± 0%<td class='delta'>0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_200-8<td>3.61k ± 0%<td>3.61k ± 0%<td class='delta'>+0.08%<td class='note'> <tr class='unchanged'><td>Repeated/input_size_200-8<td>3.62k ± 0%<td>3.62k ± 0%<td class='delta'>0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_500-8<td>8.13k ± 0%<td>8.13k ± 0%<td class='delta'>+0.05%<td class='note'> <tr class='unchanged'><td>Repeated/input_size_500-8<td>8.14k ± 0%<td>8.14k ± 0%<td class='delta'>0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_1000-8<td>15.6k ± 0%<td>15.6k ± 0%<td class='delta'>+0.03%<td class='note'> <tr class='better'><td>Repeated/input_size_1000-8<td>15.6k ± 0%<td>15.6k ± 0%<td class='delta'>−0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_2000-8<td>30.7k ± 0%<td>30.7k ± 0%<td class='delta'>+0.01%<td class='note'> <tr class='better'><td>Repeated/input_size_2000-8<td>30.7k ± 0%<td>30.7k ± 0%<td class='delta'>−0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_5000-8<td>75.7k ± 0%<td>75.7k ± 0%<td class='delta'>+0.01%<td class='note'> <tr class='worse'><td>Repeated/input_size_5000-8<td>75.7k ± 0%<td>75.7k ± 0%<td class='delta'>+0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_10000-8<td>151k ± 0%<td>151k ± 0%<td class='delta'>+0.00%<td class='note'> <tr class='worse'><td>Repeated/input_size_10000-8<td>151k ± 0%<td>151k ± 0%<td class='delta'>+0.00%<td class='note'>
<tr class='worse'><td>Repeated/input_size_20000-8<td>301k ± 0%<td>301k ± 0%<td class='delta'>+0.00%<td class='note'> <tr class='worse'><td>Repeated/input_size_20000-8<td>301k ± 0%<td>301k ± 0%<td class='delta'>+0.00%<td class='note'>
<tr class='unchanged'><td>[Geo mean]<td>23.8k <td>23.8k <td class='delta'>+0.04%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>23.8k <td>23.8k <td class='delta'>+0.00%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
......
...@@ -4,6 +4,7 @@ import ( ...@@ -4,6 +4,7 @@ import (
"context" "context"
"crypto/ecdsa" "crypto/ecdsa"
"fmt" "fmt"
"testing" "testing"
"time" "time"
...@@ -14,6 +15,10 @@ import ( ...@@ -14,6 +15,10 @@ import (
"github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto"
"google.golang.org/grpc" "google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/credentials/insecure"
//"google.golang.org/grpc/encoding/proto"
//"github.com/protocolbuffers/protobuf-go/proto"
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/anypb" "google.golang.org/protobuf/types/known/anypb"
) )
...@@ -56,6 +61,7 @@ func RepeatedEthTx(txl int, b *testing.B) { ...@@ -56,6 +61,7 @@ func RepeatedEthTx(txl int, b *testing.B) {
b.Fatal(err) b.Fatal(err)
} }
beginTime := time.Now()
b.ResetTimer() b.ResetTimer()
b.RunParallel(func(pb *testing.PB) { b.RunParallel(func(pb *testing.PB) {
...@@ -100,9 +106,17 @@ func RepeatedEthTx(txl int, b *testing.B) { ...@@ -100,9 +106,17 @@ func RepeatedEthTx(txl int, b *testing.B) {
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)) req := &base.RepeatedEthTx{Txs: txs}
res, err := c.SendRepeatedEthTx(ctx, &base.RepeatedEthTx{Txs: txs}) out, err := proto.Marshal(req)
if err != nil {
b.Fatal(err)
}
b.SetBytes(int64(len(out)))
res, err := c.SendRepeatedEthTx(ctx, req)
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
...@@ -119,6 +133,8 @@ func RepeatedEthTx(txl int, b *testing.B) { ...@@ -119,6 +133,8 @@ func RepeatedEthTx(txl int, b *testing.B) {
// }) // })
} }
}) })
b.ReportMetric(float64(b.N)/float64(time.Since(beginTime).Seconds()), "tps")
} }
func RepeatedTxEthAsAny(txl int, b *testing.B) { func RepeatedTxEthAsAny(txl int, b *testing.B) {
...@@ -140,6 +156,8 @@ func RepeatedTxEthAsAny(txl int, b *testing.B) { ...@@ -140,6 +156,8 @@ func RepeatedTxEthAsAny(txl int, b *testing.B) {
//} //}
// once.Do(onceFunc) // once.Do(onceFunc)
beginTime := time.Now()
b.ResetTimer() b.ResetTimer()
// The loop body is executed b.N times total across all goroutines. // The loop body is executed b.N times total across all goroutines.
...@@ -185,14 +203,22 @@ func RepeatedTxEthAsAny(txl int, b *testing.B) { ...@@ -185,14 +203,22 @@ func RepeatedTxEthAsAny(txl int, b *testing.B) {
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)
} }
res, err := c.SendTxAsAny(ctx, &base.Transaction{Tx: ethTxAsAny}) req := &base.Transaction{Tx: ethTxAsAny}
out, err := proto.Marshal(req)
if err != nil {
b.Fatal(err)
}
b.SetBytes(int64(len(out)))
res, err := c.SendTxAsAny(ctx, req)
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
...@@ -210,6 +236,9 @@ func RepeatedTxEthAsAny(txl int, b *testing.B) { ...@@ -210,6 +236,9 @@ func RepeatedTxEthAsAny(txl int, b *testing.B) {
} }
}) })
b.ReportMetric(float64(b.N)/float64(time.Since(beginTime).Seconds()), "tps")
} }
// go test -v -run BenchmarkAnyTxEth -bench BenchmarkRepeated -benchmem -count 5 | tee old.txt // go test -v -run BenchmarkAnyTxEth -bench BenchmarkRepeated -benchmem -count 5 | tee old.txt
...@@ -228,10 +257,11 @@ benchstat -geomean -delta-test none -html RepeatedEthTx.txt RepeatedTxEthAsAny.t ...@@ -228,10 +257,11 @@ benchstat -geomean -delta-test none -html RepeatedEthTx.txt RepeatedTxEthAsAny.t
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 30 | 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 30 | tee RepeatedTxEthAsAny.txt
RepeatedTxEthAsAny(v.input, b) RepeatedTxEthAsAny(v.input, b)
}) })
} }
} }
......
package benchmark_test package benchmark_test
import ( import (
"bytes"
"context" "context"
"crypto/ecdsa" "crypto/ecdsa"
"encoding/gob"
"errors" "errors"
"fmt" "fmt"
"time" "time"
...@@ -14,6 +16,7 @@ import ( ...@@ -14,6 +16,7 @@ import (
"google.golang.org/grpc" "google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/credentials/insecure"
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/anypb" "google.golang.org/protobuf/types/known/anypb"
"google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/emptypb"
...@@ -311,9 +314,9 @@ func TestAnyTx(t *testing.T) { ...@@ -311,9 +314,9 @@ func TestAnyTx(t *testing.T) {
func TestSizeOf(t *testing.T) { func TestSizeOf(t *testing.T) {
local, _ := crypto.HexToECDSA("FD5CC6F5E7E2805E920AC5DC83D5AF1106F9C92F0C04F9D5E1FD4261B4B4464A") local, _ := crypto.HexToECDSA("FD5CC6F5E7E2805E920AC5DC83D5AF1106F9C92F0C04F9D5E1FD4261B4B4464A")
//publicKey := local.Public() publicKey := local.Public()
//publicKeyECDSA, _ := publicKey.(*ecdsa.PublicKey) publicKeyECDSA, _ := publicKey.(*ecdsa.PublicKey)
//fromAddr := crypto.PubkeyToAddress(*publicKeyECDSA) fromAddr := crypto.PubkeyToAddress(*publicKeyECDSA)
remote, _ := crypto.GenerateKey() remote, _ := crypto.GenerateKey()
...@@ -323,8 +326,79 @@ func TestSizeOf(t *testing.T) { ...@@ -323,8 +326,79 @@ func TestSizeOf(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
fmt.Printf("%T \n", unsafe.Sizeof(*tx)) inner := base.EthTxData{
AccountNonce: tx.Nonce(),
Price: tx.GasPrice().Bytes(),
GasLimit: tx.Gas(),
Payload: tx.Data(),
}
v, r, sigs := tx.RawSignatureValues()
inner.V = v.Bytes()
inner.R = r.Bytes()
inner.S = sigs.Bytes()
inner.Amount = tx.Value().Bytes()
fmt.Println(unsafe.Sizeof(*tx)) addr := base.Address{Address: tx.To().Bytes()}
inner.Recipient = &addr
inner.From = fromAddr.Bytes()
out, err := proto.Marshal(&base.TransactionEth{Tx: &base.EthTx{Inner: &inner}})
if err != nil {
t.Fatal(err)
}
fmt.Printf("TransactionEth proto buff encoding: %d \n", len(out))
//fmt.Printf("%T \n", unsafe.Sizeof(tx.Nonce()))
sss, err := getRealSizeOf(tx)
if err != nil {
t.Fatal(err)
}
fmt.Println("getRealSizeOf tx ", sss)
ssss, err := getRealSizeOf(base.TransactionEth{Tx: &base.EthTx{Inner: &inner}})
if err != nil {
t.Fatal(err)
}
fmt.Println("getRealSizeOf TransactionEth", ssss)
fmt.Println("unsafe.Sizeof", unsafe.Sizeof(*tx))
fmt.Println("unsafe.Sizeof v", unsafe.Sizeof(*v))
fmt.Println("unsafe.Sizeof r", unsafe.Sizeof(*r))
fmt.Println("unsafe.Sizeof sigs", unsafe.Sizeof(*sigs))
fmt.Println("tx size", tx.Size())
// v, r, sigs
}
// type ASDF struct {
// A uint64
// B uint64
// C uint64
// D uint64
// E uint64
// F string
// }
// func (s *ASDF) size() int {
// size := int(unsafe.Sizeof(*s))
// size += len(s.F)
// return size
// }
func getRealSizeOf(v interface{}) (int, error) {
b := new(bytes.Buffer)
if err := gob.NewEncoder(b).Encode(v); err != nil {
return 0, err
}
return b.Len(), nil
} }
...@@ -21,57 +21,71 @@ ...@@ -21,57 +21,71 @@
<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_100-8<td>208µs ± 3%<td>213µs ± 3%<td class='nodelta'>~<td class='note'>(p=0.051 n=10+10) <tr class='worse'><td>Repeated/input_size_100-8<td>211µs ± 4%<td>214µs ± 5%<td class='delta'>+1.35%<td class='note'>(p=0.011 n=30+30)
<tr class='worse'><td>Repeated/input_size_200-8<td>273µs ± 2%<td>280µs ± 6%<td class='delta'>+2.53%<td class='note'>(p=0.028 n=9+10) <tr class='unchanged'><td>Repeated/input_size_200-8<td>284µs ± 3%<td>284µs ± 4%<td class='nodelta'>~<td class='note'>(p=0.731 n=30+29)
<tr class='worse'><td>Repeated/input_size_500-8<td>490µs ± 2%<td>513µs ± 2%<td class='delta'>+4.75%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_500-8<td>521µs ± 3%<td>524µs ± 4%<td class='nodelta'>~<td class='note'>(p=0.231 n=30+30)
<tr class='worse'><td>Repeated/input_size_1000-8<td>841µs ± 2%<td>883µs ± 2%<td class='delta'>+5.02%<td class='note'>(p=0.000 n=10+10) <tr class='worse'><td>Repeated/input_size_1000-8<td>1.00ms ±11%<td>1.04ms ± 4%<td class='delta'>+3.93%<td class='note'>(p=0.002 n=30+24)
<tr class='worse'><td>Repeated/input_size_2000-8<td>1.55ms ± 1%<td>1.64ms ± 2%<td class='delta'>+5.26%<td class='note'>(p=0.000 n=9+10) <tr class='worse'><td>Repeated/input_size_2000-8<td>1.78ms ±14%<td>1.95ms ± 2%<td class='delta'>+9.25%<td class='note'>(p=0.000 n=30+30)
<tr class='worse'><td>Repeated/input_size_5000-8<td>3.65ms ± 1%<td>3.87ms ± 1%<td class='delta'>+5.83%<td class='note'>(p=0.000 n=10+9) <tr class='worse'><td>Repeated/input_size_5000-8<td>3.99ms ± 3%<td>4.58ms ± 2%<td class='delta'>+14.91%<td class='note'>(p=0.000 n=30+27)
<tr class='worse'><td>Repeated/input_size_10000-8<td>7.05ms ± 1%<td>7.51ms ± 1%<td class='delta'>+6.53%<td class='note'>(p=0.000 n=10+10) <tr class='worse'><td>Repeated/input_size_10000-8<td>7.72ms ± 2%<td>8.86ms ± 3%<td class='delta'>+14.69%<td class='note'>(p=0.000 n=29+30)
<tr class='worse'><td>Repeated/input_size_20000-8<td>13.7ms ± 2%<td>14.5ms ± 1%<td class='delta'>+5.94%<td class='note'>(p=0.000 n=10+9) <tr class='worse'><td>Repeated/input_size_20000-8<td>14.9ms ± 4%<td>17.0ms ± 2%<td class='delta'>+13.45%<td class='note'>(p=0.000 n=23+30)
<tr class='unchanged'><td>[Geo mean]<td>1.38ms <td>1.44ms <td class='delta'>+4.75%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>1.50ms <td>1.61ms <td class='delta'>+7.10%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>speed<th>delta <tr><th><th colspan='2' class='metric'>speed<th>delta
<tr class='unchanged'><td>Repeated/input_size_100-8<td>42.3MB/s ± 3%<td>41.4MB/s ± 3%<td class='nodelta'>~<td class='note'>(p=0.051 n=10+10) <tr class='worse'><td>Repeated/input_size_100-8<td>64.2MB/s ± 4%<td>63.3MB/s ± 5%<td class='delta'>−1.31%<td class='note'>(p=0.012 n=30+30)
<tr class='worse'><td>Repeated/input_size_200-8<td>64.5MB/s ± 2%<td>62.9MB/s ± 5%<td class='delta'>−2.41%<td class='note'>(p=0.026 n=9+10) <tr class='unchanged'><td>Repeated/input_size_200-8<td>95.3MB/s ± 3%<td>95.2MB/s ± 4%<td class='nodelta'>~<td class='note'>(p=0.740 n=30+29)
<tr class='worse'><td>Repeated/input_size_500-8<td>89.8MB/s ± 2%<td>85.7MB/s ± 2%<td class='delta'>−4.54%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_500-8<td>130MB/s ± 3%<td>129MB/s ± 3%<td class='nodelta'>~<td class='note'>(p=0.260 n=30+30)
<tr class='worse'><td>Repeated/input_size_1000-8<td>105MB/s ± 2%<td>100MB/s ± 2%<td class='delta'>−4.79%<td class='note'>(p=0.000 n=10+10) <tr class='worse'><td>Repeated/input_size_1000-8<td>136MB/s ±12%<td>130MB/s ± 4%<td class='delta'>−4.15%<td class='note'>(p=0.002 n=30+24)
<tr class='worse'><td>Repeated/input_size_2000-8<td>113MB/s ± 1%<td>108MB/s ± 2%<td class='delta'>−4.99%<td class='note'>(p=0.000 n=9+10) <tr class='worse'><td>Repeated/input_size_2000-8<td>153MB/s ±13%<td>139MB/s ± 2%<td class='delta'>−8.97%<td class='note'>(p=0.000 n=30+30)
<tr class='worse'><td>Repeated/input_size_5000-8<td>120MB/s ± 1%<td>114MB/s ± 1%<td class='delta'>−5.51%<td class='note'>(p=0.000 n=10+9) <tr class='worse'><td>Repeated/input_size_5000-8<td>169MB/s ± 2%<td>147MB/s ± 3%<td class='delta'>−13.15%<td class='note'>(p=0.000 n=30+27)
<tr class='worse'><td>Repeated/input_size_10000-8<td>125MB/s ± 1%<td>117MB/s ± 1%<td class='delta'>−6.13%<td class='note'>(p=0.000 n=10+10) <tr class='worse'><td>Repeated/input_size_10000-8<td>175MB/s ± 4%<td>152MB/s ± 3%<td class='delta'>−12.70%<td class='note'>(p=0.000 n=30+30)
<tr class='worse'><td>Repeated/input_size_20000-8<td>129MB/s ± 2%<td>122MB/s ± 1%<td class='delta'>−5.62%<td class='note'>(p=0.000 n=10+9) <tr class='worse'><td>Repeated/input_size_20000-8<td>179MB/s ±10%<td>159MB/s ± 2%<td class='delta'>−11.06%<td class='note'>(p=0.000 n=25+30)
<tr class='unchanged'><td>[Geo mean]<td>93.1MB/s <td>88.9MB/s <td class='delta'>−4.53%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>131MB/s <td>122MB/s <td class='delta'>−6.64%<td class='note'>
<tr><td>&nbsp;
</tbody>
<tbody>
<tr><th><th colspan='2' class='metric'>tps<th>delta
<tr class='better'><td>Repeated/input_size_100-8<td>4.74k ± 4%<td>4.68k ± 5%<td class='delta'>−1.32%<td class='note'>(p=0.012 n=30+30)
<tr class='unchanged'><td>Repeated/input_size_200-8<td>3.52k ± 3%<td>3.52k ± 4%<td class='nodelta'>~<td class='note'>(p=0.732 n=30+29)
<tr class='unchanged'><td>Repeated/input_size_500-8<td>1.92k ± 3%<td>1.91k ± 3%<td class='nodelta'>~<td class='note'>(p=0.227 n=30+30)
<tr class='better'><td>Repeated/input_size_1000-8<td>1.00k ±12%<td>0.96k ± 4%<td class='delta'>−4.15%<td class='note'>(p=0.002 n=30+24)
<tr class='better'><td>Repeated/input_size_2000-8<td>565 ±13%<td>514 ± 2%<td class='delta'>−8.97%<td class='note'>(p=0.000 n=30+30)
<tr class='better'><td>Repeated/input_size_5000-8<td>251 ± 2%<td>218 ± 3%<td class='delta'>−13.15%<td class='note'>(p=0.000 n=30+27)
<tr class='better'><td>Repeated/input_size_10000-8<td>129 ± 4%<td>113 ± 3%<td class='delta'>−12.69%<td class='note'>(p=0.000 n=30+30)
<tr class='better'><td>Repeated/input_size_20000-8<td>66.4 ±10%<td>59.0 ± 2%<td class='delta'>−11.09%<td class='note'>(p=0.000 n=25+30)
<tr class='unchanged'><td>[Geo mean]<td>667 <td>623 <td class='delta'>−6.64%<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_100-8<td>226kB ± 0%<td>240kB ± 0%<td class='delta'>+6.07%<td class='note'>(p=0.000 n=9+9) <tr class='unchanged'><td>Repeated/input_size_100-8<td>254kB ± 0%<td>254kB ± 0%<td class='nodelta'>~<td class='note'>(p=0.361 n=23+24)
<tr class='worse'><td>Repeated/input_size_200-8<td>310kB ± 0%<td>337kB ± 0%<td class='delta'>+8.84%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_200-8<td>365kB ± 0%<td>365kB ± 0%<td class='nodelta'>~<td class='note'>(p=0.679 n=29+28)
<tr class='worse'><td>Repeated/input_size_500-8<td>554kB ± 0%<td>627kB ± 0%<td class='delta'>+13.35%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_500-8<td>702kB ± 0%<td>702kB ± 0%<td class='nodelta'>~<td class='note'>(p=0.124 n=30+30)
<tr class='worse'><td>Repeated/input_size_1000-8<td>947kB ± 0%<td>1087kB ± 0%<td class='delta'>+14.72%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_1000-8<td>1.23MB ± 0%<td>1.23MB ± 0%<td class='nodelta'>~<td class='note'>(p=0.121 n=29+30)
<tr class='worse'><td>Repeated/input_size_2000-8<td>1.74MB ± 0%<td>2.01MB ± 0%<td class='delta'>+15.59%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_2000-8<td>2.28MB ± 0%<td>2.28MB ± 0%<td class='nodelta'>~<td class='note'>(p=0.626 n=30+30)
<tr class='worse'><td>Repeated/input_size_5000-8<td>4.11MB ± 0%<td>4.80MB ± 0%<td class='delta'>+16.54%<td class='note'>(p=0.000 n=10+10) <tr class='worse'><td>Repeated/input_size_5000-8<td>5.48MB ± 0%<td>5.48MB ± 0%<td class='delta'>+0.00%<td class='note'>(p=0.010 n=30+28)
<tr class='worse'><td>Repeated/input_size_10000-8<td>8.07MB ± 0%<td>9.42MB ± 0%<td class='delta'>+16.76%<td class='note'>(p=0.000 n=9+9) <tr class='unchanged'><td>Repeated/input_size_10000-8<td>10.8MB ± 0%<td>10.8MB ± 0%<td class='nodelta'>~<td class='note'>(p=0.262 n=30+29)
<tr class='worse'><td>Repeated/input_size_20000-8<td>16.0MB ± 0%<td>18.7MB ± 0%<td class='delta'>+16.92%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_20000-8<td>21.4MB ± 0%<td>21.4MB ± 0%<td class='nodelta'>~<td class='note'>(p=0.604 n=29+27)
<tr class='unchanged'><td>[Geo mean]<td>1.55MB <td>1.76MB <td class='delta'>+13.53%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>1.97MB <td>1.97MB <td class='delta'>+0.00%<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>2.11k ± 0%<td>2.11k ± 0%<td class='delta'>+0.11%<td class='note'>(p=0.000 n=10+7) <tr class='unchanged'><td>Repeated/input_size_100-8<td>2.12k ± 0%<td>2.12k ± 0%<td class='nodelta'>~<td class='note'>(zero variance)
<tr class='unchanged'><td>Repeated/input_size_200-8<td>3.61k ± 0%<td>3.61k ± 0%<td class='nodelta'>~<td class='note'>(zero variance) <tr class='unchanged'><td>Repeated/input_size_200-8<td>3.62k ± 0%<td>3.62k ± 0%<td class='nodelta'>~<td class='note'>(zero variance)
<tr class='unchanged'><td>Repeated/input_size_500-8<td>8.13k ± 0%<td>8.13k ± 0%<td class='nodelta'>~<td class='note'>(zero variance) <tr class='unchanged'><td>Repeated/input_size_500-8<td>8.14k ± 0%<td>8.14k ± 0%<td class='nodelta'>~<td class='note'>(zero variance)
<tr class='worse'><td>Repeated/input_size_1000-8<td>15.6k ± 0%<td>15.6k ± 0%<td class='delta'>+0.03%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_1000-8<td>15.6k ± 0%<td>15.6k ± 0%<td class='nodelta'>~<td class='note'>(p=0.092 n=30+30)
<tr class='unchanged'><td>Repeated/input_size_2000-8<td>30.7k ± 0%<td>30.7k ± 0%<td class='nodelta'>~<td class='note'>(zero variance) <tr class='unchanged'><td>Repeated/input_size_2000-8<td>30.7k ± 0%<td>30.7k ± 0%<td class='nodelta'>~<td class='note'>(p=0.623 n=30+30)
<tr class='worse'><td>Repeated/input_size_5000-8<td>75.7k ± 0%<td>75.7k ± 0%<td class='delta'>+0.01%<td class='note'>(p=0.000 n=9+10) <tr class='worse'><td>Repeated/input_size_5000-8<td>75.7k ± 0%<td>75.7k ± 0%<td class='delta'>+0.00%<td class='note'>(p=0.000 n=29+29)
<tr class='worse'><td>Repeated/input_size_10000-8<td>151k ± 0%<td>151k ± 0%<td class='delta'>+0.00%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_10000-8<td>151k ± 0%<td>151k ± 0%<td class='nodelta'>~<td class='note'>(p=0.072 n=30+30)
<tr class='worse'><td>Repeated/input_size_20000-8<td>301k ± 0%<td>301k ± 0%<td class='delta'>+0.00%<td class='note'>(p=0.004 n=9+10) <tr class='worse'><td>Repeated/input_size_20000-8<td>301k ± 0%<td>301k ± 0%<td class='delta'>+0.00%<td class='note'>(p=0.017 n=29+28)
<tr class='unchanged'><td>[Geo mean]<td>23.8k <td>23.8k <td class='delta'>+0.04%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>23.8k <td>23.8k <td class='delta'>+0.00%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
......
...@@ -21,57 +21,71 @@ ...@@ -21,57 +21,71 @@
<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_100-8<td>208µs ± 3%<td>213µs ± 3%<td class='nodelta'>~<td class='note'>(p=0.089 n=10+10) <tr class='worse'><td>Repeated/input_size_100-8<td>211µs ± 4%<td>214µs ± 5%<td class='delta'>+1.35%<td class='note'>(p=0.020 n=30+30)
<tr class='unchanged'><td>Repeated/input_size_200-8<td>273µs ± 2%<td>280µs ± 6%<td class='nodelta'>~<td class='note'>(p=0.079 n=9+10) <tr class='unchanged'><td>Repeated/input_size_200-8<td>284µs ± 3%<td>284µs ± 4%<td class='nodelta'>~<td class='note'>(p=0.874 n=30+29)
<tr class='worse'><td>Repeated/input_size_500-8<td>490µs ± 2%<td>513µs ± 2%<td class='delta'>+4.75%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_500-8<td>521µs ± 3%<td>524µs ± 4%<td class='nodelta'>~<td class='note'>(p=0.279 n=30+30)
<tr class='worse'><td>Repeated/input_size_1000-8<td>841µs ± 2%<td>883µs ± 2%<td class='delta'>+5.02%<td class='note'>(p=0.000 n=10+10) <tr class='worse'><td>Repeated/input_size_1000-8<td>1.00ms ±11%<td>1.04ms ± 4%<td class='delta'>+3.93%<td class='note'>(p=0.024 n=30+24)
<tr class='worse'><td>Repeated/input_size_2000-8<td>1.55ms ± 1%<td>1.64ms ± 2%<td class='delta'>+5.26%<td class='note'>(p=0.000 n=9+10) <tr class='worse'><td>Repeated/input_size_2000-8<td>1.78ms ±14%<td>1.95ms ± 2%<td class='delta'>+9.25%<td class='note'>(p=0.000 n=30+30)
<tr class='worse'><td>Repeated/input_size_5000-8<td>3.65ms ± 1%<td>3.87ms ± 1%<td class='delta'>+5.83%<td class='note'>(p=0.000 n=10+9) <tr class='worse'><td>Repeated/input_size_5000-8<td>3.99ms ± 3%<td>4.58ms ± 2%<td class='delta'>+14.91%<td class='note'>(p=0.000 n=30+27)
<tr class='worse'><td>Repeated/input_size_10000-8<td>7.05ms ± 1%<td>7.51ms ± 1%<td class='delta'>+6.53%<td class='note'>(p=0.000 n=10+10) <tr class='worse'><td>Repeated/input_size_10000-8<td>7.72ms ± 2%<td>8.86ms ± 3%<td class='delta'>+14.69%<td class='note'>(p=0.000 n=29+30)
<tr class='worse'><td>Repeated/input_size_20000-8<td>13.7ms ± 2%<td>14.5ms ± 1%<td class='delta'>+5.94%<td class='note'>(p=0.000 n=10+9) <tr class='worse'><td>Repeated/input_size_20000-8<td>14.9ms ± 4%<td>17.0ms ± 2%<td class='delta'>+13.45%<td class='note'>(p=0.000 n=23+30)
<tr class='unchanged'><td>[Geo mean]<td>1.38ms <td>1.44ms <td class='delta'>+4.75%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>1.50ms <td>1.61ms <td class='delta'>+7.10%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
<tbody> <tbody>
<tr><th><th colspan='2' class='metric'>speed<th>delta <tr><th><th colspan='2' class='metric'>speed<th>delta
<tr class='unchanged'><td>Repeated/input_size_100-8<td>42.3MB/s ± 3%<td>41.4MB/s ± 3%<td class='nodelta'>~<td class='note'>(p=0.089 n=10+10) <tr class='worse'><td>Repeated/input_size_100-8<td>64.2MB/s ± 4%<td>63.3MB/s ± 5%<td class='delta'>−1.31%<td class='note'>(p=0.021 n=30+30)
<tr class='unchanged'><td>Repeated/input_size_200-8<td>64.5MB/s ± 2%<td>62.9MB/s ± 5%<td class='nodelta'>~<td class='note'>(p=0.079 n=9+10) <tr class='unchanged'><td>Repeated/input_size_200-8<td>95.3MB/s ± 3%<td>95.2MB/s ± 4%<td class='nodelta'>~<td class='note'>(p=0.874 n=30+29)
<tr class='worse'><td>Repeated/input_size_500-8<td>89.8MB/s ± 2%<td>85.7MB/s ± 2%<td class='delta'>−4.54%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_500-8<td>130MB/s ± 3%<td>129MB/s ± 3%<td class='nodelta'>~<td class='note'>(p=0.280 n=30+30)
<tr class='worse'><td>Repeated/input_size_1000-8<td>105MB/s ± 2%<td>100MB/s ± 2%<td class='delta'>−4.79%<td class='note'>(p=0.000 n=10+10) <tr class='worse'><td>Repeated/input_size_1000-8<td>136MB/s ±12%<td>130MB/s ± 4%<td class='delta'>−4.15%<td class='note'>(p=0.026 n=30+24)
<tr class='worse'><td>Repeated/input_size_2000-8<td>113MB/s ± 1%<td>108MB/s ± 2%<td class='delta'>−4.99%<td class='note'>(p=0.000 n=9+10) <tr class='worse'><td>Repeated/input_size_2000-8<td>153MB/s ±13%<td>139MB/s ± 2%<td class='delta'>−8.97%<td class='note'>(p=0.000 n=30+30)
<tr class='worse'><td>Repeated/input_size_5000-8<td>120MB/s ± 1%<td>114MB/s ± 1%<td class='delta'>−5.51%<td class='note'>(p=0.000 n=10+9) <tr class='worse'><td>Repeated/input_size_5000-8<td>169MB/s ± 2%<td>147MB/s ± 3%<td class='delta'>−13.15%<td class='note'>(p=0.000 n=30+27)
<tr class='worse'><td>Repeated/input_size_10000-8<td>125MB/s ± 1%<td>117MB/s ± 1%<td class='delta'>−6.13%<td class='note'>(p=0.000 n=10+10) <tr class='worse'><td>Repeated/input_size_10000-8<td>175MB/s ± 4%<td>152MB/s ± 3%<td class='delta'>−12.70%<td class='note'>(p=0.000 n=30+30)
<tr class='worse'><td>Repeated/input_size_20000-8<td>129MB/s ± 2%<td>122MB/s ± 1%<td class='delta'>−5.62%<td class='note'>(p=0.000 n=10+9) <tr class='worse'><td>Repeated/input_size_20000-8<td>179MB/s ±10%<td>159MB/s ± 2%<td class='delta'>−11.06%<td class='note'>(p=0.000 n=25+30)
<tr class='unchanged'><td>[Geo mean]<td>93.1MB/s <td>88.9MB/s <td class='delta'>−4.53%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>131MB/s <td>122MB/s <td class='delta'>−6.64%<td class='note'>
<tr><td>&nbsp;
</tbody>
<tbody>
<tr><th><th colspan='2' class='metric'>tps<th>delta
<tr class='better'><td>Repeated/input_size_100-8<td>4.74k ± 4%<td>4.68k ± 5%<td class='delta'>−1.32%<td class='note'>(p=0.021 n=30+30)
<tr class='unchanged'><td>Repeated/input_size_200-8<td>3.52k ± 3%<td>3.52k ± 4%<td class='nodelta'>~<td class='note'>(p=0.879 n=30+29)
<tr class='unchanged'><td>Repeated/input_size_500-8<td>1.92k ± 3%<td>1.91k ± 3%<td class='nodelta'>~<td class='note'>(p=0.274 n=30+30)
<tr class='better'><td>Repeated/input_size_1000-8<td>1.00k ±12%<td>0.96k ± 4%<td class='delta'>−4.15%<td class='note'>(p=0.026 n=30+24)
<tr class='better'><td>Repeated/input_size_2000-8<td>565 ±13%<td>514 ± 2%<td class='delta'>−8.97%<td class='note'>(p=0.000 n=30+30)
<tr class='better'><td>Repeated/input_size_5000-8<td>251 ± 2%<td>218 ± 3%<td class='delta'>−13.15%<td class='note'>(p=0.000 n=30+27)
<tr class='better'><td>Repeated/input_size_10000-8<td>129 ± 4%<td>113 ± 3%<td class='delta'>−12.69%<td class='note'>(p=0.000 n=30+30)
<tr class='better'><td>Repeated/input_size_20000-8<td>66.4 ±10%<td>59.0 ± 2%<td class='delta'>−11.09%<td class='note'>(p=0.000 n=25+30)
<tr class='unchanged'><td>[Geo mean]<td>667 <td>623 <td class='delta'>−6.64%<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_100-8<td>226kB ± 0%<td>240kB ± 0%<td class='delta'>+6.07%<td class='note'>(p=0.000 n=9+9) <tr class='unchanged'><td>Repeated/input_size_100-8<td>254kB ± 0%<td>254kB ± 0%<td class='nodelta'>~<td class='note'>(p=0.371 n=23+24)
<tr class='worse'><td>Repeated/input_size_200-8<td>310kB ± 0%<td>337kB ± 0%<td class='delta'>+8.84%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_200-8<td>365kB ± 0%<td>365kB ± 0%<td class='nodelta'>~<td class='note'>(p=0.643 n=29+28)
<tr class='worse'><td>Repeated/input_size_500-8<td>554kB ± 0%<td>627kB ± 0%<td class='delta'>+13.35%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_500-8<td>702kB ± 0%<td>702kB ± 0%<td class='nodelta'>~<td class='note'>(p=0.113 n=30+30)
<tr class='worse'><td>Repeated/input_size_1000-8<td>947kB ± 0%<td>1087kB ± 0%<td class='delta'>+14.72%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_1000-8<td>1.23MB ± 0%<td>1.23MB ± 0%<td class='nodelta'>~<td class='note'>(p=0.234 n=29+30)
<tr class='worse'><td>Repeated/input_size_2000-8<td>1.74MB ± 0%<td>2.01MB ± 0%<td class='delta'>+15.59%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_2000-8<td>2.28MB ± 0%<td>2.28MB ± 0%<td class='nodelta'>~<td class='note'>(p=0.813 n=30+30)
<tr class='worse'><td>Repeated/input_size_5000-8<td>4.11MB ± 0%<td>4.80MB ± 0%<td class='delta'>+16.54%<td class='note'>(p=0.000 n=10+10) <tr class='worse'><td>Repeated/input_size_5000-8<td>5.48MB ± 0%<td>5.48MB ± 0%<td class='delta'>+0.00%<td class='note'>(p=0.015 n=30+28)
<tr class='worse'><td>Repeated/input_size_10000-8<td>8.07MB ± 0%<td>9.42MB ± 0%<td class='delta'>+16.76%<td class='note'>(p=0.000 n=9+9) <tr class='unchanged'><td>Repeated/input_size_10000-8<td>10.8MB ± 0%<td>10.8MB ± 0%<td class='nodelta'>~<td class='note'>(p=0.285 n=30+29)
<tr class='worse'><td>Repeated/input_size_20000-8<td>16.0MB ± 0%<td>18.7MB ± 0%<td class='delta'>+16.92%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_20000-8<td>21.4MB ± 0%<td>21.4MB ± 0%<td class='nodelta'>~<td class='note'>(p=0.605 n=29+27)
<tr class='unchanged'><td>[Geo mean]<td>1.55MB <td>1.76MB <td class='delta'>+13.53%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>1.97MB <td>1.97MB <td class='delta'>+0.00%<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>2.11k ± 0%<td>2.11k ± 0%<td class='delta'>+0.11%<td class='note'>(p=0.000 n=10+7) <tr class='unchanged'><td>Repeated/input_size_100-8<td>2.12k ± 0%<td>2.12k ± 0%<td class='nodelta'>~<td class='note'>(all equal)
<tr class='worse'><td>Repeated/input_size_200-8<td>3.61k ± 0%<td>3.61k ± 0%<td class='delta'>+0.08%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_200-8<td>3.62k ± 0%<td>3.62k ± 0%<td class='nodelta'>~<td class='note'>(all equal)
<tr class='worse'><td>Repeated/input_size_500-8<td>8.13k ± 0%<td>8.13k ± 0%<td class='delta'>+0.05%<td class='note'>(p=0.000 n=8+8) <tr class='unchanged'><td>Repeated/input_size_500-8<td>8.14k ± 0%<td>8.14k ± 0%<td class='nodelta'>~<td class='note'>(all equal)
<tr class='worse'><td>Repeated/input_size_1000-8<td>15.6k ± 0%<td>15.6k ± 0%<td class='delta'>+0.03%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_1000-8<td>15.6k ± 0%<td>15.6k ± 0%<td class='nodelta'>~<td class='note'>(p=0.106 n=30+30)
<tr class='worse'><td>Repeated/input_size_2000-8<td>30.7k ± 0%<td>30.7k ± 0%<td class='delta'>+0.01%<td class='note'>(p=0.000 n=8+9) <tr class='unchanged'><td>Repeated/input_size_2000-8<td>30.7k ± 0%<td>30.7k ± 0%<td class='nodelta'>~<td class='note'>(p=0.728 n=30+30)
<tr class='worse'><td>Repeated/input_size_5000-8<td>75.7k ± 0%<td>75.7k ± 0%<td class='delta'>+0.01%<td class='note'>(p=0.000 n=9+10) <tr class='worse'><td>Repeated/input_size_5000-8<td>75.7k ± 0%<td>75.7k ± 0%<td class='delta'>+0.00%<td class='note'>(p=0.000 n=29+29)
<tr class='worse'><td>Repeated/input_size_10000-8<td>151k ± 0%<td>151k ± 0%<td class='delta'>+0.00%<td class='note'>(p=0.000 n=10+10) <tr class='unchanged'><td>Repeated/input_size_10000-8<td>151k ± 0%<td>151k ± 0%<td class='nodelta'>~<td class='note'>(p=0.087 n=30+30)
<tr class='worse'><td>Repeated/input_size_20000-8<td>301k ± 0%<td>301k ± 0%<td class='delta'>+0.00%<td class='note'>(p=0.004 n=9+10) <tr class='worse'><td>Repeated/input_size_20000-8<td>301k ± 0%<td>301k ± 0%<td class='delta'>+0.00%<td class='note'>(p=0.019 n=29+28)
<tr class='unchanged'><td>[Geo mean]<td>23.8k <td>23.8k <td class='delta'>+0.04%<td class='note'> <tr class='unchanged'><td>[Geo mean]<td>23.8k <td>23.8k <td class='delta'>+0.00%<td class='note'>
<tr><td>&nbsp; <tr><td>&nbsp;
</tbody> </tbody>
......
...@@ -4,7 +4,7 @@ go 1.18 ...@@ -4,7 +4,7 @@ go 1.18
require ( require (
github.com/ethereum/go-ethereum v1.10.26 github.com/ethereum/go-ethereum v1.10.26
google.golang.org/grpc v1.50.1 google.golang.org/grpc v1.51.0
google.golang.org/protobuf v1.28.1 google.golang.org/protobuf v1.28.1
) )
...@@ -15,11 +15,11 @@ require ( ...@@ -15,11 +15,11 @@ require (
github.com/golang/protobuf v1.5.2 // indirect github.com/golang/protobuf v1.5.2 // indirect
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
golang.org/x/net v0.2.0 // indirect golang.org/x/net v0.3.0 // indirect
golang.org/x/sys v0.2.0 // indirect golang.org/x/sys v0.3.0 // indirect
golang.org/x/text v0.4.0 // indirect golang.org/x/text v0.5.0 // indirect
golang.org/x/tools v0.1.12 // indirect golang.org/x/tools v0.1.12 // indirect
golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df // indirect golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df // indirect
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 // indirect google.golang.org/genproto v0.0.0-20221205194025-8222ab48f5fc // indirect
google.golang.org/grpc/examples v0.0.0-20221202020918-001d234e1f2d // indirect google.golang.org/grpc/examples v0.0.0-20221202020918-001d234e1f2d // indirect
) )
...@@ -75,6 +75,8 @@ golang.org/x/net v0.0.0-20220607020251-c690dde0001d h1:4SFsTMi4UahlKoloni7L4eYzh ...@@ -75,6 +75,8 @@ golang.org/x/net v0.0.0-20220607020251-c690dde0001d h1:4SFsTMi4UahlKoloni7L4eYzh
golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU= golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.3.0 h1:VWL6FNY2bEEmsGVKabSlHu5Irp34xmMRoqb/9lF9lxk=
golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
...@@ -90,6 +92,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbuf ...@@ -90,6 +92,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbuf
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
...@@ -97,6 +101,8 @@ golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= ...@@ -97,6 +101,8 @@ golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM=
golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
...@@ -122,11 +128,15 @@ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaR ...@@ -122,11 +128,15 @@ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaR
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 h1:a2S6M0+660BgMNl++4JPlcAO/CjkqYItDEZwkoDQK7c= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 h1:a2S6M0+660BgMNl++4JPlcAO/CjkqYItDEZwkoDQK7c=
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
google.golang.org/genproto v0.0.0-20221205194025-8222ab48f5fc h1:nUKKji0AarrQKh6XpFEpG3p1TNztxhe7C8TcUvDgXqw=
google.golang.org/genproto v0.0.0-20221205194025-8222ab48f5fc/go.mod h1:1dOng4TWOomJrDGhpXjfCD35wQC6jnC7HpRmOFRqEV0=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY= google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY=
google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U=
google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
google.golang.org/grpc/examples v0.0.0-20221202020918-001d234e1f2d h1:IbYdIWUmlXSfKNxxWYJLWpwekZh/7ZvFdmbAcSo8ygA= google.golang.org/grpc/examples v0.0.0-20221202020918-001d234e1f2d h1:IbYdIWUmlXSfKNxxWYJLWpwekZh/7ZvFdmbAcSo8ygA=
google.golang.org/grpc/examples v0.0.0-20221202020918-001d234e1f2d/go.mod h1:jMMKnsR3nPEOSsgT/Le2GxpknJOBOQms0nWb0JRgeUM= google.golang.org/grpc/examples v0.0.0-20221202020918-001d234e1f2d/go.mod h1:jMMKnsR3nPEOSsgT/Le2GxpknJOBOQms0nWb0JRgeUM=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
......
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