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

fix: include skipped partial withdrawal to partialWithdrawalsCount #7118

Merged
merged 1 commit into from
Oct 8, 2024

Conversation

ensi321
Copy link
Contributor

@ensi321 ensi321 commented Oct 1, 2024

ethereum/consensus-specs#3943 fixes calculation of partial_withdrawals_count such that partial withdrawals can be dequeued correctly.

Copy link

codecov bot commented Oct 1, 2024

Codecov Report

Attention: Patch coverage is 66.66667% with 1 line in your changes missing coverage. Please review.

Project coverage is 48.95%. Comparing base (fe7e21b) to head (bc972d4).
Report is 6 commits behind head on nc/devnet-4.

Additional details and impacted files
@@             Coverage Diff              @@
##           nc/devnet-4    #7118   +/-   ##
============================================
  Coverage        48.95%   48.95%           
============================================
  Files              597      597           
  Lines            39833    39834    +1     
  Branches          2058     2061    +3     
============================================
+ Hits             19500    19501    +1     
  Misses           20292    20292           
  Partials            41       41           

Copy link
Contributor

github-actions bot commented Oct 1, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 3450bc0 Previous: fe7e21b Ratio
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 56.375 us/op 175.07 us/op 0.32
BLS verify - blst 864.94 us/op 2.7948 ms/op 0.31
BLS verifyMultipleSignatures 8 - blst 1.6985 ms/op 7.0275 ms/op 0.24
BLS verifyMultipleSignatures 32 - blst 4.9515 ms/op 20.324 ms/op 0.24
BLS verifyMultipleSignatures 64 - blst 9.1497 ms/op 37.674 ms/op 0.24
BLS verifyMultipleSignatures 128 - blst 17.443 ms/op 55.985 ms/op 0.31
BLS verifyMultipleSignatures - same message - 3 - blst 912.32 us/op 3.4407 ms/op 0.27
BLS verifyMultipleSignatures - same message - 8 - blst 1.0668 ms/op 3.3593 ms/op 0.32
BLS verifyMultipleSignatures - same message - 32 - blst 1.7391 ms/op 6.0416 ms/op 0.29
BLS verifyMultipleSignatures - same message - 64 - blst 2.6180 ms/op 10.390 ms/op 0.25
BLS verifyMultipleSignatures - same message - 128 - blst 4.3641 ms/op 15.403 ms/op 0.28
BLS aggregatePubkeys 32 - blst 19.895 us/op 90.141 us/op 0.22
BLS aggregatePubkeys 128 - blst 69.868 us/op 270.70 us/op 0.26
Map get x1000 6.4010 ns/op 20.442 ns/op 0.31
send data - 1000 65536B messages 216.97 ms/op 1.1354 s/op 0.19
bitArray.getTrueBitIndexes() bitLen 128 1.6770 us/op 5.0550 us/op 0.33
bitArray.getTrueBitIndexes() bitLen 512 6.8780 us/op 21.514 us/op 0.32
Buffer.concat 32 items 897.00 ns/op 2.7940 us/op 0.32
Buffer.copy 1.6390 us/op 4.9950 us/op 0.33
getUint32 - manual 158.00 ns/op 515.00 ns/op 0.31
OrderedSet add up to 64 items then delete first 3.2941 us/op 10.273 us/op 0.32
OrderedSet add up to 128 items then delete first 7.4498 us/op 24.782 us/op 0.30
Set add up to 256 items then delete first 10.128 us/op 30.880 us/op 0.33
pass gossip attestations to forkchoice per slot 2.8077 ms/op 8.5510 ms/op 0.33
forkChoice updateHead vc 100000 bc 64 eq 0 476.40 us/op 1.4313 ms/op 0.33
forkChoice updateHead vc 600000 bc 64 eq 0 3.0246 ms/op 11.614 ms/op 0.26
forkChoice updateHead vc 600000 bc 64 eq 300000 14.782 ms/op 51.115 ms/op 0.29
altair processAttestation - setStatus - 2/3 committees join 302.11 us/op 967.23 us/op 0.31
altair processAttestation - setStatus - 4/5 committees join 462.46 us/op 1.5583 ms/op 0.30
Full benchmark results
Benchmark suite Current: 3450bc0 Previous: fe7e21b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.0221 ms/op 4.7169 ms/op 0.43
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 56.375 us/op 175.07 us/op 0.32
BLS verify - blst 864.94 us/op 2.7948 ms/op 0.31
BLS verifyMultipleSignatures 3 - blst 1.2458 ms/op 3.7195 ms/op 0.33
BLS verifyMultipleSignatures 8 - blst 1.6985 ms/op 7.0275 ms/op 0.24
BLS verifyMultipleSignatures 32 - blst 4.9515 ms/op 20.324 ms/op 0.24
BLS verifyMultipleSignatures 64 - blst 9.1497 ms/op 37.674 ms/op 0.24
BLS verifyMultipleSignatures 128 - blst 17.443 ms/op 55.985 ms/op 0.31
BLS deserializing 10000 signatures 689.93 ms/op 2.0264 s/op 0.34
BLS deserializing 100000 signatures 6.8293 s/op 20.064 s/op 0.34
BLS verifyMultipleSignatures - same message - 3 - blst 912.32 us/op 3.4407 ms/op 0.27
BLS verifyMultipleSignatures - same message - 8 - blst 1.0668 ms/op 3.3593 ms/op 0.32
BLS verifyMultipleSignatures - same message - 32 - blst 1.7391 ms/op 6.0416 ms/op 0.29
BLS verifyMultipleSignatures - same message - 64 - blst 2.6180 ms/op 10.390 ms/op 0.25
BLS verifyMultipleSignatures - same message - 128 - blst 4.3641 ms/op 15.403 ms/op 0.28
BLS aggregatePubkeys 32 - blst 19.895 us/op 90.141 us/op 0.22
BLS aggregatePubkeys 128 - blst 69.868 us/op 270.70 us/op 0.26
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 71.647 ms/op 124.47 ms/op 0.58
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 58.921 ms/op 170.72 ms/op 0.35
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 38.055 ms/op 96.809 ms/op 0.39
getSlashingsAndExits - default max 120.80 us/op 252.18 us/op 0.48
getSlashingsAndExits - 2k 318.11 us/op 475.83 us/op 0.67
proposeBlockBody type=full, size=empty 5.8076 ms/op 14.902 ms/op 0.39
isKnown best case - 1 super set check 406.00 ns/op 1.1150 us/op 0.36
isKnown normal case - 2 super set checks 403.00 ns/op 1.0330 us/op 0.39
isKnown worse case - 16 super set checks 409.00 ns/op 1.0610 us/op 0.39
InMemoryCheckpointStateCache - add get delete 3.5350 us/op 7.1060 us/op 0.50
updateUnfinalizedPubkeys - updating 10 pubkeys 1.3074 ms/op 1.9958 ms/op 0.66
updateUnfinalizedPubkeys - updating 100 pubkeys 4.1286 ms/op 11.103 ms/op 0.37
updateUnfinalizedPubkeys - updating 1000 pubkeys 54.362 ms/op 124.50 ms/op 0.44
validate api signedAggregateAndProof - struct 1.5010 ms/op 3.6943 ms/op 0.41
validate gossip signedAggregateAndProof - struct 1.4152 ms/op 3.2083 ms/op 0.44
validate gossip attestation - vc 640000 934.69 us/op 1.8684 ms/op 0.50
batch validate gossip attestation - vc 640000 - chunk 32 134.86 us/op 305.70 us/op 0.44
batch validate gossip attestation - vc 640000 - chunk 64 114.32 us/op 283.73 us/op 0.40
batch validate gossip attestation - vc 640000 - chunk 128 107.28 us/op 277.69 us/op 0.39
batch validate gossip attestation - vc 640000 - chunk 256 107.50 us/op 225.92 us/op 0.48
pickEth1Vote - no votes 1.1554 ms/op 2.6460 ms/op 0.44
pickEth1Vote - max votes 6.3970 ms/op 12.424 ms/op 0.51
pickEth1Vote - Eth1Data hashTreeRoot value x2048 18.261 ms/op 27.255 ms/op 0.67
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 23.201 ms/op 38.255 ms/op 0.61
pickEth1Vote - Eth1Data fastSerialize value x2048 568.41 us/op 1.0652 ms/op 0.53
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.2029 ms/op 6.1004 ms/op 0.69
bytes32 toHexString 477.00 ns/op 1.1570 us/op 0.41
bytes32 Buffer.toString(hex) 258.00 ns/op 619.00 ns/op 0.42
bytes32 Buffer.toString(hex) from Uint8Array 372.00 ns/op 918.00 ns/op 0.41
bytes32 Buffer.toString(hex) + 0x 257.00 ns/op 571.00 ns/op 0.45
Object access 1 prop 0.13900 ns/op 0.35300 ns/op 0.39
Map access 1 prop 0.13900 ns/op 0.32000 ns/op 0.43
Object get x1000 5.9370 ns/op 17.779 ns/op 0.33
Map get x1000 6.4010 ns/op 20.442 ns/op 0.31
Object set x1000 33.004 ns/op 93.599 ns/op 0.35
Map set x1000 22.442 ns/op 60.696 ns/op 0.37
Return object 10000 times 0.30470 ns/op 0.63430 ns/op 0.48
Throw Error 10000 times 3.3804 us/op 8.1671 us/op 0.41
toHex 148.60 ns/op 386.16 ns/op 0.38
Buffer.from 132.09 ns/op 337.67 ns/op 0.39
shared Buffer 85.303 ns/op 224.86 ns/op 0.38
fastMsgIdFn sha256 / 200 bytes 2.2160 us/op 4.8410 us/op 0.46
fastMsgIdFn h32 xxhash / 200 bytes 220.00 ns/op 491.00 ns/op 0.45
fastMsgIdFn h64 xxhash / 200 bytes 256.00 ns/op 548.00 ns/op 0.47
fastMsgIdFn sha256 / 1000 bytes 7.5740 us/op 16.999 us/op 0.45
fastMsgIdFn h32 xxhash / 1000 bytes 369.00 ns/op 847.00 ns/op 0.44
fastMsgIdFn h64 xxhash / 1000 bytes 333.00 ns/op 822.00 ns/op 0.41
fastMsgIdFn sha256 / 10000 bytes 63.726 us/op 171.89 us/op 0.37
fastMsgIdFn h32 xxhash / 10000 bytes 1.9030 us/op 4.3550 us/op 0.44
fastMsgIdFn h64 xxhash / 10000 bytes 1.2390 us/op 2.6800 us/op 0.46
send data - 1000 256B messages 11.726 ms/op 24.282 ms/op 0.48
send data - 1000 512B messages 16.578 ms/op 34.865 ms/op 0.48
send data - 1000 1024B messages 28.113 ms/op 51.093 ms/op 0.55
send data - 1000 1200B messages 25.288 ms/op 46.894 ms/op 0.54
send data - 1000 2048B messages 30.611 ms/op 40.346 ms/op 0.76
send data - 1000 4096B messages 31.050 ms/op 60.136 ms/op 0.52
send data - 1000 16384B messages 68.558 ms/op 170.07 ms/op 0.40
send data - 1000 65536B messages 216.97 ms/op 1.1354 s/op 0.19
enrSubnets - fastDeserialize 64 bits 1.0050 us/op 2.5970 us/op 0.39
enrSubnets - ssz BitVector 64 bits 344.00 ns/op 883.00 ns/op 0.39
enrSubnets - fastDeserialize 4 bits 144.00 ns/op 383.00 ns/op 0.38
enrSubnets - ssz BitVector 4 bits 347.00 ns/op 964.00 ns/op 0.36
prioritizePeers score -10:0 att 32-0.1 sync 2-0 144.92 us/op 370.01 us/op 0.39
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 141.95 us/op 412.69 us/op 0.34
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 242.60 us/op 560.77 us/op 0.43
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 404.94 us/op 911.92 us/op 0.44
prioritizePeers score 0:0 att 64-1 sync 4-1 567.38 us/op 1.2805 ms/op 0.44
array of 16000 items push then shift 1.6088 us/op 3.3952 us/op 0.47
LinkedList of 16000 items push then shift 7.0240 ns/op 16.667 ns/op 0.42
array of 16000 items push then pop 92.854 ns/op 206.04 ns/op 0.45
LinkedList of 16000 items push then pop 6.9050 ns/op 15.268 ns/op 0.45
array of 24000 items push then shift 2.3922 us/op 4.0991 us/op 0.58
LinkedList of 24000 items push then shift 6.9560 ns/op 14.376 ns/op 0.48
array of 24000 items push then pop 126.17 ns/op 370.56 ns/op 0.34
LinkedList of 24000 items push then pop 6.7850 ns/op 18.928 ns/op 0.36
intersect bitArray bitLen 8 6.3370 ns/op 21.200 ns/op 0.30
intersect array and set length 8 42.915 ns/op 110.89 ns/op 0.39
intersect bitArray bitLen 128 29.369 ns/op 78.282 ns/op 0.38
intersect array and set length 128 644.47 ns/op 2.2886 us/op 0.28
bitArray.getTrueBitIndexes() bitLen 128 1.6770 us/op 5.0550 us/op 0.33
bitArray.getTrueBitIndexes() bitLen 248 2.8090 us/op 8.2770 us/op 0.34
bitArray.getTrueBitIndexes() bitLen 512 6.8780 us/op 21.514 us/op 0.32
Buffer.concat 32 items 897.00 ns/op 2.7940 us/op 0.32
Uint8Array.set 32 items 1.5010 us/op 4.2090 us/op 0.36
Buffer.copy 1.6390 us/op 4.9950 us/op 0.33
Uint8Array.set - with subarray 2.7300 us/op 7.9070 us/op 0.35
Uint8Array.set - without subarray 1.5740 us/op 3.2860 us/op 0.48
getUint32 - dataview 232.00 ns/op 651.00 ns/op 0.36
getUint32 - manual 158.00 ns/op 515.00 ns/op 0.31
Set add up to 64 items then delete first 2.1870 us/op 6.3741 us/op 0.34
OrderedSet add up to 64 items then delete first 3.2941 us/op 10.273 us/op 0.32
Set add up to 64 items then delete last 2.5285 us/op 7.4399 us/op 0.34
OrderedSet add up to 64 items then delete last 3.8979 us/op 8.6487 us/op 0.45
Set add up to 64 items then delete middle 2.5526 us/op 6.1435 us/op 0.42
OrderedSet add up to 64 items then delete middle 5.2538 us/op 11.537 us/op 0.46
Set add up to 128 items then delete first 4.9595 us/op 13.941 us/op 0.36
OrderedSet add up to 128 items then delete first 7.4498 us/op 24.782 us/op 0.30
Set add up to 128 items then delete last 5.0688 us/op 15.192 us/op 0.33
OrderedSet add up to 128 items then delete last 7.7397 us/op 21.894 us/op 0.35
Set add up to 128 items then delete middle 4.8975 us/op 13.781 us/op 0.36
OrderedSet add up to 128 items then delete middle 13.909 us/op 37.267 us/op 0.37
Set add up to 256 items then delete first 10.128 us/op 30.880 us/op 0.33
OrderedSet add up to 256 items then delete first 15.303 us/op 43.956 us/op 0.35
Set add up to 256 items then delete last 10.007 us/op 25.945 us/op 0.39
OrderedSet add up to 256 items then delete last 15.614 us/op 29.882 us/op 0.52
Set add up to 256 items then delete middle 9.8737 us/op 19.261 us/op 0.51
OrderedSet add up to 256 items then delete middle 40.114 us/op 76.914 us/op 0.52
transfer serialized Status (84 B) 1.4240 us/op 2.2100 us/op 0.64
copy serialized Status (84 B) 1.1060 us/op 1.9550 us/op 0.57
transfer serialized SignedVoluntaryExit (112 B) 1.4450 us/op 2.3760 us/op 0.61
copy serialized SignedVoluntaryExit (112 B) 1.1410 us/op 2.2190 us/op 0.51
transfer serialized ProposerSlashing (416 B) 1.4320 us/op 4.0410 us/op 0.35
copy serialized ProposerSlashing (416 B) 1.5480 us/op 4.2540 us/op 0.36
transfer serialized Attestation (485 B) 2.2630 us/op 4.7790 us/op 0.47
copy serialized Attestation (485 B) 1.7380 us/op 4.3660 us/op 0.40
transfer serialized AttesterSlashing (33232 B) 2.3170 us/op 5.2030 us/op 0.45
copy serialized AttesterSlashing (33232 B) 5.3010 us/op 23.559 us/op 0.23
transfer serialized Small SignedBeaconBlock (128000 B) 3.1350 us/op 5.3950 us/op 0.58
copy serialized Small SignedBeaconBlock (128000 B) 14.696 us/op 36.692 us/op 0.40
transfer serialized Avg SignedBeaconBlock (200000 B) 3.6220 us/op 5.4930 us/op 0.66
copy serialized Avg SignedBeaconBlock (200000 B) 22.297 us/op 133.25 us/op 0.17
transfer serialized BlobsSidecar (524380 B) 3.1740 us/op 6.2350 us/op 0.51
copy serialized BlobsSidecar (524380 B) 93.282 us/op 142.07 us/op 0.66
transfer serialized Big SignedBeaconBlock (1000000 B) 3.1100 us/op 5.4780 us/op 0.57
copy serialized Big SignedBeaconBlock (1000000 B) 137.45 us/op 246.93 us/op 0.56
pass gossip attestations to forkchoice per slot 2.8077 ms/op 8.5510 ms/op 0.33
forkChoice updateHead vc 100000 bc 64 eq 0 476.40 us/op 1.4313 ms/op 0.33
forkChoice updateHead vc 600000 bc 64 eq 0 3.0246 ms/op 11.614 ms/op 0.26
forkChoice updateHead vc 1000000 bc 64 eq 0 5.1614 ms/op 13.358 ms/op 0.39
forkChoice updateHead vc 600000 bc 320 eq 0 3.4231 ms/op 8.8071 ms/op 0.39
forkChoice updateHead vc 600000 bc 1200 eq 0 3.0149 ms/op 7.8778 ms/op 0.38
forkChoice updateHead vc 600000 bc 7200 eq 0 3.4508 ms/op 7.3968 ms/op 0.47
forkChoice updateHead vc 600000 bc 64 eq 1000 10.517 ms/op 25.218 ms/op 0.42
forkChoice updateHead vc 600000 bc 64 eq 10000 10.478 ms/op 23.441 ms/op 0.45
forkChoice updateHead vc 600000 bc 64 eq 300000 14.782 ms/op 51.115 ms/op 0.29
computeDeltas 500000 validators 300 proto nodes 3.4348 ms/op 6.8431 ms/op 0.50
computeDeltas 500000 validators 1200 proto nodes 3.4064 ms/op 7.6924 ms/op 0.44
computeDeltas 500000 validators 7200 proto nodes 3.4489 ms/op 8.1579 ms/op 0.42
computeDeltas 750000 validators 300 proto nodes 5.1793 ms/op 11.312 ms/op 0.46
computeDeltas 750000 validators 1200 proto nodes 5.1539 ms/op 13.694 ms/op 0.38
computeDeltas 750000 validators 7200 proto nodes 5.0748 ms/op 13.090 ms/op 0.39
computeDeltas 1400000 validators 300 proto nodes 9.4170 ms/op 21.890 ms/op 0.43
computeDeltas 1400000 validators 1200 proto nodes 9.6340 ms/op 18.953 ms/op 0.51
computeDeltas 1400000 validators 7200 proto nodes 9.5160 ms/op 17.632 ms/op 0.54
computeDeltas 2100000 validators 300 proto nodes 14.138 ms/op 38.997 ms/op 0.36
computeDeltas 2100000 validators 1200 proto nodes 14.220 ms/op 42.353 ms/op 0.34
computeDeltas 2100000 validators 7200 proto nodes 14.417 ms/op 41.342 ms/op 0.35
altair processAttestation - 250000 vs - 7PWei normalcase 1.6365 ms/op 4.3774 ms/op 0.37
altair processAttestation - 250000 vs - 7PWei worstcase 2.5205 ms/op 5.8156 ms/op 0.43
altair processAttestation - setStatus - 1/6 committees join 85.431 us/op 213.56 us/op 0.40
altair processAttestation - setStatus - 1/3 committees join 164.48 us/op 461.57 us/op 0.36
altair processAttestation - setStatus - 1/2 committees join 236.24 us/op 680.00 us/op 0.35
altair processAttestation - setStatus - 2/3 committees join 302.11 us/op 967.23 us/op 0.31
altair processAttestation - setStatus - 4/5 committees join 462.46 us/op 1.5583 ms/op 0.30
altair processAttestation - setStatus - 100% committees join 552.75 us/op 1.3392 ms/op 0.41
altair processBlock - 250000 vs - 7PWei normalcase 3.6615 ms/op 9.8911 ms/op 0.37
altair processBlock - 250000 vs - 7PWei normalcase hashState 25.904 ms/op 52.769 ms/op 0.49
altair processBlock - 250000 vs - 7PWei worstcase 34.125 ms/op 73.997 ms/op 0.46
altair processBlock - 250000 vs - 7PWei worstcase hashState 65.283 ms/op 131.03 ms/op 0.50
phase0 processBlock - 250000 vs - 7PWei normalcase 1.6426 ms/op 3.8590 ms/op 0.43
phase0 processBlock - 250000 vs - 7PWei worstcase 19.487 ms/op 38.886 ms/op 0.50
altair processEth1Data - 250000 vs - 7PWei normalcase 286.17 us/op 677.22 us/op 0.42
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.9010 us/op 8.1650 us/op 0.60
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 26.413 us/op 53.469 us/op 0.49
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.5850 us/op 14.651 us/op 0.52
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 4.6550 us/op 11.870 us/op 0.39
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 107.79 us/op 211.22 us/op 0.51
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 997.07 us/op 2.0662 ms/op 0.48
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4302 ms/op 2.8623 ms/op 0.50
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4235 ms/op 3.0193 ms/op 0.47
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.3647 ms/op 7.1082 ms/op 0.47
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.4203 ms/op 3.1089 ms/op 0.46
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.3552 ms/op 7.3160 ms/op 0.46
Tree 40 250000 create 203.88 ms/op 395.03 ms/op 0.52
Tree 40 250000 get(125000) 132.11 ns/op 275.09 ns/op 0.48
Tree 40 250000 set(125000) 623.63 ns/op 1.0792 us/op 0.58
Tree 40 250000 toArray() 14.402 ms/op 22.791 ms/op 0.63
Tree 40 250000 iterate all - toArray() + loop 14.631 ms/op 23.471 ms/op 0.62
Tree 40 250000 iterate all - get(i) 46.936 ms/op 88.460 ms/op 0.53
Array 250000 create 2.7371 ms/op 5.2210 ms/op 0.52
Array 250000 clone - spread 1.4607 ms/op 2.4276 ms/op 0.60
Array 250000 get(125000) 0.38200 ns/op 0.74200 ns/op 0.51
Array 250000 set(125000) 0.39400 ns/op 0.83700 ns/op 0.47
Array 250000 iterate all - loop 76.642 us/op 141.19 us/op 0.54
phase0 afterProcessEpoch - 250000 vs - 7PWei 87.895 ms/op 184.92 ms/op 0.48
Array.fill - length 1000000 3.5369 ms/op 8.9082 ms/op 0.40
Array push - length 1000000 15.883 ms/op 43.679 ms/op 0.36
Array.get 0.26220 ns/op 0.44581 ns/op 0.59
Uint8Array.get 0.42163 ns/op 0.70910 ns/op 0.59
phase0 beforeProcessEpoch - 250000 vs - 7PWei 18.364 ms/op 31.815 ms/op 0.58
altair processEpoch - mainnet_e81889 309.97 ms/op 473.43 ms/op 0.65
mainnet_e81889 - altair beforeProcessEpoch 18.120 ms/op 30.342 ms/op 0.60
mainnet_e81889 - altair processJustificationAndFinalization 11.890 us/op 23.129 us/op 0.51
mainnet_e81889 - altair processInactivityUpdates 5.0784 ms/op 7.0594 ms/op 0.72
mainnet_e81889 - altair processRewardsAndPenalties 43.397 ms/op 68.917 ms/op 0.63
mainnet_e81889 - altair processRegistryUpdates 1.5880 us/op 2.8930 us/op 0.55
mainnet_e81889 - altair processSlashings 327.00 ns/op 743.00 ns/op 0.44
mainnet_e81889 - altair processEth1DataReset 281.00 ns/op 516.00 ns/op 0.54
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4062 ms/op 2.0618 ms/op 0.68
mainnet_e81889 - altair processSlashingsReset 2.6870 us/op 4.7750 us/op 0.56
mainnet_e81889 - altair processRandaoMixesReset 3.1160 us/op 6.5870 us/op 0.47
mainnet_e81889 - altair processHistoricalRootsUpdate 297.00 ns/op 839.00 ns/op 0.35
mainnet_e81889 - altair processParticipationFlagUpdates 1.5660 us/op 2.4300 us/op 0.64
mainnet_e81889 - altair processSyncCommitteeUpdates 359.00 ns/op 577.00 ns/op 0.62
mainnet_e81889 - altair afterProcessEpoch 88.637 ms/op 139.25 ms/op 0.64
capella processEpoch - mainnet_e217614 1.1245 s/op 1.5813 s/op 0.71
mainnet_e217614 - capella beforeProcessEpoch 75.571 ms/op 85.124 ms/op 0.89
mainnet_e217614 - capella processJustificationAndFinalization 12.903 us/op 20.023 us/op 0.64
mainnet_e217614 - capella processInactivityUpdates 16.382 ms/op 20.933 ms/op 0.78
mainnet_e217614 - capella processRewardsAndPenalties 209.74 ms/op 295.58 ms/op 0.71
mainnet_e217614 - capella processRegistryUpdates 12.581 us/op 17.168 us/op 0.73
mainnet_e217614 - capella processSlashings 347.00 ns/op 559.00 ns/op 0.62
mainnet_e217614 - capella processEth1DataReset 317.00 ns/op 508.00 ns/op 0.62
mainnet_e217614 - capella processEffectiveBalanceUpdates 11.823 ms/op 16.758 ms/op 0.71
mainnet_e217614 - capella processSlashingsReset 2.9920 us/op 11.492 us/op 0.26
mainnet_e217614 - capella processRandaoMixesReset 3.6410 us/op 5.5460 us/op 0.66
mainnet_e217614 - capella processHistoricalRootsUpdate 305.00 ns/op 760.00 ns/op 0.40
mainnet_e217614 - capella processParticipationFlagUpdates 1.7400 us/op 2.3280 us/op 0.75
mainnet_e217614 - capella afterProcessEpoch 235.95 ms/op 327.00 ms/op 0.72
phase0 processEpoch - mainnet_e58758 358.59 ms/op 421.81 ms/op 0.85
mainnet_e58758 - phase0 beforeProcessEpoch 74.396 ms/op 85.921 ms/op 0.87
mainnet_e58758 - phase0 processJustificationAndFinalization 12.968 us/op 16.611 us/op 0.78
mainnet_e58758 - phase0 processRewardsAndPenalties 32.368 ms/op 38.127 ms/op 0.85
mainnet_e58758 - phase0 processRegistryUpdates 6.6680 us/op 10.598 us/op 0.63
mainnet_e58758 - phase0 processSlashings 408.00 ns/op 521.00 ns/op 0.78
mainnet_e58758 - phase0 processEth1DataReset 323.00 ns/op 543.00 ns/op 0.59
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1929 ms/op 1.9828 ms/op 0.60
mainnet_e58758 - phase0 processSlashingsReset 2.8660 us/op 3.8650 us/op 0.74
mainnet_e58758 - phase0 processRandaoMixesReset 3.7800 us/op 4.7540 us/op 0.80
mainnet_e58758 - phase0 processHistoricalRootsUpdate 301.00 ns/op 631.00 ns/op 0.48
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.8080 us/op 4.1730 us/op 0.67
mainnet_e58758 - phase0 afterProcessEpoch 75.882 ms/op 119.12 ms/op 0.64
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4473 ms/op 2.1000 ms/op 0.69
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.3008 ms/op 3.6733 ms/op 0.63
altair processInactivityUpdates - 250000 normalcase 14.134 ms/op 22.773 ms/op 0.62
altair processInactivityUpdates - 250000 worstcase 14.633 ms/op 31.045 ms/op 0.47
phase0 processRegistryUpdates - 250000 normalcase 6.6190 us/op 13.907 us/op 0.48
phase0 processRegistryUpdates - 250000 badcase_full_deposits 222.60 us/op 520.16 us/op 0.43
phase0 processRegistryUpdates - 250000 worstcase 0.5 102.81 ms/op 201.15 ms/op 0.51
altair processRewardsAndPenalties - 250000 normalcase 40.106 ms/op 55.927 ms/op 0.72
altair processRewardsAndPenalties - 250000 worstcase 33.736 ms/op 66.958 ms/op 0.50
phase0 getAttestationDeltas - 250000 normalcase 7.4292 ms/op 11.125 ms/op 0.67
phase0 getAttestationDeltas - 250000 worstcase 7.1784 ms/op 12.691 ms/op 0.57
phase0 processSlashings - 250000 worstcase 74.705 us/op 114.68 us/op 0.65
altair processSyncCommitteeUpdates - 250000 116.76 ms/op 205.88 ms/op 0.57
BeaconState.hashTreeRoot - No change 221.00 ns/op 334.00 ns/op 0.66
BeaconState.hashTreeRoot - 1 full validator 126.68 us/op 149.22 us/op 0.85
BeaconState.hashTreeRoot - 32 full validator 1.3881 ms/op 1.4662 ms/op 0.95
BeaconState.hashTreeRoot - 512 full validator 14.751 ms/op 16.344 ms/op 0.90
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 129.28 us/op 190.19 us/op 0.68
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8066 ms/op 2.8136 ms/op 0.64
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 22.830 ms/op 34.316 ms/op 0.67
BeaconState.hashTreeRoot - 1 balances 110.90 us/op 142.21 us/op 0.78
BeaconState.hashTreeRoot - 32 balances 1.1197 ms/op 1.3937 ms/op 0.80
BeaconState.hashTreeRoot - 512 balances 11.416 ms/op 15.254 ms/op 0.75
BeaconState.hashTreeRoot - 250000 balances 179.73 ms/op 239.76 ms/op 0.75
aggregationBits - 2048 els - zipIndexesInBitList 22.260 us/op 39.369 us/op 0.57
byteArrayEquals 32 51.419 ns/op 87.034 ns/op 0.59
Buffer.compare 32 16.588 ns/op 30.328 ns/op 0.55
byteArrayEquals 1024 1.5205 us/op 2.3244 us/op 0.65
Buffer.compare 1024 24.509 ns/op 41.134 ns/op 0.60
byteArrayEquals 16384 24.218 us/op 38.448 us/op 0.63
Buffer.compare 16384 188.89 ns/op 330.04 ns/op 0.57
byteArrayEquals 123687377 190.44 ms/op 325.11 ms/op 0.59
Buffer.compare 123687377 6.3264 ms/op 9.5798 ms/op 0.66
byteArrayEquals 32 - diff last byte 52.962 ns/op 127.55 ns/op 0.42
Buffer.compare 32 - diff last byte 17.318 ns/op 43.380 ns/op 0.40
byteArrayEquals 1024 - diff last byte 1.5920 us/op 3.5043 us/op 0.45
Buffer.compare 1024 - diff last byte 25.278 ns/op 54.528 ns/op 0.46
byteArrayEquals 16384 - diff last byte 25.301 us/op 55.163 us/op 0.46
Buffer.compare 16384 - diff last byte 209.14 ns/op 390.36 ns/op 0.54
byteArrayEquals 123687377 - diff last byte 191.63 ms/op 382.41 ms/op 0.50
Buffer.compare 123687377 - diff last byte 6.9148 ms/op 8.9067 ms/op 0.78
byteArrayEquals 32 - random bytes 5.0800 ns/op 9.7980 ns/op 0.52
Buffer.compare 32 - random bytes 16.876 ns/op 33.231 ns/op 0.51
byteArrayEquals 1024 - random bytes 5.1360 ns/op 10.096 ns/op 0.51
Buffer.compare 1024 - random bytes 17.013 ns/op 37.940 ns/op 0.45
byteArrayEquals 16384 - random bytes 5.0830 ns/op 10.579 ns/op 0.48
Buffer.compare 16384 - random bytes 16.971 ns/op 36.006 ns/op 0.47
byteArrayEquals 123687377 - random bytes 6.6200 ns/op 13.810 ns/op 0.48
Buffer.compare 123687377 - random bytes 18.350 ns/op 46.570 ns/op 0.39
regular array get 100000 times 38.455 us/op 80.143 us/op 0.48
wrappedArray get 100000 times 32.932 us/op 59.339 us/op 0.55
arrayWithProxy get 100000 times 12.891 ms/op 35.531 ms/op 0.36
ssz.Root.equals 45.626 ns/op 85.888 ns/op 0.53
byteArrayEquals 45.031 ns/op 81.313 ns/op 0.55
Buffer.compare 10.238 ns/op 23.257 ns/op 0.44
shuffle list - 16384 els 6.2629 ms/op 11.350 ms/op 0.55
shuffle list - 250000 els 89.551 ms/op 169.03 ms/op 0.53
processSlot - 1 slots 10.969 us/op 27.146 us/op 0.40
processSlot - 32 slots 2.1194 ms/op 4.7410 ms/op 0.45
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 34.095 ms/op 69.701 ms/op 0.49
getCommitteeAssignments - req 1 vs - 250000 vc 2.1339 ms/op 4.2035 ms/op 0.51
getCommitteeAssignments - req 100 vs - 250000 vc 4.2146 ms/op 7.3561 ms/op 0.57
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4718 ms/op 8.4647 ms/op 0.53
findModifiedValidators - 10000 modified validators 246.67 ms/op 584.15 ms/op 0.42
findModifiedValidators - 1000 modified validators 158.42 ms/op 455.67 ms/op 0.35
findModifiedValidators - 100 modified validators 145.65 ms/op 402.69 ms/op 0.36
findModifiedValidators - 10 modified validators 143.45 ms/op 421.23 ms/op 0.34
findModifiedValidators - 1 modified validators 139.87 ms/op 393.25 ms/op 0.36
findModifiedValidators - no difference 144.68 ms/op 384.05 ms/op 0.38
compare ViewDUs 2.8968 s/op 5.4231 s/op 0.53
compare each validator Uint8Array 861.13 ms/op 2.5755 s/op 0.33
compare ViewDU to Uint8Array 948.73 ms/op 2.0990 s/op 0.45
migrate state 1000000 validators, 24 modified, 0 new 808.07 ms/op 1.2529 s/op 0.64
migrate state 1000000 validators, 1700 modified, 1000 new 1.0532 s/op 1.3325 s/op 0.79
migrate state 1000000 validators, 3400 modified, 2000 new 1.2232 s/op 1.5773 s/op 0.78
migrate state 1500000 validators, 24 modified, 0 new 880.23 ms/op 1.0498 s/op 0.84
migrate state 1500000 validators, 1700 modified, 1000 new 1.1044 s/op 1.2457 s/op 0.89
migrate state 1500000 validators, 3400 modified, 2000 new 1.2839 s/op 1.4443 s/op 0.89
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.1700 ns/op 4.5100 ns/op 0.92
state getBlockRootAtSlot - 250000 vs - 7PWei 775.13 ns/op 726.73 ns/op 1.07
computeProposers - vc 250000 7.1590 ms/op 7.0528 ms/op 1.02
computeEpochShuffling - vc 250000 90.918 ms/op 97.492 ms/op 0.93
getNextSyncCommittee - vc 250000 130.07 ms/op 127.24 ms/op 1.02
computeSigningRoot for AttestationData 19.489 us/op 25.947 us/op 0.75
hash AttestationData serialized data then Buffer.toString(base64) 1.5396 us/op 1.6844 us/op 0.91
toHexString serialized data 846.32 ns/op 983.71 ns/op 0.86
Buffer.toString(base64) 166.93 ns/op 194.73 ns/op 0.86
nodejs block root to RootHex using toHex 147.14 ns/op 161.78 ns/op 0.91
nodejs block root to RootHex using toRootHex 95.352 ns/op 99.962 ns/op 0.95
browser block root to RootHex using the deprecated toHexString 228.91 ns/op 246.85 ns/op 0.93
browser block root to RootHex using toHex 182.91 ns/op 190.53 ns/op 0.96
browser block root to RootHex using toRootHex 162.94 ns/op 172.49 ns/op 0.94

by benchmarkbot/action

@ensi321 ensi321 changed the base branch from unstable to nc/devnet-4 October 8, 2024 00:28
@ensi321 ensi321 marked this pull request as ready for review October 8, 2024 00:28
@ensi321 ensi321 requested a review from a team as a code owner October 8, 2024 00:28
@nflaig nflaig changed the title feat: include skipped partial withdrawal to partialWithdrawalsCount fix: include skipped partial withdrawal to partialWithdrawalsCount Oct 8, 2024
@ensi321 ensi321 merged commit f2b96ff into nc/devnet-4 Oct 8, 2024
21 of 22 checks passed
@ensi321 ensi321 deleted the partial-withdrawal-count branch October 8, 2024 22:08
@ensi321 ensi321 mentioned this pull request Oct 17, 2024
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.23.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