Skip to content

Instantly share code, notes, and snippets.

@jwasinger
Last active December 9, 2024 14:47
Show Gist options
  • Save jwasinger/01c3a200f2eaf115488bb07e1fd3f173 to your computer and use it in GitHub Desktop.
Save jwasinger/01c3a200f2eaf115488bb07e1fd3f173 to your computer and use it in GitHub Desktop.
EIP-2537 Geth Repricing Performance
goos: darwin
goarch: arm64
pkg: github.com/ethereum/go-ethereum/core/vm
BenchmarkPrecompiledBLS12381G1Add/matter_g1_add_0-Gas=375 399669 3024 ns/op 375.0 gas/op 124.0 mgas/s 320 B/op 3 allocs/op
BenchmarkPrecompiledBLS12381G1Add/matter_g1_add_1-Gas=375 391653 3003 ns/op 375.0 gas/op 124.8 mgas/s 320 B/op 3 allocs/op
BenchmarkPrecompiledBLS12381G1Add/matter_g1_add_2-Gas=375 400021 3063 ns/op 375.0 gas/op 122.4 mgas/s 320 B/op 3 allocs/op
BenchmarkPrecompiledBLS12381G1Add/matter_g1_add_3-Gas=375 392281 3046 ns/op 375.0 gas/op 123.1 mgas/s 320 B/op 3 allocs/op
BenchmarkPrecompiledBLS12381G1Mul/matter_g1_mul_0-Gas=12000 9206 125033 ns/op 12000 gas/op 95.97 mgas/s 1088 B/op 14 allocs/op
BenchmarkPrecompiledBLS12381G1Mul/matter_g1_mul_1-Gas=12000 9118 125131 ns/op 12000 gas/op 95.89 mgas/s 1024 B/op 13 allocs/op
BenchmarkPrecompiledBLS12381G1Mul/matter_g1_mul_2-Gas=12000 9144 124981 ns/op 12000 gas/op 96.01 mgas/s 1072 B/op 14 allocs/op
BenchmarkPrecompiledBLS12381G1Mul/matter_g1_mul_3-Gas=12000 9194 126346 ns/op 12000 gas/op 94.97 mgas/s 1024 B/op 13 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-1-jwasinger-Gas=21600 4453 275751 ns/op 21600 gas/op 78.32 mgas/s 30208 B/op 145 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-2-jwasinger-Gas=21312 3357 347394 ns/op 21312 gas/op 61.34 mgas/s 30976 B/op 153 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-3-jwasinger-Gas=34380 2862 419467 ns/op 34380 gas/op 81.95 mgas/s 31744 B/op 161 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-4-jwasinger-Gas=38496 2320 493104 ns/op 38496 gas/op 78.06 mgas/s 32512 B/op 169 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-5-jwasinger-Gas=44580 2079 576473 ns/op 44580 gas/op 77.33 mgas/s 33280 B/op 177 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-6-jwasinger-Gas=59112 1846 647779 ns/op 59112 gas/op 91.25 mgas/s 34048 B/op 185 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-7-jwasinger-Gas=63000 1694 705073 ns/op 63000 gas/op 89.34 mgas/s 34848 B/op 193 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-8-jwasinger-Gas=65280 1519 778286 ns/op 65280 gas/op 83.87 mgas/s 35584 B/op 201 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-9-jwasinger-Gas=70956 1404 865590 ns/op 70956 gas/op 81.97 mgas/s 36384 B/op 209 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-10-jwasinger-Gas=76200 1269 937170 ns/op 76200 gas/op 81.30 mgas/s 37184 B/op 217 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-11-jwasinger-Gas=80784 1189 1015145 ns/op 80784 gas/op 79.57 mgas/s 37984 B/op 225 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-12-jwasinger-Gas=85104 1110 1110729 ns/op 85104 gas/op 76.61 mgas/s 38656 B/op 233 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-13-jwasinger-Gas=103584 1022 1196263 ns/op 103584 gas/op 86.58 mgas/s 39536 B/op 240 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-14-jwasinger-Gas=107016 944 1221571 ns/op 107016 gas/op 87.60 mgas/s 40160 B/op 247 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-15-jwasinger-Gas=109980 921 1282508 ns/op 109980 gas/op 85.75 mgas/s 41040 B/op 254 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-16-jwasinger-Gas=112320 868 1371776 ns/op 112320 gas/op 81.87 mgas/s 41536 B/op 261 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-17-jwasinger-Gas=117912 819 1460016 ns/op 117912 gas/op 80.75 mgas/s 42576 B/op 268 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-18-jwasinger-Gas=123336 781 1527309 ns/op 123336 gas/op 80.75 mgas/s 43040 B/op 275 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-19-jwasinger-Gas=128592 741 1601210 ns/op 128592 gas/op 80.30 mgas/s 44208 B/op 282 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-20-jwasinger-Gas=133680 708 1689232 ns/op 133680 gas/op 79.13 mgas/s 44672 B/op 289 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-21-jwasinger-Gas=158256 684 1786754 ns/op 158256 gas/op 88.56 mgas/s 45200 B/op 296 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-22-jwasinger-Gas=163680 655 1826999 ns/op 163680 gas/op 89.58 mgas/s 46304 B/op 303 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-23-jwasinger-Gas=168912 626 1892097 ns/op 168912 gas/op 89.26 mgas/s 46832 B/op 310 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-24-jwasinger-Gas=173952 606 1976368 ns/op 173952 gas/op 88.01 mgas/s 47296 B/op 317 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-25-jwasinger-Gas=178800 580 2055185 ns/op 178800 gas/op 86.99 mgas/s 48400 B/op 324 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-26-jwasinger-Gas=183456 560 2126603 ns/op 183456 gas/op 86.26 mgas/s 49120 B/op 331 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-27-jwasinger-Gas=187272 547 2181393 ns/op 187272 gas/op 85.84 mgas/s 49584 B/op 338 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-28-jwasinger-Gas=191520 534 2272963 ns/op 191520 gas/op 84.25 mgas/s 50688 B/op 345 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-29-jwasinger-Gas=195576 507 2431954 ns/op 195576 gas/op 80.41 mgas/s 51664 B/op 352 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-30-jwasinger-Gas=249480 500 2410195 ns/op 249480 gas/op 103.5 mgas/s 52128 B/op 359 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-31-jwasinger-Gas=254076 466 2510139 ns/op 254076 gas/op 101.2 mgas/s 52592 B/op 366 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-64-jwasinger-Gas=426240 244 4879569 ns/op 426240 gas/op 87.34 mgas/s 68832 B/op 571 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-128-jwasinger-Gas=668160 124 9359403 ns/op 668160 gas/op 71.38 mgas/s 113760 B/op 1019 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-256-jwasinger-Gas=1336320 63 18600624 ns/op 1336320 gas/op 71.84 mgas/s 196832 B/op 1899 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-512-jwasinger-Gas=2672640 32 36181277 ns/op 2672640 gas/op 73.86 mgas/s 361856 B/op 3679 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-1024-jwasinger-Gas=5345280 16 71046648 ns/op 5345280 gas/op 75.23 mgas/s 687169 B/op 7253 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-2048-jwasinger-Gas=10690560 8 142025193 ns/op 10690560 gas/op 75.27 mgas/s 1374546 B/op 14506 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExp/g1msm-4877-jwasinger-Gas=25457940 3 337660500 ns/op 25457940 gas/op 75.39 mgas/s 3225221 B/op 34297 allocs/op
BenchmarkPrecompiledBLS12381G2Add/matter_g2_add_0-Gas=600 253002 4731 ns/op 600.0 gas/op 126.8 mgas/s 640 B/op 3 allocs/op
BenchmarkPrecompiledBLS12381G2Add/matter_g2_add_1-Gas=600 253126 4739 ns/op 600.0 gas/op 126.6 mgas/s 640 B/op 3 allocs/op
BenchmarkPrecompiledBLS12381G2Add/matter_g2_add_2-Gas=600 255013 4749 ns/op 600.0 gas/op 126.3 mgas/s 640 B/op 3 allocs/op
BenchmarkPrecompiledBLS12381G2Add/matter_g2_add_3-Gas=600 244747 4876 ns/op 600.0 gas/op 123.0 mgas/s 640 B/op 3 allocs/op
BenchmarkPrecompiledBLS12381G2Mul/matter_g2_mul_0-Gas=22500 3879 312321 ns/op 22500 gas/op 72.03 mgas/s 1128 B/op 11 allocs/op
BenchmarkPrecompiledBLS12381G2Mul/matter_g2_mul_1-Gas=22500 3700 310892 ns/op 22500 gas/op 72.36 mgas/s 1064 B/op 10 allocs/op
BenchmarkPrecompiledBLS12381G2Mul/matter_g2_mul_2-Gas=22500 3877 301540 ns/op 22500 gas/op 74.61 mgas/s 1112 B/op 11 allocs/op
BenchmarkPrecompiledBLS12381G2Mul/matter_g2_mul_3-Gas=22500 3832 312611 ns/op 22500 gas/op 71.97 mgas/s 1064 B/op 10 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-1-jwasinger-Gas=40500 1712 692326 ns/op 40500 gas/op 58.49 mgas/s 42632 B/op 142 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-2-jwasinger-Gas=79920 1431 809118 ns/op 79920 gas/op 98.77 mgas/s 43408 B/op 147 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-3-jwasinger-Gas=103140 1310 909424 ns/op 103140 gas/op 113.4 mgas/s 44184 B/op 152 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-4-jwasinger-Gas=115380 1155 1038616 ns/op 115380 gas/op 111.1 mgas/s 44960 B/op 157 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-5-jwasinger-Gas=133650 1026 1212276 ns/op 133650 gas/op 110.2 mgas/s 45800 B/op 162 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-6-jwasinger-Gas=184680 878 1365008 ns/op 184680 gas/op 135.3 mgas/s 46512 B/op 167 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-7-jwasinger-Gas=196875 840 1453856 ns/op 196875 gas/op 135.4 mgas/s 47352 B/op 172 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-8-jwasinger-Gas=203940 759 1566693 ns/op 203940 gas/op 130.2 mgas/s 48064 B/op 177 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-9-jwasinger-Gas=221737 708 1687185 ns/op 221737 gas/op 131.4 mgas/s 48904 B/op 182 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-10-jwasinger-Gas=285525 658 1813047 ns/op 285525 gas/op 157.5 mgas/s 49744 B/op 187 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-11-jwasinger-Gas=302940 613 1950677 ns/op 302940 gas/op 155.3 mgas/s 50584 B/op 192 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-12-jwasinger-Gas=319140 579 2189391 ns/op 319140 gas/op 145.8 mgas/s 51168 B/op 197 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-13-jwasinger-Gas=332572 529 2266906 ns/op 332572 gas/op 146.7 mgas/s 52216 B/op 201 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-14-jwasinger-Gas=401310 502 2384637 ns/op 401310 gas/op 168.3 mgas/s 52624 B/op 205 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-15-jwasinger-Gas=412425 478 2521439 ns/op 412425 gas/op 163.6 mgas/s 53672 B/op 209 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-16-jwasinger-Gas=420840 456 2670973 ns/op 420840 gas/op 157.6 mgas/s 54080 B/op 213 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-17-jwasinger-Gas=441787 427 2760828 ns/op 441787 gas/op 160.0 mgas/s 55160 B/op 217 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-18-jwasinger-Gas=462105 412 2913667 ns/op 462105 gas/op 158.6 mgas/s 55536 B/op 221 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-19-jwasinger-Gas=481792 387 3121270 ns/op 481792 gas/op 154.3 mgas/s 57000 B/op 225 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-20-jwasinger-Gas=500850 368 3201620 ns/op 500850 gas/op 156.4 mgas/s 57376 B/op 229 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-21-jwasinger-Gas=593460 361 3335508 ns/op 593460 gas/op 177.9 mgas/s 57816 B/op 233 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-22-jwasinger-Gas=613800 346 3469771 ns/op 613800 gas/op 176.9 mgas/s 59344 B/op 237 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-23-jwasinger-Gas=633420 330 3638409 ns/op 633420 gas/op 174.1 mgas/s 59784 B/op 241 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-24-jwasinger-Gas=652320 303 3717612 ns/op 652320 gas/op 175.5 mgas/s 60160 B/op 245 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-25-jwasinger-Gas=670500 312 3916034 ns/op 670500 gas/op 171.2 mgas/s 60792 B/op 249 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-26-jwasinger-Gas=687960 298 3979268 ns/op 687960 gas/op 172.9 mgas/s 61936 B/op 253 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-27-jwasinger-Gas=702270 284 4155673 ns/op 702270 gas/op 169.0 mgas/s 62312 B/op 257 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-28-jwasinger-Gas=718200 268 4294185 ns/op 718200 gas/op 167.2 mgas/s 63328 B/op 261 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-29-jwasinger-Gas=733410 271 4363672 ns/op 733410 gas/op 168.1 mgas/s 64600 B/op 265 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-30-jwasinger-Gas=747900 266 4530019 ns/op 747900 gas/op 165.1 mgas/s 64976 B/op 269 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-31-jwasinger-Gas=761670 259 4660003 ns/op 761670 gas/op 163.4 mgas/s 65352 B/op 273 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-64-jwasinger-Gas=1278720 132 8901193 ns/op 1278720 gas/op 143.7 mgas/s 79264 B/op 379 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-128-jwasinger-Gas=2004480 67 17307606 ns/op 2004480 gas/op 115.8 mgas/s 124704 B/op 635 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-256-jwasinger-Gas=4008960 34 33782598 ns/op 4008960 gas/op 118.7 mgas/s 207264 B/op 1131 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-512-jwasinger-Gas=8017920 18 64440940 ns/op 8017920 gas/op 124.4 mgas/s 373184 B/op 2143 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExp/g2msm-1024-jwasinger-Gas=16035840 8 128219318 ns/op 16035840 gas/op 125.1 mgas/s 701632 B/op 4181 allocs/op
BenchmarkPrecompiledBLS12381Pairing/bls_pairing_e(2*G1,3*G2)=e(6*G1,G2)-Gas=181200 940 1261630 ns/op 181200 gas/op 143.6 mgas/s 7592 B/op 60 allocs/op
BenchmarkPrecompiledBLS12381Pairing/bls_pairing_e(2*G1,3*G2)=e(5*G1,G2)-Gas=181200 942 1264935 ns/op 181200 gas/op 143.2 mgas/s 7592 B/op 60 allocs/op
BenchmarkPrecompiledBLS12381Pairing/bls_pairing_10paircheckstrue-Gas=594000 276 4436297 ns/op 594000 gas/op 133.9 mgas/s 27368 B/op 154 allocs/op
BenchmarkPrecompiledBLS12381Pairing/bls_pairing_10pairchecksfalse-Gas=594000 273 4408238 ns/op 594000 gas/op 134.7 mgas/s 27368 B/op 154 allocs/op
BenchmarkPrecompiledBLS12381Pairing/matter_pairing_0-Gas=129600 1362 918634 ns/op 129600 gas/op 141.1 mgas/s 5600 B/op 47 allocs/op
BenchmarkPrecompiledBLS12381Pairing/matter_pairing_1-Gas=129600 1305 878629 ns/op 129600 gas/op 147.5 mgas/s 5600 B/op 47 allocs/op
BenchmarkPrecompiledBLS12381Pairing/matter_pairing_2-Gas=129600 1336 889301 ns/op 129600 gas/op 145.7 mgas/s 5600 B/op 47 allocs/op
BenchmarkPrecompiledBLS12381Pairing/matter_pairing_3-Gas=129600 1393 873297 ns/op 129600 gas/op 148.4 mgas/s 5600 B/op 47 allocs/op
BenchmarkPrecompiledBLS12381Pairing/matter_pairing_4-Gas=129600 1366 882283 ns/op 129600 gas/op 146.9 mgas/s 5600 B/op 47 allocs/op
BenchmarkPrecompiledBLS12381MapG1/matter_fp_to_g1_0-Gas=4125 21406 54182 ns/op 4125 gas/op 76.12 mgas/s 560 B/op 9 allocs/op
BenchmarkPrecompiledBLS12381MapG1/matter_fp_to_g1_1-Gas=4125 22028 57323 ns/op 4125 gas/op 71.95 mgas/s 560 B/op 9 allocs/op
BenchmarkPrecompiledBLS12381MapG1/matter_fp_to_g1_2-Gas=4125 20290 59142 ns/op 4125 gas/op 69.74 mgas/s 560 B/op 9 allocs/op
BenchmarkPrecompiledBLS12381MapG2/matter_fp2_to_g2_0-Gas=17000 3955 305393 ns/op 17000 gas/op 55.66 mgas/s 1120 B/op 17 allocs/op
BenchmarkPrecompiledBLS12381MapG2/matter_fp2_to_g2_1-Gas=17000 4105 289019 ns/op 17000 gas/op 58.81 mgas/s 1120 B/op 17 allocs/op
BenchmarkPrecompiledBLS12381MapG2/matter_fp2_to_g2_2-Gas=17000 4215 290720 ns/op 17000 gas/op 58.47 mgas/s 1120 B/op 17 allocs/op
BenchmarkPrecompiledBLS12381MapG2/matter_fp2_to_g2_3-Gas=17000 4282 283184 ns/op 17000 gas/op 60.02 mgas/s 1120 B/op 17 allocs/op
BenchmarkPrecompiledBLS12381G1MultiExpWorstCase/WorstCaseG1-Gas=24993360 4 297761854 ns/op 24993360 gas/op 83.93 mgas/s 3266542 B/op 43256 allocs/op
BenchmarkPrecompiledBLS12381G2MultiExpWorstCase/WorstCaseG2-Gas=16302060 9 122184977 ns/op 16302060 gas/op 133.4 mgas/s 757796 B/op 6333 allocs/op
PASS
ok github.com/ethereum/go-ethereum/core/vm 153.644s
@jwasinger
Copy link
Author

jwasinger commented Dec 9, 2024

>  go test -bench=PrecompiledEcrecover -run=^$
goos: darwin
goarch: arm64
pkg: github.com/ethereum/go-ethereum/core/vm
BenchmarkPrecompiledEcrecover/-Gas=3000-12         	   25498	     47453 ns/op	      3000 gas/op	        63.21 mgas/s	     768 B/op	       7 allocs/op```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment