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

chore: bump CL spec version to beta.2 #7440

Merged
merged 1 commit into from
Feb 10, 2025
Merged

chore: bump CL spec version to beta.2 #7440

merged 1 commit into from
Feb 10, 2025

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Feb 9, 2025

Run against latest spec tests

Copy link

codecov bot commented Feb 9, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 50.25%. Comparing base (90bd72f) to head (73ccfd7).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7440   +/-   ##
=========================================
  Coverage     50.25%   50.25%           
=========================================
  Files           602      602           
  Lines         40403    40403           
  Branches       2204     2204           
=========================================
  Hits          20306    20306           
  Misses        20057    20057           
  Partials         40       40           

@nflaig nflaig marked this pull request as ready for review February 9, 2025 11:15
@nflaig nflaig requested a review from a team as a code owner February 9, 2025 11:15
Copy link
Contributor

github-actions bot commented Feb 9, 2025

Performance Report

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 11b8937 Previous: 90bd72f Ratio
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.5210 us/op 15.170 us/op 0.30
Full benchmark results
Benchmark suite Current: 11b8937 Previous: 90bd72f Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 953.99 us/op 936.27 us/op 1.02
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 34.818 us/op 35.254 us/op 0.99
BLS verify - blst 759.17 us/op 833.68 us/op 0.91
BLS verifyMultipleSignatures 3 - blst 1.1675 ms/op 1.1645 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst 1.6486 ms/op 1.6134 ms/op 1.02
BLS verifyMultipleSignatures 32 - blst 5.0199 ms/op 4.8413 ms/op 1.04
BLS verifyMultipleSignatures 64 - blst 9.0985 ms/op 8.9934 ms/op 1.01
BLS verifyMultipleSignatures 128 - blst 17.288 ms/op 17.124 ms/op 1.01
BLS deserializing 10000 signatures 679.02 ms/op 670.26 ms/op 1.01
BLS deserializing 100000 signatures 6.7215 s/op 6.8952 s/op 0.97
BLS verifyMultipleSignatures - same message - 3 - blst 878.89 us/op 958.20 us/op 0.92
BLS verifyMultipleSignatures - same message - 8 - blst 1.0275 ms/op 1.1107 ms/op 0.93
BLS verifyMultipleSignatures - same message - 32 - blst 1.6885 ms/op 1.6957 ms/op 1.00
BLS verifyMultipleSignatures - same message - 64 - blst 2.5885 ms/op 2.5802 ms/op 1.00
BLS verifyMultipleSignatures - same message - 128 - blst 4.3815 ms/op 4.3539 ms/op 1.01
BLS aggregatePubkeys 32 - blst 18.804 us/op 19.595 us/op 0.96
BLS aggregatePubkeys 128 - blst 67.573 us/op 70.158 us/op 0.96
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 45.281 ms/op 46.058 ms/op 0.98
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 42.207 ms/op 43.784 ms/op 0.96
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 33.578 ms/op 33.967 ms/op 0.99
getSlashingsAndExits - default max 75.136 us/op 74.316 us/op 1.01
getSlashingsAndExits - 2k 273.56 us/op 392.02 us/op 0.70
proposeBlockBody type=full, size=empty 5.2546 ms/op 5.0469 ms/op 1.04
isKnown best case - 1 super set check 202.00 ns/op 205.00 ns/op 0.99
isKnown normal case - 2 super set checks 202.00 ns/op 202.00 ns/op 1.00
isKnown worse case - 16 super set checks 206.00 ns/op 202.00 ns/op 1.02
InMemoryCheckpointStateCache - add get delete 2.4110 us/op 2.3950 us/op 1.01
validate api signedAggregateAndProof - struct 1.3592 ms/op 1.7035 ms/op 0.80
validate gossip signedAggregateAndProof - struct 1.3486 ms/op 1.4645 ms/op 0.92
batch validate gossip attestation - vc 640000 - chunk 32 116.53 us/op 139.62 us/op 0.83
batch validate gossip attestation - vc 640000 - chunk 64 102.80 us/op 120.08 us/op 0.86
batch validate gossip attestation - vc 640000 - chunk 128 94.792 us/op 125.69 us/op 0.75
batch validate gossip attestation - vc 640000 - chunk 256 96.332 us/op 128.23 us/op 0.75
pickEth1Vote - no votes 943.47 us/op 998.71 us/op 0.94
pickEth1Vote - max votes 5.5044 ms/op 8.5257 ms/op 0.65
pickEth1Vote - Eth1Data hashTreeRoot value x2048 16.763 ms/op 16.031 ms/op 1.05
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.043 ms/op 20.276 ms/op 0.99
pickEth1Vote - Eth1Data fastSerialize value x2048 458.56 us/op 456.85 us/op 1.00
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.8610 ms/op 2.9101 ms/op 1.33
bytes32 toHexString 348.00 ns/op 377.00 ns/op 0.92
bytes32 Buffer.toString(hex) 233.00 ns/op 243.00 ns/op 0.96
bytes32 Buffer.toString(hex) from Uint8Array 334.00 ns/op 324.00 ns/op 1.03
bytes32 Buffer.toString(hex) + 0x 243.00 ns/op 244.00 ns/op 1.00
Object access 1 prop 0.11600 ns/op 0.11800 ns/op 0.98
Map access 1 prop 0.13000 ns/op 0.12600 ns/op 1.03
Object get x1000 5.8460 ns/op 6.2280 ns/op 0.94
Map get x1000 6.4150 ns/op 6.6970 ns/op 0.96
Object set x1000 28.109 ns/op 30.983 ns/op 0.91
Map set x1000 19.296 ns/op 20.497 ns/op 0.94
Return object 10000 times 0.28630 ns/op 0.29440 ns/op 0.97
Throw Error 10000 times 4.2867 us/op 4.6906 us/op 0.91
toHex 140.79 ns/op 142.91 ns/op 0.99
Buffer.from 125.20 ns/op 123.03 ns/op 1.02
shared Buffer 82.089 ns/op 84.553 ns/op 0.97
fastMsgIdFn sha256 / 200 bytes 2.2060 us/op 2.2090 us/op 1.00
fastMsgIdFn h32 xxhash / 200 bytes 204.00 ns/op 205.00 ns/op 1.00
fastMsgIdFn h64 xxhash / 200 bytes 252.00 ns/op 254.00 ns/op 0.99
fastMsgIdFn sha256 / 1000 bytes 7.4800 us/op 7.3330 us/op 1.02
fastMsgIdFn h32 xxhash / 1000 bytes 320.00 ns/op 338.00 ns/op 0.95
fastMsgIdFn h64 xxhash / 1000 bytes 334.00 ns/op 331.00 ns/op 1.01
fastMsgIdFn sha256 / 10000 bytes 64.901 us/op 66.067 us/op 0.98
fastMsgIdFn h32 xxhash / 10000 bytes 1.8040 us/op 1.8600 us/op 0.97
fastMsgIdFn h64 xxhash / 10000 bytes 1.2170 us/op 1.2230 us/op 1.00
100 bytes - compress - snappyjs 1.8418 us/op 1.4267 us/op 1.29
100 bytes - compress - snappy 1.0448 us/op 1.0820 us/op 0.97
100 bytes - compress - snappy-wasm 735.28 ns/op 1.0132 us/op 0.73
100 bytes - compress - snappy-wasm - prealloc 381.60 ns/op 393.45 ns/op 0.97
200 bytes - compress - snappyjs 1.7370 us/op 2.0929 us/op 0.83
200 bytes - compress - snappy 1.1517 us/op 1.3395 us/op 0.86
200 bytes - compress - snappy-wasm 1.2837 us/op 1.3123 us/op 0.98
200 bytes - compress - snappy-wasm - prealloc 408.60 ns/op 442.45 ns/op 0.92
300 bytes - compress - snappyjs 2.1029 us/op 2.2846 us/op 0.92
300 bytes - compress - snappy 1.1946 us/op 1.1753 us/op 1.02
300 bytes - compress - snappy-wasm 1.5335 us/op 1.0707 us/op 1.43
300 bytes - compress - snappy-wasm - prealloc 517.00 ns/op 544.29 ns/op 0.95
400 bytes - compress - snappyjs 2.5120 us/op 2.5858 us/op 0.97
400 bytes - compress - snappy 1.2289 us/op 1.2748 us/op 0.96
400 bytes - compress - snappy-wasm 1.4306 us/op 1.0692 us/op 1.34
400 bytes - compress - snappy-wasm - prealloc 537.12 ns/op 570.87 ns/op 0.94
500 bytes - compress - snappyjs 2.7101 us/op 2.8565 us/op 0.95
500 bytes - compress - snappy 1.2474 us/op 1.4219 us/op 0.88
500 bytes - compress - snappy-wasm 1.2006 us/op 1.4480 us/op 0.83
500 bytes - compress - snappy-wasm - prealloc 601.70 ns/op 652.20 ns/op 0.92
1000 bytes - compress - snappyjs 4.1158 us/op 5.2624 us/op 0.78
1000 bytes - compress - snappy 1.4077 us/op 1.7575 us/op 0.80
1000 bytes - compress - snappy-wasm 2.1438 us/op 2.9061 us/op 0.74
1000 bytes - compress - snappy-wasm - prealloc 855.33 ns/op 944.45 ns/op 0.91
10000 bytes - compress - snappyjs 27.784 us/op 31.958 us/op 0.87
10000 bytes - compress - snappy 32.692 us/op 41.015 us/op 0.80
10000 bytes - compress - snappy-wasm 6.6563 us/op 7.8874 us/op 0.84
10000 bytes - compress - snappy-wasm - prealloc 6.3303 us/op 7.3542 us/op 0.86
100 bytes - uncompress - snappyjs 756.22 ns/op 1.0912 us/op 0.69
100 bytes - uncompress - snappy 1.0215 us/op 1.0468 us/op 0.98
100 bytes - uncompress - snappy-wasm 680.56 ns/op 708.68 ns/op 0.96
100 bytes - uncompress - snappy-wasm - prealloc 319.64 ns/op 341.51 ns/op 0.94
200 bytes - uncompress - snappyjs 1.2181 us/op 1.3493 us/op 0.90
200 bytes - uncompress - snappy 1.0105 us/op 1.1231 us/op 0.90
200 bytes - uncompress - snappy-wasm 1.2058 us/op 807.18 ns/op 1.49
200 bytes - uncompress - snappy-wasm - prealloc 323.20 ns/op 348.10 ns/op 0.93
300 bytes - uncompress - snappyjs 1.2099 us/op 1.1017 us/op 1.10
300 bytes - uncompress - snappy 1.0240 us/op 1.1602 us/op 0.88
300 bytes - uncompress - snappy-wasm 1.2586 us/op 1.2264 us/op 1.03
300 bytes - uncompress - snappy-wasm - prealloc 383.08 ns/op 398.37 ns/op 0.96
400 bytes - uncompress - snappyjs 1.7016 us/op 1.2495 us/op 1.36
400 bytes - uncompress - snappy 1.1313 us/op 1.2045 us/op 0.94
400 bytes - uncompress - snappy-wasm 1.3507 us/op 834.84 ns/op 1.62
400 bytes - uncompress - snappy-wasm - prealloc 430.81 ns/op 445.20 ns/op 0.97
500 bytes - uncompress - snappyjs 1.7698 us/op 1.3850 us/op 1.28
500 bytes - uncompress - snappy 1.1390 us/op 1.2726 us/op 0.90
500 bytes - uncompress - snappy-wasm 1.3618 us/op 1.1613 us/op 1.17
500 bytes - uncompress - snappy-wasm - prealloc 460.23 ns/op 482.72 ns/op 0.95
1000 bytes - uncompress - snappyjs 1.8495 us/op 1.9888 us/op 0.93
1000 bytes - uncompress - snappy 1.3539 us/op 1.5306 us/op 0.88
1000 bytes - uncompress - snappy-wasm 1.3197 us/op 1.0446 us/op 1.26
1000 bytes - uncompress - snappy-wasm - prealloc 622.57 ns/op 633.09 ns/op 0.98
10000 bytes - uncompress - snappyjs 13.577 us/op 14.289 us/op 0.95
10000 bytes - uncompress - snappy 33.458 us/op 31.578 us/op 1.06
10000 bytes - uncompress - snappy-wasm 4.8437 us/op 5.0204 us/op 0.96
10000 bytes - uncompress - snappy-wasm - prealloc 4.5077 us/op 5.3527 us/op 0.84
send data - 1000 256B messages 10.146 ms/op 12.176 ms/op 0.83
send data - 1000 512B messages 15.199 ms/op 15.019 ms/op 1.01
send data - 1000 1024B messages 24.755 ms/op 28.434 ms/op 0.87
send data - 1000 1200B messages 20.665 ms/op 23.303 ms/op 0.89
send data - 1000 2048B messages 20.921 ms/op 22.595 ms/op 0.93
send data - 1000 4096B messages 27.761 ms/op 30.595 ms/op 0.91
send data - 1000 16384B messages 58.721 ms/op 76.200 ms/op 0.77
send data - 1000 65536B messages 193.84 ms/op 239.96 ms/op 0.81
enrSubnets - fastDeserialize 64 bits 921.00 ns/op 872.00 ns/op 1.06
enrSubnets - ssz BitVector 64 bits 313.00 ns/op 313.00 ns/op 1.00
enrSubnets - fastDeserialize 4 bits 127.00 ns/op 130.00 ns/op 0.98
enrSubnets - ssz BitVector 4 bits 318.00 ns/op 318.00 ns/op 1.00
prioritizePeers score -10:0 att 32-0.1 sync 2-0 115.44 us/op 118.04 us/op 0.98
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 139.65 us/op 141.48 us/op 0.99
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 196.36 us/op 203.65 us/op 0.96
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 360.10 us/op 389.86 us/op 0.92
prioritizePeers score 0:0 att 64-1 sync 4-1 437.08 us/op 472.98 us/op 0.92
array of 16000 items push then shift 1.5654 us/op 1.6483 us/op 0.95
LinkedList of 16000 items push then shift 6.7770 ns/op 8.4110 ns/op 0.81
array of 16000 items push then pop 73.438 ns/op 82.567 ns/op 0.89
LinkedList of 16000 items push then pop 6.6830 ns/op 7.5880 ns/op 0.88
array of 24000 items push then shift 2.2866 us/op 2.4513 us/op 0.93
LinkedList of 24000 items push then shift 6.7620 ns/op 8.0600 ns/op 0.84
array of 24000 items push then pop 96.957 ns/op 113.09 ns/op 0.86
LinkedList of 24000 items push then pop 6.6530 ns/op 7.4880 ns/op 0.89
intersect bitArray bitLen 8 6.1460 ns/op 6.3630 ns/op 0.97
intersect array and set length 8 36.459 ns/op 38.019 ns/op 0.96
intersect bitArray bitLen 128 28.983 ns/op 30.104 ns/op 0.96
intersect array and set length 128 598.77 ns/op 623.36 ns/op 0.96
bitArray.getTrueBitIndexes() bitLen 128 983.00 ns/op 1.0110 us/op 0.97
bitArray.getTrueBitIndexes() bitLen 248 1.7060 us/op 1.7860 us/op 0.96
bitArray.getTrueBitIndexes() bitLen 512 3.4730 us/op 3.7400 us/op 0.93
Buffer.concat 32 items 582.00 ns/op 602.00 ns/op 0.97
Uint8Array.set 32 items 2.0860 us/op 2.0990 us/op 0.99
Buffer.copy 2.6810 us/op 2.7290 us/op 0.98
Uint8Array.set - with subarray 2.0150 us/op 2.1250 us/op 0.95
Uint8Array.set - without subarray 1.9950 us/op 1.8830 us/op 1.06
getUint32 - dataview 193.00 ns/op 197.00 ns/op 0.98
getUint32 - manual 120.00 ns/op 125.00 ns/op 0.96
Set add up to 64 items then delete first 2.1482 us/op 2.2810 us/op 0.94
OrderedSet add up to 64 items then delete first 3.0728 us/op 3.1480 us/op 0.98
Set add up to 64 items then delete last 2.3548 us/op 2.4228 us/op 0.97
OrderedSet add up to 64 items then delete last 3.4309 us/op 3.6268 us/op 0.95
Set add up to 64 items then delete middle 2.3622 us/op 2.5398 us/op 0.93
OrderedSet add up to 64 items then delete middle 4.8944 us/op 5.1665 us/op 0.95
Set add up to 128 items then delete first 4.8948 us/op 4.8543 us/op 1.01
OrderedSet add up to 128 items then delete first 7.3090 us/op 7.6102 us/op 0.96
Set add up to 128 items then delete last 4.6625 us/op 4.9417 us/op 0.94
OrderedSet add up to 128 items then delete last 6.8832 us/op 7.2547 us/op 0.95
Set add up to 128 items then delete middle 4.6486 us/op 4.8148 us/op 0.97
OrderedSet add up to 128 items then delete middle 12.967 us/op 13.831 us/op 0.94
Set add up to 256 items then delete first 9.7283 us/op 10.907 us/op 0.89
OrderedSet add up to 256 items then delete first 15.125 us/op 15.838 us/op 0.96
Set add up to 256 items then delete last 9.3510 us/op 9.6279 us/op 0.97
OrderedSet add up to 256 items then delete last 13.946 us/op 14.303 us/op 0.98
Set add up to 256 items then delete middle 9.0851 us/op 10.078 us/op 0.90
OrderedSet add up to 256 items then delete middle 39.195 us/op 40.960 us/op 0.96
transfer serialized Status (84 B) 2.4500 us/op 2.5360 us/op 0.97
copy serialized Status (84 B) 1.2580 us/op 1.4850 us/op 0.85
transfer serialized SignedVoluntaryExit (112 B) 2.4250 us/op 2.5610 us/op 0.95
copy serialized SignedVoluntaryExit (112 B) 1.3030 us/op 1.3840 us/op 0.94
transfer serialized ProposerSlashing (416 B) 3.5260 us/op 2.9880 us/op 1.18
copy serialized ProposerSlashing (416 B) 1.9600 us/op 2.0830 us/op 0.94
transfer serialized Attestation (485 B) 3.6050 us/op 3.2230 us/op 1.12
copy serialized Attestation (485 B) 1.4970 us/op 2.2290 us/op 0.67
transfer serialized AttesterSlashing (33232 B) 2.8150 us/op 2.9060 us/op 0.97
copy serialized AttesterSlashing (33232 B) 3.7240 us/op 3.5690 us/op 1.04
transfer serialized Small SignedBeaconBlock (128000 B) 3.4190 us/op 3.2800 us/op 1.04
copy serialized Small SignedBeaconBlock (128000 B) 9.4890 us/op 9.6010 us/op 0.99
transfer serialized Avg SignedBeaconBlock (200000 B) 3.8440 us/op 3.6710 us/op 1.05
copy serialized Avg SignedBeaconBlock (200000 B) 14.242 us/op 14.315 us/op 0.99
transfer serialized BlobsSidecar (524380 B) 3.6180 us/op 3.9090 us/op 0.93
copy serialized BlobsSidecar (524380 B) 63.244 us/op 67.777 us/op 0.93
transfer serialized Big SignedBeaconBlock (1000000 B) 3.7050 us/op 4.0270 us/op 0.92
copy serialized Big SignedBeaconBlock (1000000 B) 201.00 us/op 121.39 us/op 1.66
pass gossip attestations to forkchoice per slot 2.7356 ms/op 2.8008 ms/op 0.98
forkChoice updateHead vc 100000 bc 64 eq 0 449.26 us/op 460.76 us/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 0 2.8281 ms/op 2.9605 ms/op 0.96
forkChoice updateHead vc 1000000 bc 64 eq 0 4.8104 ms/op 4.7994 ms/op 1.00
forkChoice updateHead vc 600000 bc 320 eq 0 2.8252 ms/op 2.8183 ms/op 1.00
forkChoice updateHead vc 600000 bc 1200 eq 0 2.7751 ms/op 2.8763 ms/op 0.96
forkChoice updateHead vc 600000 bc 7200 eq 0 3.3796 ms/op 3.1870 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 1000 10.091 ms/op 10.325 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 10000 10.097 ms/op 10.258 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 300000 14.363 ms/op 14.687 ms/op 0.98
computeDeltas 500000 validators 300 proto nodes 3.8309 ms/op 3.8431 ms/op 1.00
computeDeltas 500000 validators 1200 proto nodes 3.8398 ms/op 3.9128 ms/op 0.98
computeDeltas 500000 validators 7200 proto nodes 3.8711 ms/op 3.9471 ms/op 0.98
computeDeltas 750000 validators 300 proto nodes 5.6423 ms/op 5.7669 ms/op 0.98
computeDeltas 750000 validators 1200 proto nodes 5.7104 ms/op 5.6637 ms/op 1.01
computeDeltas 750000 validators 7200 proto nodes 5.7714 ms/op 5.7072 ms/op 1.01
computeDeltas 1400000 validators 300 proto nodes 10.586 ms/op 10.686 ms/op 0.99
computeDeltas 1400000 validators 1200 proto nodes 10.707 ms/op 11.480 ms/op 0.93
computeDeltas 1400000 validators 7200 proto nodes 10.759 ms/op 10.731 ms/op 1.00
computeDeltas 2100000 validators 300 proto nodes 16.012 ms/op 16.194 ms/op 0.99
computeDeltas 2100000 validators 1200 proto nodes 16.113 ms/op 16.246 ms/op 0.99
computeDeltas 2100000 validators 7200 proto nodes 16.378 ms/op 16.312 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei normalcase 2.0444 ms/op 2.0936 ms/op 0.98
altair processAttestation - 250000 vs - 7PWei worstcase 3.0259 ms/op 2.9751 ms/op 1.02
altair processAttestation - setStatus - 1/6 committees join 124.90 us/op 120.74 us/op 1.03
altair processAttestation - setStatus - 1/3 committees join 247.17 us/op 224.51 us/op 1.10
altair processAttestation - setStatus - 1/2 committees join 351.93 us/op 321.28 us/op 1.10
altair processAttestation - setStatus - 2/3 committees join 450.95 us/op 407.74 us/op 1.11
altair processAttestation - setStatus - 4/5 committees join 612.33 us/op 569.97 us/op 1.07
altair processAttestation - setStatus - 100% committees join 729.98 us/op 667.78 us/op 1.09
altair processBlock - 250000 vs - 7PWei normalcase 4.3035 ms/op 4.7952 ms/op 0.90
altair processBlock - 250000 vs - 7PWei normalcase hashState 35.994 ms/op 35.198 ms/op 1.02
altair processBlock - 250000 vs - 7PWei worstcase 38.225 ms/op 40.239 ms/op 0.95
altair processBlock - 250000 vs - 7PWei worstcase hashState 81.362 ms/op 92.998 ms/op 0.87
phase0 processBlock - 250000 vs - 7PWei normalcase 1.6745 ms/op 1.6883 ms/op 0.99
phase0 processBlock - 250000 vs - 7PWei worstcase 21.962 ms/op 24.799 ms/op 0.89
altair processEth1Data - 250000 vs - 7PWei normalcase 338.08 us/op 331.59 us/op 1.02
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.5210 us/op 15.170 us/op 0.30
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 24.812 us/op 34.504 us/op 0.72
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.0980 us/op 8.8200 us/op 0.80
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 4.6980 us/op 5.4190 us/op 0.87
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 97.894 us/op 109.51 us/op 0.89
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 913.85 us/op 1.0470 ms/op 0.87
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.2657 ms/op 1.4577 ms/op 0.87
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.2689 ms/op 1.4586 ms/op 0.87
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.2154 ms/op 3.4272 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.3678 ms/op 1.5565 ms/op 0.88
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.3680 ms/op 3.5359 ms/op 0.95
Tree 40 250000 create 408.79 ms/op 449.80 ms/op 0.91
Tree 40 250000 get(125000) 140.14 ns/op 146.25 ns/op 0.96
Tree 40 250000 set(125000) 1.3897 us/op 1.5783 us/op 0.88
Tree 40 250000 toArray() 14.907 ms/op 18.303 ms/op 0.81
Tree 40 250000 iterate all - toArray() + loop 14.630 ms/op 23.732 ms/op 0.62
Tree 40 250000 iterate all - get(i) 47.716 ms/op 59.078 ms/op 0.81
Array 250000 create 2.3982 ms/op 2.5289 ms/op 0.95
Array 250000 clone - spread 829.16 us/op 819.56 us/op 1.01
Array 250000 get(125000) 0.41800 ns/op 0.44200 ns/op 0.95
Array 250000 set(125000) 0.43700 ns/op 0.42700 ns/op 1.02
Array 250000 iterate all - loop 111.06 us/op 82.497 us/op 1.35
phase0 afterProcessEpoch - 250000 vs - 7PWei 47.692 ms/op 49.210 ms/op 0.97
Array.fill - length 1000000 3.3624 ms/op 6.0985 ms/op 0.55
Array push - length 1000000 17.513 ms/op 18.717 ms/op 0.94
Array.get 0.25906 ns/op 0.28276 ns/op 0.92
Uint8Array.get 0.43661 ns/op 0.44461 ns/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 16.600 ms/op 18.994 ms/op 0.87
altair processEpoch - mainnet_e81889 272.76 ms/op 289.98 ms/op 0.94
mainnet_e81889 - altair beforeProcessEpoch 17.529 ms/op 18.035 ms/op 0.97
mainnet_e81889 - altair processJustificationAndFinalization 5.5120 us/op 5.4840 us/op 1.01
mainnet_e81889 - altair processInactivityUpdates 3.8632 ms/op 4.0105 ms/op 0.96
mainnet_e81889 - altair processRewardsAndPenalties 38.436 ms/op 39.159 ms/op 0.98
mainnet_e81889 - altair processRegistryUpdates 701.00 ns/op 691.00 ns/op 1.01
mainnet_e81889 - altair processSlashings 167.00 ns/op 175.00 ns/op 0.95
mainnet_e81889 - altair processEth1DataReset 168.00 ns/op 172.00 ns/op 0.98
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2510 ms/op 1.2193 ms/op 1.03
mainnet_e81889 - altair processSlashingsReset 899.00 ns/op 885.00 ns/op 1.02
mainnet_e81889 - altair processRandaoMixesReset 1.1630 us/op 1.2080 us/op 0.96
mainnet_e81889 - altair processHistoricalRootsUpdate 170.00 ns/op 173.00 ns/op 0.98
mainnet_e81889 - altair processParticipationFlagUpdates 511.00 ns/op 501.00 ns/op 1.02
mainnet_e81889 - altair processSyncCommitteeUpdates 130.00 ns/op 135.00 ns/op 0.96
mainnet_e81889 - altair afterProcessEpoch 50.639 ms/op 50.725 ms/op 1.00
capella processEpoch - mainnet_e217614 955.94 ms/op 1.0274 s/op 0.93
mainnet_e217614 - capella beforeProcessEpoch 69.830 ms/op 71.145 ms/op 0.98
mainnet_e217614 - capella processJustificationAndFinalization 5.4160 us/op 5.2080 us/op 1.04
mainnet_e217614 - capella processInactivityUpdates 16.502 ms/op 17.889 ms/op 0.92
mainnet_e217614 - capella processRewardsAndPenalties 178.38 ms/op 179.91 ms/op 0.99
mainnet_e217614 - capella processRegistryUpdates 6.4290 us/op 6.3150 us/op 1.02
mainnet_e217614 - capella processSlashings 182.00 ns/op 173.00 ns/op 1.05
mainnet_e217614 - capella processEth1DataReset 178.00 ns/op 172.00 ns/op 1.03
mainnet_e217614 - capella processEffectiveBalanceUpdates 10.598 ms/op 13.050 ms/op 0.81
mainnet_e217614 - capella processSlashingsReset 914.00 ns/op 879.00 ns/op 1.04
mainnet_e217614 - capella processRandaoMixesReset 1.2050 us/op 1.1750 us/op 1.03
mainnet_e217614 - capella processHistoricalRootsUpdate 178.00 ns/op 176.00 ns/op 1.01
mainnet_e217614 - capella processParticipationFlagUpdates 529.00 ns/op 515.00 ns/op 1.03
mainnet_e217614 - capella afterProcessEpoch 122.13 ms/op 125.63 ms/op 0.97
phase0 processEpoch - mainnet_e58758 292.12 ms/op 325.14 ms/op 0.90
mainnet_e58758 - phase0 beforeProcessEpoch 67.094 ms/op 73.006 ms/op 0.92
mainnet_e58758 - phase0 processJustificationAndFinalization 5.7270 us/op 5.4040 us/op 1.06
mainnet_e58758 - phase0 processRewardsAndPenalties 33.662 ms/op 31.751 ms/op 1.06
mainnet_e58758 - phase0 processRegistryUpdates 3.1920 us/op 3.4800 us/op 0.92
mainnet_e58758 - phase0 processSlashings 180.00 ns/op 175.00 ns/op 1.03
mainnet_e58758 - phase0 processEth1DataReset 172.00 ns/op 174.00 ns/op 0.99
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0032 ms/op 1.0354 ms/op 0.97
mainnet_e58758 - phase0 processSlashingsReset 901.00 ns/op 956.00 ns/op 0.94
mainnet_e58758 - phase0 processRandaoMixesReset 1.2390 us/op 1.1800 us/op 1.05
mainnet_e58758 - phase0 processHistoricalRootsUpdate 174.00 ns/op 175.00 ns/op 0.99
mainnet_e58758 - phase0 processParticipationRecordUpdates 930.00 ns/op 893.00 ns/op 1.04
mainnet_e58758 - phase0 afterProcessEpoch 42.128 ms/op 42.371 ms/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2954 ms/op 1.3352 ms/op 0.97
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9232 ms/op 2.8057 ms/op 0.69
altair processInactivityUpdates - 250000 normalcase 15.896 ms/op 18.223 ms/op 0.87
altair processInactivityUpdates - 250000 worstcase 16.345 ms/op 18.002 ms/op 0.91
phase0 processRegistryUpdates - 250000 normalcase 6.7550 us/op 5.9490 us/op 1.14
phase0 processRegistryUpdates - 250000 badcase_full_deposits 208.31 us/op 286.10 us/op 0.73
phase0 processRegistryUpdates - 250000 worstcase 0.5 93.980 ms/op 114.61 ms/op 0.82
altair processRewardsAndPenalties - 250000 normalcase 43.883 ms/op 44.473 ms/op 0.99
altair processRewardsAndPenalties - 250000 worstcase 43.656 ms/op 42.635 ms/op 1.02
phase0 getAttestationDeltas - 250000 normalcase 8.7054 ms/op 6.1574 ms/op 1.41
phase0 getAttestationDeltas - 250000 worstcase 6.3978 ms/op 6.2686 ms/op 1.02
phase0 processSlashings - 250000 worstcase 77.146 us/op 102.96 us/op 0.75
altair processSyncCommitteeUpdates - 250000 117.87 ms/op 134.42 ms/op 0.88
BeaconState.hashTreeRoot - No change 215.00 ns/op 214.00 ns/op 1.00
BeaconState.hashTreeRoot - 1 full validator 80.216 us/op 76.530 us/op 1.05
BeaconState.hashTreeRoot - 32 full validator 970.95 us/op 1.4393 ms/op 0.67
BeaconState.hashTreeRoot - 512 full validator 9.3311 ms/op 10.917 ms/op 0.85
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 119.82 us/op 113.81 us/op 1.05
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.5714 ms/op 1.2890 ms/op 1.22
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 22.065 ms/op 20.358 ms/op 1.08
BeaconState.hashTreeRoot - 1 balances 82.928 us/op 72.517 us/op 1.14
BeaconState.hashTreeRoot - 32 balances 976.89 us/op 1.2441 ms/op 0.79
BeaconState.hashTreeRoot - 512 balances 8.6762 ms/op 7.2065 ms/op 1.20
BeaconState.hashTreeRoot - 250000 balances 169.74 ms/op 203.82 ms/op 0.83
aggregationBits - 2048 els - zipIndexesInBitList 21.479 us/op 22.454 us/op 0.96
byteArrayEquals 32 53.825 ns/op 53.837 ns/op 1.00
Buffer.compare 32 18.007 ns/op 17.485 ns/op 1.03
byteArrayEquals 1024 1.5930 us/op 1.6087 us/op 0.99
Buffer.compare 1024 26.493 ns/op 25.603 ns/op 1.03
byteArrayEquals 16384 25.418 us/op 25.643 us/op 0.99
Buffer.compare 16384 204.93 ns/op 180.99 ns/op 1.13
byteArrayEquals 123687377 189.60 ms/op 193.78 ms/op 0.98
Buffer.compare 123687377 6.3843 ms/op 8.0940 ms/op 0.79
byteArrayEquals 32 - diff last byte 52.877 ns/op 53.106 ns/op 1.00
Buffer.compare 32 - diff last byte 17.966 ns/op 17.229 ns/op 1.04
byteArrayEquals 1024 - diff last byte 1.5939 us/op 1.6102 us/op 0.99
Buffer.compare 1024 - diff last byte 26.861 ns/op 25.145 ns/op 1.07
byteArrayEquals 16384 - diff last byte 25.429 us/op 25.640 us/op 0.99
Buffer.compare 16384 - diff last byte 184.50 ns/op 184.03 ns/op 1.00
byteArrayEquals 123687377 - diff last byte 190.95 ms/op 193.96 ms/op 0.98
Buffer.compare 123687377 - diff last byte 6.2594 ms/op 6.8664 ms/op 0.91
byteArrayEquals 32 - random bytes 4.9900 ns/op 5.0880 ns/op 0.98
Buffer.compare 32 - random bytes 17.372 ns/op 17.518 ns/op 0.99
byteArrayEquals 1024 - random bytes 4.9980 ns/op 5.1360 ns/op 0.97
Buffer.compare 1024 - random bytes 17.403 ns/op 17.364 ns/op 1.00
byteArrayEquals 16384 - random bytes 5.0010 ns/op 5.5930 ns/op 0.89
Buffer.compare 16384 - random bytes 17.350 ns/op 17.381 ns/op 1.00
byteArrayEquals 123687377 - random bytes 6.4700 ns/op 6.2700 ns/op 1.03
Buffer.compare 123687377 - random bytes 19.010 ns/op 18.700 ns/op 1.02
regular array get 100000 times 33.616 us/op 40.684 us/op 0.83
wrappedArray get 100000 times 44.340 us/op 32.817 us/op 1.35
arrayWithProxy get 100000 times 13.640 ms/op 15.296 ms/op 0.89
ssz.Root.equals 47.126 ns/op 46.535 ns/op 1.01
byteArrayEquals 46.138 ns/op 45.565 ns/op 1.01
Buffer.compare 10.711 ns/op 10.359 ns/op 1.03
processSlot - 1 slots 10.418 us/op 10.829 us/op 0.96
processSlot - 32 slots 2.4309 ms/op 2.3433 ms/op 1.04
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 51.504 ms/op 48.580 ms/op 1.06
getCommitteeAssignments - req 1 vs - 250000 vc 2.1279 ms/op 2.1221 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 4.1389 ms/op 4.1012 ms/op 1.01
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4317 ms/op 4.4383 ms/op 1.00
findModifiedValidators - 10000 modified validators 741.66 ms/op 765.56 ms/op 0.97
findModifiedValidators - 1000 modified validators 697.90 ms/op 739.59 ms/op 0.94
findModifiedValidators - 100 modified validators 274.13 ms/op 261.39 ms/op 1.05
findModifiedValidators - 10 modified validators 186.97 ms/op 142.22 ms/op 1.31
findModifiedValidators - 1 modified validators 170.46 ms/op 139.83 ms/op 1.22
findModifiedValidators - no difference 201.07 ms/op 255.42 ms/op 0.79
compare ViewDUs 6.0315 s/op 5.9339 s/op 1.02
compare each validator Uint8Array 1.6791 s/op 1.4240 s/op 1.18
compare ViewDU to Uint8Array 1.0376 s/op 1.0813 s/op 0.96
migrate state 1000000 validators, 24 modified, 0 new 737.19 ms/op 851.14 ms/op 0.87
migrate state 1000000 validators, 1700 modified, 1000 new 1.1370 s/op 1.1213 s/op 1.01
migrate state 1000000 validators, 3400 modified, 2000 new 1.2060 s/op 1.2880 s/op 0.94
migrate state 1500000 validators, 24 modified, 0 new 784.10 ms/op 898.01 ms/op 0.87
migrate state 1500000 validators, 1700 modified, 1000 new 1.0262 s/op 1.0244 s/op 1.00
migrate state 1500000 validators, 3400 modified, 2000 new 1.3176 s/op 1.2985 s/op 1.01
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.1700 ns/op 4.2500 ns/op 0.98
state getBlockRootAtSlot - 250000 vs - 7PWei 599.16 ns/op 531.17 ns/op 1.13
computeProposers - vc 250000 7.0550 ms/op 6.9846 ms/op 1.01
computeEpochShuffling - vc 250000 43.485 ms/op 41.934 ms/op 1.04
getNextSyncCommittee - vc 250000 130.39 ms/op 142.27 ms/op 0.92
computeSigningRoot for AttestationData 23.960 us/op 21.973 us/op 1.09
hash AttestationData serialized data then Buffer.toString(base64) 1.5166 us/op 1.5490 us/op 0.98
toHexString serialized data 785.80 ns/op 990.77 ns/op 0.79
Buffer.toString(base64) 159.11 ns/op 152.93 ns/op 1.04
nodejs block root to RootHex using toHex 148.31 ns/op 150.90 ns/op 0.98
nodejs block root to RootHex using toRootHex 90.864 ns/op 86.490 ns/op 1.05
browser block root to RootHex using the deprecated toHexString 203.50 ns/op 211.90 ns/op 0.96
browser block root to RootHex using toHex 164.48 ns/op 170.00 ns/op 0.97
browser block root to RootHex using toRootHex 159.87 ns/op 159.71 ns/op 1.00

by benchmarkbot/action

@ensi321 ensi321 merged commit 3a27149 into unstable Feb 10, 2025
20 checks passed
@ensi321 ensi321 deleted the nflaig/bump-spec branch February 10, 2025 09:41
@wemeetagain
Copy link
Member

🎉 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.

3 participants