Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
MetaProtocol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nebula
MetaProtocol
Commits
a3a612d8
Commit
a3a612d8
authored
Dec 06, 2022
by
Ubuntu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add tps
parent
44089981
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
790 additions
and
298 deletions
+790
-298
RepeatedEthTx.txt
benchmark/RepeatedEthTx.txt
+241
-81
RepeatedTxEthAsAny.txt
benchmark/RepeatedTxEthAsAny.txt
+241
-81
benchmark_test.go
benchmark/benchmark_test.go
+29
-13
none.html
benchmark/none.html
+48
-34
stat_test.go
benchmark/stat_test.go
+37
-7
test_test.go
benchmark/test_test.go
+79
-5
ttest.html
benchmark/ttest.html
+50
-36
utest.html
benchmark/utest.html
+50
-36
go.mod
go.mod
+5
-5
go.sum
go.sum
+10
-0
No files found.
benchmark/RepeatedEthTx.txt
View file @
a3a612d8
...
@@ -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.955
s
ok github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark
342.727
s
benchmark/RepeatedTxEthAsAny.txt
View file @
a3a612d8
...
@@ -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.050
s
ok github.com/CaduceusMetaverseProtocol/metaprotocol/benchmark
345.885
s
benchmark/benchmark_test.go
View file @
a3a612d8
...
@@ -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
)
{
...
...
benchmark/none.html
View file @
a3a612d8
...
@@ -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>
2
08µs ± 3%
<td>
213µs ± 3%
<td
class=
'delta'
>
+2.21
%
<td
class=
'note'
>
<tr
class=
'worse'
><td>
Repeated/input_size_100-8
<td>
2
11µs ± 4%
<td>
214µs ± 5%
<td
class=
'delta'
>
+1.35
%
<td
class=
'note'
>
<tr
class=
'worse'
><td>
Repeated/input_size_200-8
<td>
2
73µs ± 2%
<td>
280µs ± 6%
<td
class=
'delta'
>
+2.53
%
<td
class=
'note'
>
<tr
class=
'worse'
><td>
Repeated/input_size_200-8
<td>
2
84µ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>
1
3.7ms ± 2%
<td>
14.5ms ± 1%
<td
class=
'delta'
>
+5.94
%
<td
class=
'note'
>
<tr
class=
'worse'
><td>
Repeated/input_size_20000-8
<td>
1
4.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>
<tr><td>
</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>
</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>
<tr><td>
</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>
2
26kB ± 0%
<td>
240kB ± 0%
<td
class=
'delta'
>
+6.07
%
<td
class=
'note'
>
<tr
class=
'worse'
><td>
Repeated/input_size_100-8
<td>
2
54kB ± 0%
<td>
254kB ± 0%
<td
class=
'delta'
>
+0.00
%
<td
class=
'note'
>
<tr
class=
'worse'
><td>
Repeated/input_size_200-8
<td>
3
10kB ± 0%
<td>
337kB ± 0%
<td
class=
'delta'
>
+8.84
%
<td
class=
'note'
>
<tr
class=
'worse'
><td>
Repeated/input_size_200-8
<td>
3
65kB ± 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>
<tr><td>
</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.0
1
%
<td
class=
'note'
>
<tr
class=
'worse'
><td>
Repeated/input_size_5000-8
<td>
75.7k ± 0%
<td>
75.7k ± 0%
<td
class=
'delta'
>
+0.0
0
%
<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.0
4
%
<td
class=
'note'
>
<tr
class=
'unchanged'
><td>
[Geo mean]
<td>
23.8k
<td>
23.8k
<td
class=
'delta'
>
+0.0
0
%
<td
class=
'note'
>
<tr><td>
<tr><td>
</tbody>
</tbody>
...
...
benchmark/stat_test.go
View file @
a3a612d8
...
@@ -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
1
0 | tee RepeatedEthTx.txt
//go test -v -run BenchmarkAnyTxEth -bench BenchmarkRepeated -benchmem -count
3
0 | tee RepeatedEthTx.txt
//RepeatedEthTx(v.input, b)
//RepeatedEthTx(v.input, b)
//go test -v -run BenchmarkAnyTxEth -bench BenchmarkRepeated -benchmem -count
1
0 | tee RepeatedTxEthAsAny.txt
//go test -v -run BenchmarkAnyTxEth -bench BenchmarkRepeated -benchmem -count
3
0 | tee RepeatedTxEthAsAny.txt
RepeatedTxEthAsAny
(
v
.
input
,
b
)
RepeatedTxEthAsAny
(
v
.
input
,
b
)
})
})
}
}
}
}
...
...
benchmark/test_test.go
View file @
a3a612d8
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
}
}
benchmark/ttest.html
View file @
a3a612d8
...
@@ -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+1
0)
<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+3
0)
<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+1
0)
<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+3
0)
<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+1
0)
<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+3
0)
<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+1
0)
<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+3
0)
<tr
class=
'worse'
><td>
Repeated/input_size_20000-8
<td>
1
3.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>
1
4.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>
<tr><td>
</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>
</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>
<tr><td>
</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+1
0)
<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+3
0)
<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+1
0)
<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+3
0)
<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+1
0)
<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+3
0)
<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+2
9)
<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>
<tr><td>
</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.6
1k ± 0%
<td>
3.61
k ± 0%
<td
class=
'nodelta'
>
~
<td
class=
'note'
>
(zero variance)
<tr
class=
'unchanged'
><td>
Repeated/input_size_200-8
<td>
3.6
2k ± 0%
<td>
3.62
k ± 0%
<td
class=
'nodelta'
>
~
<td
class=
'note'
>
(zero variance)
<tr
class=
'unchanged'
><td>
Repeated/input_size_500-8
<td>
8.1
3k ± 0%
<td>
8.13
k ± 0%
<td
class=
'nodelta'
>
~
<td
class=
'note'
>
(zero variance)
<tr
class=
'unchanged'
><td>
Repeated/input_size_500-8
<td>
8.1
4k ± 0%
<td>
8.14
k ± 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+1
0)
<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+3
0)
<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.0
1%
<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.0
0%
<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+1
0)
<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+3
0)
<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.0
04 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.0
17 n=29+28
)
<tr
class=
'unchanged'
><td>
[Geo mean]
<td>
23.8k
<td>
23.8k
<td
class=
'delta'
>
+0.0
4
%
<td
class=
'note'
>
<tr
class=
'unchanged'
><td>
[Geo mean]
<td>
23.8k
<td>
23.8k
<td
class=
'delta'
>
+0.0
0
%
<td
class=
'note'
>
<tr><td>
<tr><td>
</tbody>
</tbody>
...
...
benchmark/utest.html
View file @
a3a612d8
...
@@ -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+1
0)
<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+3
0)
<tr
class=
'unchanged'
><td>
Repeated/input_size_200-8
<td>
2
73µ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>
2
84µ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+1
0)
<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+3
0)
<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+1
0)
<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+3
0)
<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+1
0)
<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+3
0)
<tr
class=
'worse'
><td>
Repeated/input_size_20000-8
<td>
1
3.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>
1
4.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>
<tr><td>
</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>
</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>
<tr><td>
</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+1
0)
<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+3
0)
<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+1
0)
<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+3
0)
<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+1
0)
<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+3
0)
<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+2
9)
<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>
<tr><td>
</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+1
0)
<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+3
0)
<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.0
1%
<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.0
0%
<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+1
0)
<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+3
0)
<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.0
04 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.0
19 n=29+28
)
<tr
class=
'unchanged'
><td>
[Geo mean]
<td>
23.8k
<td>
23.8k
<td
class=
'delta'
>
+0.0
4
%
<td
class=
'note'
>
<tr
class=
'unchanged'
><td>
[Geo mean]
<td>
23.8k
<td>
23.8k
<td
class=
'delta'
>
+0.0
0
%
<td
class=
'note'
>
<tr><td>
<tr><td>
</tbody>
</tbody>
...
...
go.mod
View file @
a3a612d8
...
@@ -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.5
0.1
google.golang.org/grpc v1.5
1.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-20221
118155620-16455021b5e6
// indirect
google.golang.org/genproto v0.0.0-20221
205194025-8222ab48f5fc
// indirect
google.golang.org/grpc/examples v0.0.0-20221202020918-001d234e1f2d // indirect
google.golang.org/grpc/examples v0.0.0-20221202020918-001d234e1f2d // indirect
)
)
go.sum
View file @
a3a612d8
...
@@ -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=
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment