Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: revert "feat: asyncAggregateWithRandomness (#7204) (#7435)" #7450

Merged
merged 1 commit into from
Feb 11, 2025

Conversation

wemeetagain
Copy link
Member

This reverts commit a7755ad.

@wemeetagain wemeetagain requested a review from a team as a code owner February 11, 2025 20:26
@wemeetagain wemeetagain changed the title Revert "feat: asyncAggregateWithRandomness (#7204) (#7435)" feat: revert "feat: asyncAggregateWithRandomness (#7204) (#7435)" Feb 11, 2025
Copy link

codecov bot commented Feb 11, 2025

Codecov Report

Attention: Patch coverage is 0% with 5 lines in your changes missing coverage. Please review.

Project coverage is 50.25%. Comparing base (277437e) to head (1d7bb65).
Report is 2 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7450      +/-   ##
============================================
- Coverage     50.25%   50.25%   -0.01%     
============================================
  Files           602      602              
  Lines         40404    40409       +5     
  Branches       2204     2204              
============================================
  Hits          20307    20307              
- Misses        20057    20062       +5     
  Partials         40       40              

Copy link
Contributor

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 24c001b Previous: 277437e Ratio
10000 bytes - compress - snappy 55.421 us/op 10.628 us/op 5.21
Full benchmark results
Benchmark suite Current: 24c001b Previous: 277437e Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 982.07 us/op 2.0702 ms/op 0.47
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 36.698 us/op 77.229 us/op 0.48
BLS verify - blst 1.2201 ms/op 1.0981 ms/op 1.11
BLS verifyMultipleSignatures 3 - blst 1.4197 ms/op 1.6308 ms/op 0.87
BLS verifyMultipleSignatures 8 - blst 2.2802 ms/op 2.6924 ms/op 0.85
BLS verifyMultipleSignatures 32 - blst 5.7931 ms/op 8.3866 ms/op 0.69
BLS verifyMultipleSignatures 64 - blst 9.3259 ms/op 13.627 ms/op 0.68
BLS verifyMultipleSignatures 128 - blst 18.428 ms/op 23.567 ms/op 0.78
BLS deserializing 10000 signatures 712.23 ms/op 805.87 ms/op 0.88
BLS deserializing 100000 signatures 7.1342 s/op 8.4054 s/op 0.85
BLS verifyMultipleSignatures - same message - 3 - blst 1.0019 ms/op 1.0877 ms/op 0.92
BLS verifyMultipleSignatures - same message - 8 - blst 1.0925 ms/op 1.2061 ms/op 0.91
BLS verifyMultipleSignatures - same message - 32 - blst 1.7842 ms/op 2.0407 ms/op 0.87
BLS verifyMultipleSignatures - same message - 64 - blst 2.6502 ms/op 2.7966 ms/op 0.95
BLS verifyMultipleSignatures - same message - 128 - blst 4.5593 ms/op 4.9451 ms/op 0.92
BLS aggregatePubkeys 32 - blst 21.745 us/op 21.618 us/op 1.01
BLS aggregatePubkeys 128 - blst 76.569 us/op 76.571 us/op 1.00
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 58.633 ms/op 121.59 ms/op 0.48
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 51.790 ms/op 93.451 ms/op 0.55
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 46.683 ms/op 71.679 ms/op 0.65
getSlashingsAndExits - default max 76.111 us/op 147.70 us/op 0.52
getSlashingsAndExits - 2k 353.01 us/op 788.72 us/op 0.45
proposeBlockBody type=full, size=empty 6.5637 ms/op 10.758 ms/op 0.61
isKnown best case - 1 super set check 275.00 ns/op 210.00 ns/op 1.31
isKnown normal case - 2 super set checks 227.00 ns/op 212.00 ns/op 1.07
isKnown worse case - 16 super set checks 215.00 ns/op 210.00 ns/op 1.02
InMemoryCheckpointStateCache - add get delete 2.8160 us/op 6.4320 us/op 0.44
validate api signedAggregateAndProof - struct 1.9772 ms/op 1.9164 ms/op 1.03
validate gossip signedAggregateAndProof - struct 1.7023 ms/op 2.0303 ms/op 0.84
batch validate gossip attestation - vc 640000 - chunk 32 144.00 us/op 186.50 us/op 0.77
batch validate gossip attestation - vc 640000 - chunk 64 121.76 us/op 175.05 us/op 0.70
batch validate gossip attestation - vc 640000 - chunk 128 113.27 us/op 176.71 us/op 0.64
batch validate gossip attestation - vc 640000 - chunk 256 127.13 us/op 171.73 us/op 0.74
pickEth1Vote - no votes 1.1123 ms/op 1.0873 ms/op 1.02
pickEth1Vote - max votes 15.188 ms/op 15.943 ms/op 0.95
pickEth1Vote - Eth1Data hashTreeRoot value x2048 24.246 ms/op 21.547 ms/op 1.13
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.913 ms/op 51.947 ms/op 0.52
pickEth1Vote - Eth1Data fastSerialize value x2048 530.66 us/op 481.75 us/op 1.10
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.8088 ms/op 3.0387 ms/op 0.92
bytes32 toHexString 429.00 ns/op 634.00 ns/op 0.68
bytes32 Buffer.toString(hex) 271.00 ns/op 355.00 ns/op 0.76
bytes32 Buffer.toString(hex) from Uint8Array 360.00 ns/op 568.00 ns/op 0.63
bytes32 Buffer.toString(hex) + 0x 296.00 ns/op 278.00 ns/op 1.06
Object access 1 prop 0.13700 ns/op 0.16800 ns/op 0.82
Map access 1 prop 0.16300 ns/op 0.13700 ns/op 1.19
Object get x1000 8.1470 ns/op 6.4340 ns/op 1.27
Map get x1000 7.1420 ns/op 6.7190 ns/op 1.06
Object set x1000 53.362 ns/op 36.639 ns/op 1.46
Map set x1000 33.134 ns/op 56.276 ns/op 0.59
Return object 10000 times 0.31640 ns/op 0.48560 ns/op 0.65
Throw Error 10000 times 5.2450 us/op 5.2463 us/op 1.00
toHex 153.53 ns/op 133.62 ns/op 1.15
Buffer.from 142.34 ns/op 135.03 ns/op 1.05
shared Buffer 95.614 ns/op 86.984 ns/op 1.10
fastMsgIdFn sha256 / 200 bytes 2.8360 us/op 2.4460 us/op 1.16
fastMsgIdFn h32 xxhash / 200 bytes 237.00 ns/op 221.00 ns/op 1.07
fastMsgIdFn h64 xxhash / 200 bytes 404.00 ns/op 370.00 ns/op 1.09
fastMsgIdFn sha256 / 1000 bytes 9.8730 us/op 12.078 us/op 0.82
fastMsgIdFn h32 xxhash / 1000 bytes 388.00 ns/op 390.00 ns/op 0.99
fastMsgIdFn h64 xxhash / 1000 bytes 360.00 ns/op 444.00 ns/op 0.81
fastMsgIdFn sha256 / 10000 bytes 68.652 us/op 68.176 us/op 1.01
fastMsgIdFn h32 xxhash / 10000 bytes 1.9860 us/op 2.0480 us/op 0.97
fastMsgIdFn h64 xxhash / 10000 bytes 1.4320 us/op 1.3710 us/op 1.04
100 bytes - compress - snappyjs 1.9317 us/op 1.8961 us/op 1.02
100 bytes - compress - snappy 1.3198 us/op 1.6574 us/op 0.80
100 bytes - compress - snappy-wasm 843.83 ns/op 1.2147 us/op 0.69
100 bytes - compress - snappy-wasm - prealloc 439.68 ns/op 446.87 ns/op 0.98
200 bytes - compress - snappyjs 2.0396 us/op 2.9251 us/op 0.70
200 bytes - compress - snappy 1.3344 us/op 20.180 us/op 0.07
200 bytes - compress - snappy-wasm 1.0071 us/op 2.1750 us/op 0.46
200 bytes - compress - snappy-wasm - prealloc 449.41 ns/op 646.46 ns/op 0.70
300 bytes - compress - snappyjs 2.4640 us/op 3.0198 us/op 0.82
300 bytes - compress - snappy 1.6217 us/op 1.8017 us/op 0.90
300 bytes - compress - snappy-wasm 1.9524 us/op 1.6420 us/op 1.19
300 bytes - compress - snappy-wasm - prealloc 851.43 ns/op 1.0433 us/op 0.82
400 bytes - compress - snappyjs 3.7594 us/op 3.3949 us/op 1.11
400 bytes - compress - snappy 4.1990 us/op 3.9390 us/op 1.07
400 bytes - compress - snappy-wasm 1.2661 us/op 2.8703 us/op 0.44
400 bytes - compress - snappy-wasm - prealloc 646.18 ns/op 1.0109 us/op 0.64
500 bytes - compress - snappyjs 3.0314 us/op 3.8213 us/op 0.79
500 bytes - compress - snappy 1.9199 us/op 6.5397 us/op 0.29
500 bytes - compress - snappy-wasm 1.6662 us/op 1.9433 us/op 0.86
500 bytes - compress - snappy-wasm - prealloc 685.23 ns/op 1.3181 us/op 0.52
1000 bytes - compress - snappyjs 4.6837 us/op 5.8253 us/op 0.80
1000 bytes - compress - snappy 2.2133 us/op 2.8806 us/op 0.77
1000 bytes - compress - snappy-wasm 2.4557 us/op 3.1694 us/op 0.77
1000 bytes - compress - snappy-wasm - prealloc 1.0759 us/op 1.2987 us/op 0.83
10000 bytes - compress - snappyjs 31.235 us/op 31.174 us/op 1.00
10000 bytes - compress - snappy 55.421 us/op 10.628 us/op 5.21
10000 bytes - compress - snappy-wasm 8.3450 us/op 10.497 us/op 0.79
10000 bytes - compress - snappy-wasm - prealloc 8.6792 us/op 9.1369 us/op 0.95
100 bytes - uncompress - snappyjs 1.1353 us/op 839.03 ns/op 1.35
100 bytes - uncompress - snappy 1.4355 us/op 1.6888 us/op 0.85
100 bytes - uncompress - snappy-wasm 674.75 ns/op 775.50 ns/op 0.87
100 bytes - uncompress - snappy-wasm - prealloc 369.41 ns/op 378.73 ns/op 0.98
200 bytes - uncompress - snappyjs 1.3080 us/op 2.1679 us/op 0.60
200 bytes - uncompress - snappy 1.3257 us/op 1.7594 us/op 0.75
200 bytes - uncompress - snappy-wasm 926.10 ns/op 1.3003 us/op 0.71
200 bytes - uncompress - snappy-wasm - prealloc 367.68 ns/op 390.25 ns/op 0.94
300 bytes - uncompress - snappyjs 1.3176 us/op 20.697 us/op 0.06
300 bytes - uncompress - snappy 1.2586 us/op 1.8521 us/op 0.68
300 bytes - uncompress - snappy-wasm 873.00 ns/op 1.5050 us/op 0.58
300 bytes - uncompress - snappy-wasm - prealloc 472.68 ns/op 481.15 ns/op 0.98
400 bytes - uncompress - snappyjs 2.0097 us/op 4.9571 us/op 0.41
400 bytes - uncompress - snappy 1.3203 us/op 2.1881 us/op 0.60
400 bytes - uncompress - snappy-wasm 1.2542 us/op 2.1812 us/op 0.57
400 bytes - uncompress - snappy-wasm - prealloc 482.88 ns/op 728.40 ns/op 0.66
500 bytes - uncompress - snappyjs 1.9010 us/op 3.4743 us/op 0.55
500 bytes - uncompress - snappy 1.4953 us/op 2.7622 us/op 0.54
500 bytes - uncompress - snappy-wasm 1.3099 us/op 2.5796 us/op 0.51
500 bytes - uncompress - snappy-wasm - prealloc 524.59 ns/op 1.4325 us/op 0.37
1000 bytes - uncompress - snappyjs 3.2429 us/op 3.2439 us/op 1.00
1000 bytes - uncompress - snappy 1.7559 us/op 10.082 us/op 0.17
1000 bytes - uncompress - snappy-wasm 1.2078 us/op 2.5050 us/op 0.48
1000 bytes - uncompress - snappy-wasm - prealloc 886.93 ns/op 1.6298 us/op 0.54
10000 bytes - uncompress - snappyjs 16.302 us/op 19.454 us/op 0.84
10000 bytes - uncompress - snappy 48.523 us/op 19.204 us/op 2.53
10000 bytes - uncompress - snappy-wasm 5.7742 us/op 8.0364 us/op 0.72
10000 bytes - uncompress - snappy-wasm - prealloc 5.9869 us/op 8.0803 us/op 0.74
send data - 1000 256B messages 17.891 ms/op 31.050 ms/op 0.58
send data - 1000 512B messages 23.274 ms/op 37.059 ms/op 0.63
send data - 1000 1024B messages 30.509 ms/op 43.298 ms/op 0.70
send data - 1000 1200B messages 31.360 ms/op 55.724 ms/op 0.56
send data - 1000 2048B messages 27.864 ms/op 47.052 ms/op 0.59
send data - 1000 4096B messages 32.713 ms/op 56.855 ms/op 0.58
send data - 1000 16384B messages 73.547 ms/op 98.413 ms/op 0.75
send data - 1000 65536B messages 291.70 ms/op 831.52 ms/op 0.35
enrSubnets - fastDeserialize 64 bits 1.0380 us/op 1.4460 us/op 0.72
enrSubnets - ssz BitVector 64 bits 353.00 ns/op 372.00 ns/op 0.95
enrSubnets - fastDeserialize 4 bits 147.00 ns/op 193.00 ns/op 0.76
enrSubnets - ssz BitVector 4 bits 385.00 ns/op 358.00 ns/op 1.08
prioritizePeers score -10:0 att 32-0.1 sync 2-0 163.25 us/op 149.57 us/op 1.09
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 187.32 us/op 192.67 us/op 0.97
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 326.54 us/op 272.45 us/op 1.20
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 527.19 us/op 564.73 us/op 0.93
prioritizePeers score 0:0 att 64-1 sync 4-1 801.86 us/op 576.62 us/op 1.39
array of 16000 items push then shift 1.8182 us/op 1.6947 us/op 1.07
LinkedList of 16000 items push then shift 12.385 ns/op 19.210 ns/op 0.64
array of 16000 items push then pop 99.645 ns/op 105.33 ns/op 0.95
LinkedList of 16000 items push then pop 11.127 ns/op 10.796 ns/op 1.03
array of 24000 items push then shift 2.7008 us/op 2.6588 us/op 1.02
LinkedList of 24000 items push then shift 10.728 ns/op 35.180 ns/op 0.30
array of 24000 items push then pop 142.44 ns/op 158.59 ns/op 0.90
LinkedList of 24000 items push then pop 12.624 ns/op 11.591 ns/op 1.09
intersect bitArray bitLen 8 8.1890 ns/op 6.6590 ns/op 1.23
intersect array and set length 8 69.440 ns/op 47.913 ns/op 1.45
intersect bitArray bitLen 128 50.270 ns/op 31.163 ns/op 1.61
intersect array and set length 128 933.05 ns/op 783.90 ns/op 1.19
bitArray.getTrueBitIndexes() bitLen 128 1.3210 us/op 2.0000 us/op 0.66
bitArray.getTrueBitIndexes() bitLen 248 2.5340 us/op 2.6200 us/op 0.97
bitArray.getTrueBitIndexes() bitLen 512 4.9410 us/op 6.5410 us/op 0.76
Buffer.concat 32 items 831.00 ns/op 936.00 ns/op 0.89
Uint8Array.set 32 items 2.5490 us/op 3.7480 us/op 0.68
Buffer.copy 3.4170 us/op 6.0800 us/op 0.56
Uint8Array.set - with subarray 3.2860 us/op 5.2820 us/op 0.62
Uint8Array.set - without subarray 2.2610 us/op 3.5930 us/op 0.63
getUint32 - dataview 392.00 ns/op 235.00 ns/op 1.67
getUint32 - manual 138.00 ns/op 171.00 ns/op 0.81
Set add up to 64 items then delete first 3.6680 us/op 3.3326 us/op 1.10
OrderedSet add up to 64 items then delete first 5.3156 us/op 8.5778 us/op 0.62
Set add up to 64 items then delete last 3.5850 us/op 2.8515 us/op 1.26
OrderedSet add up to 64 items then delete last 5.8252 us/op 4.9594 us/op 1.17
Set add up to 64 items then delete middle 3.5901 us/op 4.1579 us/op 0.86
OrderedSet add up to 64 items then delete middle 8.1558 us/op 7.3046 us/op 1.12
Set add up to 128 items then delete first 7.6529 us/op 7.3847 us/op 1.04
OrderedSet add up to 128 items then delete first 12.625 us/op 9.9063 us/op 1.27
Set add up to 128 items then delete last 9.3154 us/op 8.9781 us/op 1.04
OrderedSet add up to 128 items then delete last 12.160 us/op 12.460 us/op 0.98
Set add up to 128 items then delete middle 8.8246 us/op 8.1792 us/op 1.08
OrderedSet add up to 128 items then delete middle 18.770 us/op 19.770 us/op 0.95
Set add up to 256 items then delete first 16.801 us/op 15.407 us/op 1.09
OrderedSet add up to 256 items then delete first 27.835 us/op 26.664 us/op 1.04
Set add up to 256 items then delete last 17.323 us/op 16.945 us/op 1.02
OrderedSet add up to 256 items then delete last 28.015 us/op 19.233 us/op 1.46
Set add up to 256 items then delete middle 14.103 us/op 13.475 us/op 1.05
OrderedSet add up to 256 items then delete middle 50.868 us/op 55.511 us/op 0.92
transfer serialized Status (84 B) 3.5010 us/op 4.6500 us/op 0.75
copy serialized Status (84 B) 1.9060 us/op 2.4350 us/op 0.78
transfer serialized SignedVoluntaryExit (112 B) 3.4610 us/op 4.2140 us/op 0.82
copy serialized SignedVoluntaryExit (112 B) 2.0140 us/op 2.6030 us/op 0.77
transfer serialized ProposerSlashing (416 B) 3.9670 us/op 6.0360 us/op 0.66
copy serialized ProposerSlashing (416 B) 2.9290 us/op 4.6710 us/op 0.63
transfer serialized Attestation (485 B) 3.8630 us/op 8.0610 us/op 0.48
copy serialized Attestation (485 B) 2.6890 us/op 3.8100 us/op 0.71
transfer serialized AttesterSlashing (33232 B) 3.8370 us/op 4.5480 us/op 0.84
copy serialized AttesterSlashing (33232 B) 6.7220 us/op 21.934 us/op 0.31
transfer serialized Small SignedBeaconBlock (128000 B) 4.9830 us/op 5.7570 us/op 0.87
copy serialized Small SignedBeaconBlock (128000 B) 18.481 us/op 27.578 us/op 0.67
transfer serialized Avg SignedBeaconBlock (200000 B) 5.0800 us/op 6.7020 us/op 0.76
copy serialized Avg SignedBeaconBlock (200000 B) 28.272 us/op 37.264 us/op 0.76
transfer serialized BlobsSidecar (524380 B) 5.6800 us/op 6.8800 us/op 0.83
copy serialized BlobsSidecar (524380 B) 81.777 us/op 225.63 us/op 0.36
transfer serialized Big SignedBeaconBlock (1000000 B) 7.1540 us/op 6.4340 us/op 1.11
copy serialized Big SignedBeaconBlock (1000000 B) 199.54 us/op 322.08 us/op 0.62
pass gossip attestations to forkchoice per slot 3.3114 ms/op 3.4497 ms/op 0.96
forkChoice updateHead vc 100000 bc 64 eq 0 647.12 us/op 461.89 us/op 1.40
forkChoice updateHead vc 600000 bc 64 eq 0 4.8990 ms/op 9.1459 ms/op 0.54
forkChoice updateHead vc 1000000 bc 64 eq 0 7.1780 ms/op 10.463 ms/op 0.69
forkChoice updateHead vc 600000 bc 320 eq 0 3.8101 ms/op 6.1955 ms/op 0.61
forkChoice updateHead vc 600000 bc 1200 eq 0 3.8898 ms/op 6.5451 ms/op 0.59
forkChoice updateHead vc 600000 bc 7200 eq 0 5.7830 ms/op 4.4290 ms/op 1.31
forkChoice updateHead vc 600000 bc 64 eq 1000 11.542 ms/op 11.052 ms/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 10000 15.607 ms/op 10.974 ms/op 1.42
forkChoice updateHead vc 600000 bc 64 eq 300000 29.357 ms/op 14.956 ms/op 1.96
computeDeltas 500000 validators 300 proto nodes 4.8458 ms/op 4.0774 ms/op 1.19
computeDeltas 500000 validators 1200 proto nodes 4.5519 ms/op 4.1143 ms/op 1.11
computeDeltas 500000 validators 7200 proto nodes 4.4732 ms/op 4.2623 ms/op 1.05
computeDeltas 750000 validators 300 proto nodes 6.9224 ms/op 6.3650 ms/op 1.09
computeDeltas 750000 validators 1200 proto nodes 6.5718 ms/op 6.3066 ms/op 1.04
computeDeltas 750000 validators 7200 proto nodes 8.2035 ms/op 6.2650 ms/op 1.31
computeDeltas 1400000 validators 300 proto nodes 14.376 ms/op 11.735 ms/op 1.23
computeDeltas 1400000 validators 1200 proto nodes 12.900 ms/op 11.874 ms/op 1.09
computeDeltas 1400000 validators 7200 proto nodes 14.143 ms/op 11.888 ms/op 1.19
computeDeltas 2100000 validators 300 proto nodes 19.079 ms/op 17.971 ms/op 1.06
computeDeltas 2100000 validators 1200 proto nodes 19.518 ms/op 19.240 ms/op 1.01
computeDeltas 2100000 validators 7200 proto nodes 18.883 ms/op 20.443 ms/op 0.92
altair processAttestation - 250000 vs - 7PWei normalcase 2.7570 ms/op 2.6384 ms/op 1.04
altair processAttestation - 250000 vs - 7PWei worstcase 4.3102 ms/op 4.2331 ms/op 1.02
altair processAttestation - setStatus - 1/6 committees join 182.02 us/op 145.52 us/op 1.25
altair processAttestation - setStatus - 1/3 committees join 277.07 us/op 268.97 us/op 1.03
altair processAttestation - setStatus - 1/2 committees join 394.20 us/op 351.60 us/op 1.12
altair processAttestation - setStatus - 2/3 committees join 553.70 us/op 650.46 us/op 0.85
altair processAttestation - setStatus - 4/5 committees join 667.11 us/op 855.46 us/op 0.78
altair processAttestation - setStatus - 100% committees join 875.38 us/op 1.1012 ms/op 0.79
altair processBlock - 250000 vs - 7PWei normalcase 11.595 ms/op 5.8119 ms/op 1.99
altair processBlock - 250000 vs - 7PWei normalcase hashState 39.764 ms/op 46.566 ms/op 0.85
altair processBlock - 250000 vs - 7PWei worstcase 45.531 ms/op 51.149 ms/op 0.89
altair processBlock - 250000 vs - 7PWei worstcase hashState 103.67 ms/op 109.07 ms/op 0.95
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4398 ms/op 2.3599 ms/op 1.03
phase0 processBlock - 250000 vs - 7PWei worstcase 30.035 ms/op 28.382 ms/op 1.06
altair processEth1Data - 250000 vs - 7PWei normalcase 351.98 us/op 355.10 us/op 0.99
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.5770 us/op 7.0290 us/op 0.79
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 41.527 us/op 37.849 us/op 1.10
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 14.237 us/op 10.228 us/op 1.39
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.0630 us/op 9.2830 us/op 0.76
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 170.93 us/op 184.33 us/op 0.93
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2808 ms/op 1.2119 ms/op 1.06
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.6442 ms/op 1.6573 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4972 ms/op 1.9075 ms/op 0.78
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.4038 ms/op 5.0021 ms/op 0.68
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.7635 ms/op 2.7535 ms/op 0.64
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.5861 ms/op 4.5602 ms/op 0.79
Tree 40 250000 create 569.90 ms/op 733.78 ms/op 0.78
Tree 40 250000 get(125000) 153.90 ns/op 150.89 ns/op 1.02
Tree 40 250000 set(125000) 1.9969 us/op 2.7415 us/op 0.73
Tree 40 250000 toArray() 22.244 ms/op 23.497 ms/op 0.95
Tree 40 250000 iterate all - toArray() + loop 21.708 ms/op 25.332 ms/op 0.86
Tree 40 250000 iterate all - get(i) 59.602 ms/op 64.132 ms/op 0.93
Array 250000 create 4.2875 ms/op 4.6723 ms/op 0.92
Array 250000 clone - spread 1.7224 ms/op 1.9548 ms/op 0.88
Array 250000 get(125000) 0.43500 ns/op 0.42900 ns/op 1.01
Array 250000 set(125000) 0.46200 ns/op 0.48300 ns/op 0.96
Array 250000 iterate all - loop 114.81 us/op 89.412 us/op 1.28
phase0 afterProcessEpoch - 250000 vs - 7PWei 50.087 ms/op 53.861 ms/op 0.93
Array.fill - length 1000000 3.8705 ms/op 6.8462 ms/op 0.57
Array push - length 1000000 16.223 ms/op 21.347 ms/op 0.76
Array.get 0.29163 ns/op 0.30516 ns/op 0.96
Uint8Array.get 0.45261 ns/op 0.48600 ns/op 0.93
phase0 beforeProcessEpoch - 250000 vs - 7PWei 23.813 ms/op 21.043 ms/op 1.13
altair processEpoch - mainnet_e81889 325.62 ms/op 425.23 ms/op 0.77
mainnet_e81889 - altair beforeProcessEpoch 23.431 ms/op 26.538 ms/op 0.88
mainnet_e81889 - altair processJustificationAndFinalization 6.4470 us/op 7.0400 us/op 0.92
mainnet_e81889 - altair processInactivityUpdates 4.8222 ms/op 7.9744 ms/op 0.60
mainnet_e81889 - altair processRewardsAndPenalties 49.054 ms/op 56.997 ms/op 0.86
mainnet_e81889 - altair processRegistryUpdates 973.00 ns/op 1.1510 us/op 0.85
mainnet_e81889 - altair processSlashings 205.00 ns/op 280.00 ns/op 0.73
mainnet_e81889 - altair processEth1DataReset 208.00 ns/op 247.00 ns/op 0.84
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2765 ms/op 1.4488 ms/op 0.88
mainnet_e81889 - altair processSlashingsReset 1000.0 ns/op 1.0270 us/op 0.97
mainnet_e81889 - altair processRandaoMixesReset 1.2570 us/op 1.8110 us/op 0.69
mainnet_e81889 - altair processHistoricalRootsUpdate 211.00 ns/op 270.00 ns/op 0.78
mainnet_e81889 - altair processParticipationFlagUpdates 570.00 ns/op 563.00 ns/op 1.01
mainnet_e81889 - altair processSyncCommitteeUpdates 160.00 ns/op 162.00 ns/op 0.99
mainnet_e81889 - altair afterProcessEpoch 52.947 ms/op 57.065 ms/op 0.93
capella processEpoch - mainnet_e217614 1.0780 s/op 987.73 ms/op 1.09
mainnet_e217614 - capella beforeProcessEpoch 88.857 ms/op 69.381 ms/op 1.28
mainnet_e217614 - capella processJustificationAndFinalization 6.3520 us/op 5.5740 us/op 1.14
mainnet_e217614 - capella processInactivityUpdates 21.072 ms/op 16.583 ms/op 1.27
mainnet_e217614 - capella processRewardsAndPenalties 222.79 ms/op 199.01 ms/op 1.12
mainnet_e217614 - capella processRegistryUpdates 9.5460 us/op 9.0550 us/op 1.05
mainnet_e217614 - capella processSlashings 218.00 ns/op 203.00 ns/op 1.07
mainnet_e217614 - capella processEth1DataReset 185.00 ns/op 202.00 ns/op 0.92
mainnet_e217614 - capella processEffectiveBalanceUpdates 16.079 ms/op 18.012 ms/op 0.89
mainnet_e217614 - capella processSlashingsReset 1.0630 us/op 932.00 ns/op 1.14
mainnet_e217614 - capella processRandaoMixesReset 1.2960 us/op 1.2970 us/op 1.00
mainnet_e217614 - capella processHistoricalRootsUpdate 216.00 ns/op 202.00 ns/op 1.07
mainnet_e217614 - capella processParticipationFlagUpdates 593.00 ns/op 555.00 ns/op 1.07
mainnet_e217614 - capella afterProcessEpoch 132.06 ms/op 135.46 ms/op 0.97
phase0 processEpoch - mainnet_e58758 390.92 ms/op 373.11 ms/op 1.05
mainnet_e58758 - phase0 beforeProcessEpoch 89.112 ms/op 93.181 ms/op 0.96
mainnet_e58758 - phase0 processJustificationAndFinalization 7.6230 us/op 5.5210 us/op 1.38
mainnet_e58758 - phase0 processRewardsAndPenalties 47.745 ms/op 50.037 ms/op 0.95
mainnet_e58758 - phase0 processRegistryUpdates 3.3460 us/op 3.7760 us/op 0.89
mainnet_e58758 - phase0 processSlashings 205.00 ns/op 199.00 ns/op 1.03
mainnet_e58758 - phase0 processEth1DataReset 210.00 ns/op 198.00 ns/op 1.06
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2680 ms/op 1.0740 ms/op 1.18
mainnet_e58758 - phase0 processSlashingsReset 1.0310 us/op 1.0090 us/op 1.02
mainnet_e58758 - phase0 processRandaoMixesReset 1.2830 us/op 1.2820 us/op 1.00
mainnet_e58758 - phase0 processHistoricalRootsUpdate 207.00 ns/op 185.00 ns/op 1.12
mainnet_e58758 - phase0 processParticipationRecordUpdates 918.00 ns/op 978.00 ns/op 0.94
mainnet_e58758 - phase0 afterProcessEpoch 45.859 ms/op 45.779 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.7163 ms/op 1.7796 ms/op 0.96
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.4645 ms/op 2.6755 ms/op 0.92
altair processInactivityUpdates - 250000 normalcase 20.262 ms/op 19.813 ms/op 1.02
altair processInactivityUpdates - 250000 worstcase 20.465 ms/op 19.871 ms/op 1.03
phase0 processRegistryUpdates - 250000 normalcase 11.025 us/op 7.9130 us/op 1.39
phase0 processRegistryUpdates - 250000 badcase_full_deposits 482.25 us/op 665.24 us/op 0.72
phase0 processRegistryUpdates - 250000 worstcase 0.5 122.27 ms/op 142.76 ms/op 0.86
altair processRewardsAndPenalties - 250000 normalcase 51.477 ms/op 56.113 ms/op 0.92
altair processRewardsAndPenalties - 250000 worstcase 39.744 ms/op 47.847 ms/op 0.83
phase0 getAttestationDeltas - 250000 normalcase 6.3483 ms/op 9.9321 ms/op 0.64
phase0 getAttestationDeltas - 250000 worstcase 8.2754 ms/op 8.5205 ms/op 0.97
phase0 processSlashings - 250000 worstcase 116.28 us/op 110.63 us/op 1.05
altair processSyncCommitteeUpdates - 250000 145.79 ms/op 140.86 ms/op 1.04
BeaconState.hashTreeRoot - No change 255.00 ns/op 246.00 ns/op 1.04
BeaconState.hashTreeRoot - 1 full validator 86.700 us/op 87.911 us/op 0.99
BeaconState.hashTreeRoot - 32 full validator 1.4045 ms/op 810.84 us/op 1.73
BeaconState.hashTreeRoot - 512 full validator 10.784 ms/op 9.6597 ms/op 1.12
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 116.49 us/op 113.24 us/op 1.03
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3003 ms/op 1.3051 ms/op 1.00
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 26.103 ms/op 21.758 ms/op 1.20
BeaconState.hashTreeRoot - 1 balances 84.374 us/op 80.623 us/op 1.05
BeaconState.hashTreeRoot - 32 balances 863.03 us/op 995.38 us/op 0.87
BeaconState.hashTreeRoot - 512 balances 8.1312 ms/op 8.7947 ms/op 0.92
BeaconState.hashTreeRoot - 250000 balances 181.61 ms/op 191.45 ms/op 0.95
aggregationBits - 2048 els - zipIndexesInBitList 22.646 us/op 24.977 us/op 0.91
byteArrayEquals 32 54.404 ns/op 56.358 ns/op 0.97
Buffer.compare 32 17.439 ns/op 17.970 ns/op 0.97
byteArrayEquals 1024 1.6071 us/op 1.7438 us/op 0.92
Buffer.compare 1024 24.632 ns/op 27.399 ns/op 0.90
byteArrayEquals 16384 26.001 us/op 27.114 us/op 0.96
Buffer.compare 16384 252.48 ns/op 217.42 ns/op 1.16
byteArrayEquals 123687377 207.14 ms/op 202.72 ms/op 1.02
Buffer.compare 123687377 9.2143 ms/op 8.2920 ms/op 1.11
byteArrayEquals 32 - diff last byte 57.441 ns/op 55.003 ns/op 1.04
Buffer.compare 32 - diff last byte 18.175 ns/op 17.880 ns/op 1.02
byteArrayEquals 1024 - diff last byte 1.7001 us/op 1.6668 us/op 1.02
Buffer.compare 1024 - diff last byte 27.148 ns/op 26.856 ns/op 1.01
byteArrayEquals 16384 - diff last byte 27.474 us/op 26.250 us/op 1.05
Buffer.compare 16384 - diff last byte 217.86 ns/op 199.69 ns/op 1.09
byteArrayEquals 123687377 - diff last byte 204.89 ms/op 203.95 ms/op 1.00
Buffer.compare 123687377 - diff last byte 7.8908 ms/op 8.2566 ms/op 0.96
byteArrayEquals 32 - random bytes 5.3880 ns/op 5.3940 ns/op 1.00
Buffer.compare 32 - random bytes 18.648 ns/op 18.239 ns/op 1.02
byteArrayEquals 1024 - random bytes 5.3460 ns/op 5.4360 ns/op 0.98
Buffer.compare 1024 - random bytes 18.381 ns/op 17.779 ns/op 1.03
byteArrayEquals 16384 - random bytes 5.2790 ns/op 5.3260 ns/op 0.99
Buffer.compare 16384 - random bytes 18.315 ns/op 17.743 ns/op 1.03
byteArrayEquals 123687377 - random bytes 7.1000 ns/op 6.9600 ns/op 1.02
Buffer.compare 123687377 - random bytes 20.080 ns/op 20.670 ns/op 0.97
regular array get 100000 times 45.048 us/op 42.023 us/op 1.07
wrappedArray get 100000 times 37.688 us/op 45.797 us/op 0.82
arrayWithProxy get 100000 times 14.084 ms/op 13.478 ms/op 1.04
ssz.Root.equals 47.392 ns/op 48.495 ns/op 0.98
byteArrayEquals 46.082 ns/op 47.138 ns/op 0.98
Buffer.compare 10.959 ns/op 12.646 ns/op 0.87
processSlot - 1 slots 11.959 us/op 12.165 us/op 0.98
processSlot - 32 slots 3.1457 ms/op 2.8201 ms/op 1.12
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 62.962 ms/op 58.818 ms/op 1.07
getCommitteeAssignments - req 1 vs - 250000 vc 2.2549 ms/op 2.1948 ms/op 1.03
getCommitteeAssignments - req 100 vs - 250000 vc 4.1128 ms/op 4.3349 ms/op 0.95
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4652 ms/op 4.6049 ms/op 0.97
findModifiedValidators - 10000 modified validators 835.57 ms/op 779.49 ms/op 1.07
findModifiedValidators - 1000 modified validators 795.34 ms/op 752.95 ms/op 1.06
findModifiedValidators - 100 modified validators 185.45 ms/op 301.44 ms/op 0.62
findModifiedValidators - 10 modified validators 156.02 ms/op 171.44 ms/op 0.91
findModifiedValidators - 1 modified validators 152.74 ms/op 211.88 ms/op 0.72
findModifiedValidators - no difference 200.17 ms/op 232.99 ms/op 0.86
compare ViewDUs 6.7500 s/op 7.2759 s/op 0.93
compare each validator Uint8Array 1.0777 s/op 1.7613 s/op 0.61
compare ViewDU to Uint8Array 1.1941 s/op 1.3775 s/op 0.87
migrate state 1000000 validators, 24 modified, 0 new 927.54 ms/op 940.16 ms/op 0.99
migrate state 1000000 validators, 1700 modified, 1000 new 1.2851 s/op 1.2646 s/op 1.02
migrate state 1000000 validators, 3400 modified, 2000 new 1.3410 s/op 1.4460 s/op 0.93
migrate state 1500000 validators, 24 modified, 0 new 942.53 ms/op 1.0060 s/op 0.94
migrate state 1500000 validators, 1700 modified, 1000 new 1.1945 s/op 1.1726 s/op 1.02
migrate state 1500000 validators, 3400 modified, 2000 new 1.4168 s/op 1.3958 s/op 1.02
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2200 ns/op 4.2400 ns/op 1.00
state getBlockRootAtSlot - 250000 vs - 7PWei 892.47 ns/op 647.64 ns/op 1.38
computeProposers - vc 250000 7.2156 ms/op 8.6803 ms/op 0.83
computeEpochShuffling - vc 250000 41.355 ms/op 41.584 ms/op 0.99
getNextSyncCommittee - vc 250000 142.34 ms/op 125.47 ms/op 1.13
computeSigningRoot for AttestationData 24.935 us/op 25.866 us/op 0.96
hash AttestationData serialized data then Buffer.toString(base64) 1.5289 us/op 1.5265 us/op 1.00
toHexString serialized data 987.88 ns/op 1.0270 us/op 0.96
Buffer.toString(base64) 156.12 ns/op 157.09 ns/op 0.99
nodejs block root to RootHex using toHex 147.63 ns/op 151.95 ns/op 0.97
nodejs block root to RootHex using toRootHex 90.231 ns/op 89.253 ns/op 1.01
browser block root to RootHex using the deprecated toHexString 206.04 ns/op 216.94 ns/op 0.95
browser block root to RootHex using toHex 168.31 ns/op 169.57 ns/op 0.99
browser block root to RootHex using toRootHex 156.04 ns/op 157.79 ns/op 0.99

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 9fbef39 into unstable Feb 11, 2025
19 of 21 checks passed
@wemeetagain wemeetagain deleted the cayman/revert1 branch February 11, 2025 21:34
@wemeetagain
Copy link
Member Author

🎉 This PR is included in v1.27.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants