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: merge stable v1.25.0 back to unstable #7357

Merged
merged 2 commits into from
Jan 14, 2025
Merged

chore: merge stable v1.25.0 back to unstable #7357

merged 2 commits into from
Jan 14, 2025

Conversation

philknows
Copy link
Member

Motivation

As part of our release strategy, we must re-merge stable back to unstable.

@philknows philknows requested a review from a team as a code owner January 14, 2025 16:42
Copy link

codecov bot commented Jan 14, 2025

Codecov Report

Attention: Patch coverage is 65.30612% with 34 lines in your changes missing coverage. Please review.

Project coverage is 48.81%. Comparing base (ca315d4) to head (191f2f0).
Report is 15 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7357      +/-   ##
============================================
+ Coverage     48.76%   48.81%   +0.05%     
============================================
  Files           601      601              
  Lines         40222    40243      +21     
  Branches       2061     2066       +5     
============================================
+ Hits          19614    19646      +32     
+ Misses        20570    20560      -10     
+ Partials         38       37       -1     

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: ea46fec Previous: 6fb5259 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.7589 ms/op 1.7558 ms/op 1.00
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 63.311 us/op 48.488 us/op 1.31
BLS verify - blst 799.29 us/op 798.75 us/op 1.00
BLS verifyMultipleSignatures 3 - blst 1.1748 ms/op 1.1707 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst 1.6999 ms/op 1.6704 ms/op 1.02
BLS verifyMultipleSignatures 32 - blst 5.0036 ms/op 4.8584 ms/op 1.03
BLS verifyMultipleSignatures 64 - blst 9.5910 ms/op 8.9637 ms/op 1.07
BLS verifyMultipleSignatures 128 - blst 17.708 ms/op 17.411 ms/op 1.02
BLS deserializing 10000 signatures 689.25 ms/op 685.65 ms/op 1.01
BLS deserializing 100000 signatures 7.0390 s/op 6.9563 s/op 1.01
BLS verifyMultipleSignatures - same message - 3 - blst 1.0346 ms/op 916.86 us/op 1.13
BLS verifyMultipleSignatures - same message - 8 - blst 1.1454 ms/op 999.91 us/op 1.15
BLS verifyMultipleSignatures - same message - 32 - blst 1.8381 ms/op 1.6959 ms/op 1.08
BLS verifyMultipleSignatures - same message - 64 - blst 2.8333 ms/op 2.5733 ms/op 1.10
BLS verifyMultipleSignatures - same message - 128 - blst 4.6509 ms/op 4.3497 ms/op 1.07
BLS aggregatePubkeys 32 - blst 21.326 us/op 20.025 us/op 1.06
BLS aggregatePubkeys 128 - blst 72.859 us/op 71.057 us/op 1.03
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 62.641 ms/op 63.596 ms/op 0.98
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 60.878 ms/op 57.623 ms/op 1.06
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 48.519 ms/op 42.118 ms/op 1.15
getSlashingsAndExits - default max 131.47 us/op 134.20 us/op 0.98
getSlashingsAndExits - 2k 538.93 us/op 391.36 us/op 1.38
proposeBlockBody type=full, size=empty 7.0909 ms/op 5.8430 ms/op 1.21
isKnown best case - 1 super set check 367.00 ns/op 279.00 ns/op 1.32
isKnown normal case - 2 super set checks 334.00 ns/op 268.00 ns/op 1.25
isKnown worse case - 16 super set checks 304.00 ns/op 269.00 ns/op 1.13
InMemoryCheckpointStateCache - add get delete 3.8670 us/op 2.4890 us/op 1.55
validate api signedAggregateAndProof - struct 1.6353 ms/op 1.3818 ms/op 1.18
validate gossip signedAggregateAndProof - struct 1.6753 ms/op 1.3722 ms/op 1.22
batch validate gossip attestation - vc 640000 - chunk 32 141.55 us/op 120.49 us/op 1.17
batch validate gossip attestation - vc 640000 - chunk 64 124.48 us/op 106.23 us/op 1.17
batch validate gossip attestation - vc 640000 - chunk 128 117.38 us/op 101.56 us/op 1.16
batch validate gossip attestation - vc 640000 - chunk 256 121.91 us/op 100.64 us/op 1.21
pickEth1Vote - no votes 1.2357 ms/op 1.0372 ms/op 1.19
pickEth1Vote - max votes 6.5960 ms/op 5.8242 ms/op 1.13
pickEth1Vote - Eth1Data hashTreeRoot value x2048 18.117 ms/op 16.428 ms/op 1.10
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 28.090 ms/op 16.496 ms/op 1.70
pickEth1Vote - Eth1Data fastSerialize value x2048 556.18 us/op 544.96 us/op 1.02
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.2078 ms/op 3.1003 ms/op 1.36
bytes32 toHexString 613.00 ns/op 443.00 ns/op 1.38
bytes32 Buffer.toString(hex) 248.00 ns/op 239.00 ns/op 1.04
bytes32 Buffer.toString(hex) from Uint8Array 458.00 ns/op 384.00 ns/op 1.19
bytes32 Buffer.toString(hex) + 0x 264.00 ns/op 245.00 ns/op 1.08
Object access 1 prop 0.20700 ns/op 0.14900 ns/op 1.39
Map access 1 prop 0.14600 ns/op 0.13100 ns/op 1.11
Object get x1000 6.5020 ns/op 5.8620 ns/op 1.11
Map get x1000 6.8650 ns/op 6.5560 ns/op 1.05
Object set x1000 40.157 ns/op 32.848 ns/op 1.22
Map set x1000 30.374 ns/op 23.751 ns/op 1.28
Return object 10000 times 0.32600 ns/op 0.29420 ns/op 1.11
Throw Error 10000 times 3.7024 us/op 3.3694 us/op 1.10
toHex 182.36 ns/op 154.77 ns/op 1.18
Buffer.from 154.39 ns/op 139.66 ns/op 1.11
shared Buffer 101.46 ns/op 87.210 ns/op 1.16
fastMsgIdFn sha256 / 200 bytes 2.6650 us/op 2.2700 us/op 1.17
fastMsgIdFn h32 xxhash / 200 bytes 347.00 ns/op 238.00 ns/op 1.46
fastMsgIdFn h64 xxhash / 200 bytes 312.00 ns/op 276.00 ns/op 1.13
fastMsgIdFn sha256 / 1000 bytes 8.7550 us/op 7.3360 us/op 1.19
fastMsgIdFn h32 xxhash / 1000 bytes 485.00 ns/op 370.00 ns/op 1.31
fastMsgIdFn h64 xxhash / 1000 bytes 376.00 ns/op 351.00 ns/op 1.07
fastMsgIdFn sha256 / 10000 bytes 72.765 us/op 64.288 us/op 1.13
fastMsgIdFn h32 xxhash / 10000 bytes 2.0190 us/op 1.8860 us/op 1.07
fastMsgIdFn h64 xxhash / 10000 bytes 1.3740 us/op 1.2680 us/op 1.08
send data - 1000 256B messages 15.900 ms/op 12.417 ms/op 1.28
send data - 1000 512B messages 21.836 ms/op 17.879 ms/op 1.22
send data - 1000 1024B messages 31.141 ms/op 25.535 ms/op 1.22
send data - 1000 1200B messages 31.896 ms/op 26.220 ms/op 1.22
send data - 1000 2048B messages 36.958 ms/op 30.674 ms/op 1.20
send data - 1000 4096B messages 39.046 ms/op 31.462 ms/op 1.24
send data - 1000 16384B messages 78.470 ms/op 73.304 ms/op 1.07
send data - 1000 65536B messages 250.48 ms/op 217.40 ms/op 1.15
enrSubnets - fastDeserialize 64 bits 1.4600 us/op 1.0770 us/op 1.36
enrSubnets - ssz BitVector 64 bits 461.00 ns/op 364.00 ns/op 1.27
enrSubnets - fastDeserialize 4 bits 198.00 ns/op 147.00 ns/op 1.35
enrSubnets - ssz BitVector 4 bits 486.00 ns/op 361.00 ns/op 1.35
prioritizePeers score -10:0 att 32-0.1 sync 2-0 183.05 us/op 131.85 us/op 1.39
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 196.24 us/op 154.31 us/op 1.27
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 323.65 us/op 224.22 us/op 1.44
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 528.70 us/op 400.59 us/op 1.32
prioritizePeers score 0:0 att 64-1 sync 4-1 650.36 us/op 502.77 us/op 1.29
array of 16000 items push then shift 1.7993 us/op 1.6113 us/op 1.12
LinkedList of 16000 items push then shift 7.8290 ns/op 7.0350 ns/op 1.11
array of 16000 items push then pop 139.89 ns/op 116.92 ns/op 1.20
LinkedList of 16000 items push then pop 7.7460 ns/op 7.0870 ns/op 1.09
array of 24000 items push then shift 2.5895 us/op 2.4163 us/op 1.07
LinkedList of 24000 items push then shift 8.3930 ns/op 7.0660 ns/op 1.19
array of 24000 items push then pop 190.08 ns/op 130.05 ns/op 1.46
LinkedList of 24000 items push then pop 8.5230 ns/op 6.9410 ns/op 1.23
intersect bitArray bitLen 8 7.2960 ns/op 6.3580 ns/op 1.15
intersect array and set length 8 54.569 ns/op 43.341 ns/op 1.26
intersect bitArray bitLen 128 32.987 ns/op 29.713 ns/op 1.11
intersect array and set length 128 854.04 ns/op 692.12 ns/op 1.23
bitArray.getTrueBitIndexes() bitLen 128 1.7230 us/op 1.3120 us/op 1.31
bitArray.getTrueBitIndexes() bitLen 248 2.7770 us/op 2.2680 us/op 1.22
bitArray.getTrueBitIndexes() bitLen 512 5.7960 us/op 4.4650 us/op 1.30
Buffer.concat 32 items 891.00 ns/op 743.00 ns/op 1.20
Uint8Array.set 32 items 1.7100 us/op 1.4460 us/op 1.18
Buffer.copy 2.9100 us/op 2.3920 us/op 1.22
Uint8Array.set - with subarray 2.4320 us/op 2.2680 us/op 1.07
Uint8Array.set - without subarray 1.6110 us/op 1.4670 us/op 1.10
getUint32 - dataview 299.00 ns/op 227.00 ns/op 1.32
getUint32 - manual 229.00 ns/op 147.00 ns/op 1.56
Set add up to 64 items then delete first 2.5482 us/op 2.1278 us/op 1.20
OrderedSet add up to 64 items then delete first 4.1677 us/op 3.1377 us/op 1.33
Set add up to 64 items then delete last 2.8811 us/op 2.4004 us/op 1.20
OrderedSet add up to 64 items then delete last 4.2433 us/op 3.6470 us/op 1.16
Set add up to 64 items then delete middle 2.9394 us/op 2.3992 us/op 1.23
OrderedSet add up to 64 items then delete middle 6.0656 us/op 5.0317 us/op 1.21
Set add up to 128 items then delete first 5.9845 us/op 4.7407 us/op 1.26
OrderedSet add up to 128 items then delete first 9.2851 us/op 7.2885 us/op 1.27
Set add up to 128 items then delete last 5.7449 us/op 4.8666 us/op 1.18
OrderedSet add up to 128 items then delete last 8.3889 us/op 7.2966 us/op 1.15
Set add up to 128 items then delete middle 5.6350 us/op 4.7028 us/op 1.20
OrderedSet add up to 128 items then delete middle 15.671 us/op 13.063 us/op 1.20
Set add up to 256 items then delete first 12.110 us/op 9.3341 us/op 1.30
OrderedSet add up to 256 items then delete first 18.445 us/op 13.883 us/op 1.33
Set add up to 256 items then delete last 11.606 us/op 9.4926 us/op 1.22
OrderedSet add up to 256 items then delete last 16.831 us/op 15.467 us/op 1.09
Set add up to 256 items then delete middle 10.820 us/op 10.032 us/op 1.08
OrderedSet add up to 256 items then delete middle 46.509 us/op 41.588 us/op 1.12
transfer serialized Status (84 B) 3.0270 us/op 2.5820 us/op 1.17
copy serialized Status (84 B) 1.4350 us/op 1.3960 us/op 1.03
transfer serialized SignedVoluntaryExit (112 B) 3.0730 us/op 2.7030 us/op 1.14
copy serialized SignedVoluntaryExit (112 B) 1.5230 us/op 1.4410 us/op 1.06
transfer serialized ProposerSlashing (416 B) 3.3170 us/op 2.8240 us/op 1.17
copy serialized ProposerSlashing (416 B) 2.0070 us/op 1.6250 us/op 1.24
transfer serialized Attestation (485 B) 3.6010 us/op 2.7810 us/op 1.29
copy serialized Attestation (485 B) 1.8440 us/op 1.7230 us/op 1.07
transfer serialized AttesterSlashing (33232 B) 2.9680 us/op 2.8370 us/op 1.05
copy serialized AttesterSlashing (33232 B) 6.1680 us/op 5.2300 us/op 1.18
transfer serialized Small SignedBeaconBlock (128000 B) 3.5850 us/op 3.2740 us/op 1.09
copy serialized Small SignedBeaconBlock (128000 B) 17.204 us/op 15.581 us/op 1.10
transfer serialized Avg SignedBeaconBlock (200000 B) 4.3350 us/op 3.9190 us/op 1.11
copy serialized Avg SignedBeaconBlock (200000 B) 23.706 us/op 20.934 us/op 1.13
transfer serialized BlobsSidecar (524380 B) 5.8760 us/op 4.1470 us/op 1.42
copy serialized BlobsSidecar (524380 B) 96.891 us/op 87.922 us/op 1.10
transfer serialized Big SignedBeaconBlock (1000000 B) 7.1270 us/op 4.1400 us/op 1.72
copy serialized Big SignedBeaconBlock (1000000 B) 242.88 us/op 155.86 us/op 1.56
pass gossip attestations to forkchoice per slot 2.8327 ms/op 2.6829 ms/op 1.06
forkChoice updateHead vc 100000 bc 64 eq 0 538.71 us/op 455.60 us/op 1.18
forkChoice updateHead vc 600000 bc 64 eq 0 4.2448 ms/op 3.5230 ms/op 1.20
forkChoice updateHead vc 1000000 bc 64 eq 0 5.6013 ms/op 4.9269 ms/op 1.14
forkChoice updateHead vc 600000 bc 320 eq 0 3.1724 ms/op 2.7926 ms/op 1.14
forkChoice updateHead vc 600000 bc 1200 eq 0 3.2068 ms/op 2.8580 ms/op 1.12
forkChoice updateHead vc 600000 bc 7200 eq 0 3.5146 ms/op 3.7517 ms/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 1000 11.193 ms/op 10.627 ms/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 10000 10.818 ms/op 10.736 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 300000 17.023 ms/op 14.169 ms/op 1.20
computeDeltas 500000 validators 300 proto nodes 4.5448 ms/op 4.2186 ms/op 1.08
computeDeltas 500000 validators 1200 proto nodes 4.7269 ms/op 4.1095 ms/op 1.15
computeDeltas 500000 validators 7200 proto nodes 4.3853 ms/op 4.1234 ms/op 1.06
computeDeltas 750000 validators 300 proto nodes 6.3951 ms/op 6.0822 ms/op 1.05
computeDeltas 750000 validators 1200 proto nodes 6.3485 ms/op 6.0632 ms/op 1.05
computeDeltas 750000 validators 7200 proto nodes 6.3465 ms/op 6.0741 ms/op 1.04
computeDeltas 1400000 validators 300 proto nodes 11.881 ms/op 11.454 ms/op 1.04
computeDeltas 1400000 validators 1200 proto nodes 12.151 ms/op 11.401 ms/op 1.07
computeDeltas 1400000 validators 7200 proto nodes 12.258 ms/op 11.575 ms/op 1.06
computeDeltas 2100000 validators 300 proto nodes 18.823 ms/op 17.104 ms/op 1.10
computeDeltas 2100000 validators 1200 proto nodes 20.429 ms/op 17.128 ms/op 1.19
computeDeltas 2100000 validators 7200 proto nodes 19.224 ms/op 17.014 ms/op 1.13
altair processAttestation - 250000 vs - 7PWei normalcase 2.3367 ms/op 2.2064 ms/op 1.06
altair processAttestation - 250000 vs - 7PWei worstcase 3.4350 ms/op 2.9692 ms/op 1.16
altair processAttestation - setStatus - 1/6 committees join 144.39 us/op 136.60 us/op 1.06
altair processAttestation - setStatus - 1/3 committees join 287.79 us/op 251.06 us/op 1.15
altair processAttestation - setStatus - 1/2 committees join 449.27 us/op 352.96 us/op 1.27
altair processAttestation - setStatus - 2/3 committees join 525.19 us/op 448.35 us/op 1.17
altair processAttestation - setStatus - 4/5 committees join 699.67 us/op 606.66 us/op 1.15
altair processAttestation - setStatus - 100% committees join 789.82 us/op 730.89 us/op 1.08
altair processBlock - 250000 vs - 7PWei normalcase 8.7523 ms/op 5.7041 ms/op 1.53
altair processBlock - 250000 vs - 7PWei normalcase hashState 41.630 ms/op 22.714 ms/op 1.83
altair processBlock - 250000 vs - 7PWei worstcase 40.907 ms/op 33.069 ms/op 1.24
altair processBlock - 250000 vs - 7PWei worstcase hashState 80.163 ms/op 73.108 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4375 ms/op 1.7866 ms/op 1.36
phase0 processBlock - 250000 vs - 7PWei worstcase 25.328 ms/op 20.833 ms/op 1.22
altair processEth1Data - 250000 vs - 7PWei normalcase 545.93 us/op 350.35 us/op 1.56
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 12.062 us/op 5.7100 us/op 2.11
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 77.237 us/op 53.235 us/op 1.45
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 31.111 us/op 11.978 us/op 2.60
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 12.730 us/op 7.5000 us/op 1.70
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 213.45 us/op 125.58 us/op 1.70
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3473 ms/op 1.2562 ms/op 1.07
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.1361 ms/op 1.4382 ms/op 1.49
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.2202 ms/op 1.4771 ms/op 1.50
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 5.2152 ms/op 3.8955 ms/op 1.34
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.7824 ms/op 1.4973 ms/op 1.19
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.2272 ms/op 4.2588 ms/op 1.23
Tree 40 250000 create 342.30 ms/op 210.29 ms/op 1.63
Tree 40 250000 get(125000) 194.26 ns/op 143.29 ns/op 1.36
Tree 40 250000 set(125000) 1.0611 us/op 714.95 ns/op 1.48
Tree 40 250000 toArray() 24.320 ms/op 18.693 ms/op 1.30
Tree 40 250000 iterate all - toArray() + loop 24.705 ms/op 19.722 ms/op 1.25
Tree 40 250000 iterate all - get(i) 66.285 ms/op 58.025 ms/op 1.14
Array 250000 create 4.4389 ms/op 2.9723 ms/op 1.49
Array 250000 clone - spread 1.7695 ms/op 1.5293 ms/op 1.16
Array 250000 get(125000) 0.44600 ns/op 0.42200 ns/op 1.06
Array 250000 set(125000) 0.49600 ns/op 0.44700 ns/op 1.11
Array 250000 iterate all - loop 120.34 us/op 83.954 us/op 1.43
phase0 afterProcessEpoch - 250000 vs - 7PWei 60.017 ms/op 53.362 ms/op 1.12
Array.fill - length 1000000 5.1903 ms/op 3.7870 ms/op 1.37
Array push - length 1000000 27.408 ms/op 17.510 ms/op 1.57
Array.get 0.33486 ns/op 0.27102 ns/op 1.24
Uint8Array.get 0.57899 ns/op 0.43483 ns/op 1.33
phase0 beforeProcessEpoch - 250000 vs - 7PWei 29.871 ms/op 15.742 ms/op 1.90
altair processEpoch - mainnet_e81889 379.65 ms/op 268.52 ms/op 1.41
mainnet_e81889 - altair beforeProcessEpoch 28.516 ms/op 17.940 ms/op 1.59
mainnet_e81889 - altair processJustificationAndFinalization 30.597 us/op 14.316 us/op 2.14
mainnet_e81889 - altair processInactivityUpdates 9.2726 ms/op 4.8943 ms/op 1.89
mainnet_e81889 - altair processRewardsAndPenalties 68.353 ms/op 42.143 ms/op 1.62
mainnet_e81889 - altair processRegistryUpdates 4.9650 us/op 2.3770 us/op 2.09
mainnet_e81889 - altair processSlashings 1.0650 us/op 405.00 ns/op 2.63
mainnet_e81889 - altair processEth1DataReset 1.0360 us/op 482.00 ns/op 2.15
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6299 ms/op 1.3734 ms/op 1.19
mainnet_e81889 - altair processSlashingsReset 12.602 us/op 3.2640 us/op 3.86
mainnet_e81889 - altair processRandaoMixesReset 12.888 us/op 4.1680 us/op 3.09
mainnet_e81889 - altair processHistoricalRootsUpdate 2.3700 us/op 838.00 ns/op 2.83
mainnet_e81889 - altair processParticipationFlagUpdates 7.5650 us/op 2.1060 us/op 3.59
mainnet_e81889 - altair processSyncCommitteeUpdates 2.1700 us/op 617.00 ns/op 3.52
mainnet_e81889 - altair afterProcessEpoch 71.558 ms/op 50.238 ms/op 1.42
capella processEpoch - mainnet_e217614 1.3454 s/op 1.0428 s/op 1.29
mainnet_e217614 - capella beforeProcessEpoch 92.133 ms/op 68.064 ms/op 1.35
mainnet_e217614 - capella processJustificationAndFinalization 21.956 us/op 12.050 us/op 1.82
mainnet_e217614 - capella processInactivityUpdates 19.918 ms/op 16.587 ms/op 1.20
mainnet_e217614 - capella processRewardsAndPenalties 262.40 ms/op 212.93 ms/op 1.23
mainnet_e217614 - capella processRegistryUpdates 22.920 us/op 16.404 us/op 1.40
mainnet_e217614 - capella processSlashings 1.3750 us/op 525.00 ns/op 2.62
mainnet_e217614 - capella processEth1DataReset 602.00 ns/op 500.00 ns/op 1.20
mainnet_e217614 - capella processEffectiveBalanceUpdates 17.823 ms/op 11.259 ms/op 1.58
mainnet_e217614 - capella processSlashingsReset 5.1300 us/op 3.2340 us/op 1.59
mainnet_e217614 - capella processRandaoMixesReset 12.654 us/op 4.8570 us/op 2.61
mainnet_e217614 - capella processHistoricalRootsUpdate 1.4000 us/op 539.00 ns/op 2.60
mainnet_e217614 - capella processParticipationFlagUpdates 4.3720 us/op 1.5090 us/op 2.90
mainnet_e217614 - capella afterProcessEpoch 150.85 ms/op 122.66 ms/op 1.23
phase0 processEpoch - mainnet_e58758 409.02 ms/op 321.99 ms/op 1.27
mainnet_e58758 - phase0 beforeProcessEpoch 102.24 ms/op 69.195 ms/op 1.48
mainnet_e58758 - phase0 processJustificationAndFinalization 23.291 us/op 12.358 us/op 1.88
mainnet_e58758 - phase0 processRewardsAndPenalties 31.092 ms/op 29.679 ms/op 1.05
mainnet_e58758 - phase0 processRegistryUpdates 19.060 us/op 8.1230 us/op 2.35
mainnet_e58758 - phase0 processSlashings 1.5170 us/op 521.00 ns/op 2.91
mainnet_e58758 - phase0 processEth1DataReset 932.00 ns/op 413.00 ns/op 2.26
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.6425 ms/op 1.1405 ms/op 1.44
mainnet_e58758 - phase0 processSlashingsReset 4.9020 us/op 2.2380 us/op 2.19
mainnet_e58758 - phase0 processRandaoMixesReset 8.6370 us/op 4.2270 us/op 2.04
mainnet_e58758 - phase0 processHistoricalRootsUpdate 829.00 ns/op 417.00 ns/op 1.99
mainnet_e58758 - phase0 processParticipationRecordUpdates 7.3150 us/op 3.6480 us/op 2.01
mainnet_e58758 - phase0 afterProcessEpoch 48.534 ms/op 42.659 ms/op 1.14
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4951 ms/op 1.3205 ms/op 1.13
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 4.0088 ms/op 1.8169 ms/op 2.21
altair processInactivityUpdates - 250000 normalcase 21.665 ms/op 14.734 ms/op 1.47
altair processInactivityUpdates - 250000 worstcase 20.216 ms/op 15.205 ms/op 1.33
phase0 processRegistryUpdates - 250000 normalcase 13.856 us/op 9.0000 us/op 1.54
phase0 processRegistryUpdates - 250000 badcase_full_deposits 561.14 us/op 274.25 us/op 2.05
phase0 processRegistryUpdates - 250000 worstcase 0.5 172.35 ms/op 102.01 ms/op 1.69
altair processRewardsAndPenalties - 250000 normalcase 43.474 ms/op 37.954 ms/op 1.15
altair processRewardsAndPenalties - 250000 worstcase 44.220 ms/op 38.391 ms/op 1.15
phase0 getAttestationDeltas - 250000 normalcase 13.776 ms/op 7.3314 ms/op 1.88
phase0 getAttestationDeltas - 250000 worstcase 10.456 ms/op 6.9921 ms/op 1.50
phase0 processSlashings - 250000 worstcase 124.32 us/op 76.355 us/op 1.63
altair processSyncCommitteeUpdates - 250000 146.71 ms/op 116.53 ms/op 1.26
BeaconState.hashTreeRoot - No change 364.00 ns/op 239.00 ns/op 1.52
BeaconState.hashTreeRoot - 1 full validator 169.96 us/op 103.12 us/op 1.65
BeaconState.hashTreeRoot - 32 full validator 1.4158 ms/op 1.3325 ms/op 1.06
BeaconState.hashTreeRoot - 512 full validator 12.875 ms/op 11.277 ms/op 1.14
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 166.33 us/op 124.88 us/op 1.33
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.6265 ms/op 1.4028 ms/op 1.87
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 29.207 ms/op 20.090 ms/op 1.45
BeaconState.hashTreeRoot - 1 balances 115.42 us/op 74.347 us/op 1.55
BeaconState.hashTreeRoot - 32 balances 1.1852 ms/op 1.2161 ms/op 0.97
BeaconState.hashTreeRoot - 512 balances 12.393 ms/op 8.5238 ms/op 1.45
BeaconState.hashTreeRoot - 250000 balances 254.74 ms/op 178.15 ms/op 1.43
aggregationBits - 2048 els - zipIndexesInBitList 48.039 us/op 22.930 us/op 2.10
byteArrayEquals 32 61.033 ns/op 53.097 ns/op 1.15
Buffer.compare 32 21.381 ns/op 16.979 ns/op 1.26
byteArrayEquals 1024 1.8459 us/op 1.5677 us/op 1.18
Buffer.compare 1024 30.206 ns/op 25.089 ns/op 1.20
byteArrayEquals 16384 31.313 us/op 24.765 us/op 1.26
Buffer.compare 16384 235.21 ns/op 189.04 ns/op 1.24
byteArrayEquals 123687377 211.35 ms/op 186.88 ms/op 1.13
Buffer.compare 123687377 8.8851 ms/op 6.0320 ms/op 1.47
byteArrayEquals 32 - diff last byte 58.327 ns/op 51.702 ns/op 1.13
Buffer.compare 32 - diff last byte 19.660 ns/op 16.800 ns/op 1.17
byteArrayEquals 1024 - diff last byte 1.6899 us/op 1.5591 us/op 1.08
Buffer.compare 1024 - diff last byte 28.719 ns/op 24.748 ns/op 1.16
byteArrayEquals 16384 - diff last byte 27.187 us/op 24.811 us/op 1.10
Buffer.compare 16384 - diff last byte 222.38 ns/op 200.52 ns/op 1.11
byteArrayEquals 123687377 - diff last byte 211.83 ms/op 189.69 ms/op 1.12
Buffer.compare 123687377 - diff last byte 8.9776 ms/op 6.0850 ms/op 1.48
byteArrayEquals 32 - random bytes 5.6710 ns/op 5.0690 ns/op 1.12
Buffer.compare 32 - random bytes 18.762 ns/op 16.894 ns/op 1.11
byteArrayEquals 1024 - random bytes 5.4980 ns/op 5.0730 ns/op 1.08
Buffer.compare 1024 - random bytes 18.728 ns/op 16.908 ns/op 1.11
byteArrayEquals 16384 - random bytes 5.4570 ns/op 5.0720 ns/op 1.08
Buffer.compare 16384 - random bytes 18.751 ns/op 16.882 ns/op 1.11
byteArrayEquals 123687377 - random bytes 6.9300 ns/op 6.2700 ns/op 1.11
Buffer.compare 123687377 - random bytes 19.870 ns/op 18.200 ns/op 1.09
regular array get 100000 times 35.103 us/op 32.763 us/op 1.07
wrappedArray get 100000 times 34.924 us/op 32.457 us/op 1.08
arrayWithProxy get 100000 times 13.858 ms/op 12.839 ms/op 1.08
ssz.Root.equals 49.141 ns/op 45.466 ns/op 1.08
byteArrayEquals 48.329 ns/op 44.912 ns/op 1.08
Buffer.compare 11.243 ns/op 10.238 ns/op 1.10
processSlot - 1 slots 12.841 us/op 12.434 us/op 1.03
processSlot - 32 slots 2.5482 ms/op 2.9540 ms/op 0.86
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.370 ms/op 37.709 ms/op 0.99
getCommitteeAssignments - req 1 vs - 250000 vc 2.2833 ms/op 2.1103 ms/op 1.08
getCommitteeAssignments - req 100 vs - 250000 vc 4.3641 ms/op 4.0741 ms/op 1.07
getCommitteeAssignments - req 1000 vs - 250000 vc 4.8277 ms/op 4.4982 ms/op 1.07
findModifiedValidators - 10000 modified validators 329.84 ms/op 241.16 ms/op 1.37
findModifiedValidators - 1000 modified validators 224.80 ms/op 180.40 ms/op 1.25
findModifiedValidators - 100 modified validators 262.82 ms/op 177.31 ms/op 1.48
findModifiedValidators - 10 modified validators 218.40 ms/op 162.32 ms/op 1.35
findModifiedValidators - 1 modified validators 308.00 ms/op 178.32 ms/op 1.73
findModifiedValidators - no difference 281.44 ms/op 165.08 ms/op 1.70
compare ViewDUs 3.6905 s/op 2.9849 s/op 1.24
compare each validator Uint8Array 1.4201 s/op 1.6662 s/op 0.85
compare ViewDU to Uint8Array 976.71 ms/op 911.90 ms/op 1.07
migrate state 1000000 validators, 24 modified, 0 new 723.48 ms/op 729.68 ms/op 0.99
migrate state 1000000 validators, 1700 modified, 1000 new 941.20 ms/op 986.01 ms/op 0.95
migrate state 1000000 validators, 3400 modified, 2000 new 1.1817 s/op 1.1609 s/op 1.02
migrate state 1500000 validators, 24 modified, 0 new 759.43 ms/op 760.84 ms/op 1.00
migrate state 1500000 validators, 1700 modified, 1000 new 1.0563 s/op 979.83 ms/op 1.08
migrate state 1500000 validators, 3400 modified, 2000 new 1.2743 s/op 1.1805 s/op 1.08
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.3100 ns/op 4.3000 ns/op 1.23
state getBlockRootAtSlot - 250000 vs - 7PWei 865.58 ns/op 653.57 ns/op 1.32
computeProposers - vc 250000 9.7458 ms/op 6.8138 ms/op 1.43
computeEpochShuffling - vc 250000 45.838 ms/op 40.920 ms/op 1.12
getNextSyncCommittee - vc 250000 148.10 ms/op 120.12 ms/op 1.23
computeSigningRoot for AttestationData 31.713 us/op 20.359 us/op 1.56
hash AttestationData serialized data then Buffer.toString(base64) 1.7518 us/op 1.5839 us/op 1.11
toHexString serialized data 1.1647 us/op 855.78 ns/op 1.36
Buffer.toString(base64) 189.86 ns/op 181.46 ns/op 1.05
nodejs block root to RootHex using toHex 158.84 ns/op 156.59 ns/op 1.01
nodejs block root to RootHex using toRootHex 96.094 ns/op 89.723 ns/op 1.07
browser block root to RootHex using the deprecated toHexString 239.98 ns/op 221.04 ns/op 1.09
browser block root to RootHex using toHex 197.87 ns/op 174.91 ns/op 1.13
browser block root to RootHex using toRootHex 168.33 ns/op 156.21 ns/op 1.08

by benchmarkbot/action

Copy link
Member

@matthewkeil matthewkeil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎸

@philknows philknows merged commit 0ac8bb9 into unstable Jan 14, 2025
46 of 48 checks passed
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