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: prune history #7427

Draft
wants to merge 1 commit into
base: unstable
Choose a base branch
from
Draft

feat: prune history #7427

wants to merge 1 commit into from

Conversation

wemeetagain
Copy link
Member

Copy link

codecov bot commented Feb 4, 2025

Codecov Report

Attention: Patch coverage is 15.78947% with 16 lines in your changes missing coverage. Please review.

Project coverage is 50.24%. Comparing base (9c66fac) to head (169678a).

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7427      +/-   ##
============================================
- Coverage     50.26%   50.24%   -0.02%     
============================================
  Files           602      602              
  Lines         40375    40394      +19     
  Branches       2206     2206              
============================================
+ Hits          20293    20296       +3     
- Misses        20042    20058      +16     
  Partials         40       40              

Copy link
Contributor

github-actions bot commented Feb 4, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 771999a Previous: 9c66fac Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 743.82 us/op 1.0434 ms/op 0.71
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 30.786 us/op 37.333 us/op 0.82
BLS verify - blst 826.44 us/op 1.0443 ms/op 0.79
BLS verifyMultipleSignatures 3 - blst 1.4068 ms/op 1.5794 ms/op 0.89
BLS verifyMultipleSignatures 8 - blst 2.1601 ms/op 2.0636 ms/op 1.05
BLS verifyMultipleSignatures 32 - blst 4.7559 ms/op 5.9270 ms/op 0.80
BLS verifyMultipleSignatures 64 - blst 8.2820 ms/op 9.5651 ms/op 0.87
BLS verifyMultipleSignatures 128 - blst 15.930 ms/op 18.375 ms/op 0.87
BLS deserializing 10000 signatures 602.29 ms/op 734.73 ms/op 0.82
BLS deserializing 100000 signatures 6.1504 s/op 7.7937 s/op 0.79
BLS verifyMultipleSignatures - same message - 3 - blst 948.25 us/op 1.0702 ms/op 0.89
BLS verifyMultipleSignatures - same message - 8 - blst 1.0880 ms/op 1.1479 ms/op 0.95
BLS verifyMultipleSignatures - same message - 32 - blst 1.7034 ms/op 1.8468 ms/op 0.92
BLS verifyMultipleSignatures - same message - 64 - blst 2.5579 ms/op 2.9482 ms/op 0.87
BLS verifyMultipleSignatures - same message - 128 - blst 4.2737 ms/op 4.9538 ms/op 0.86
BLS aggregatePubkeys 32 - blst 17.765 us/op 22.199 us/op 0.80
BLS aggregatePubkeys 128 - blst 62.977 us/op 80.197 us/op 0.79
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 45.693 ms/op 69.429 ms/op 0.66
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 38.116 ms/op 59.481 ms/op 0.64
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 33.278 ms/op 48.807 ms/op 0.68
getSlashingsAndExits - default max 50.221 us/op 87.443 us/op 0.57
getSlashingsAndExits - 2k 311.36 us/op 382.71 us/op 0.81
proposeBlockBody type=full, size=empty 3.9970 ms/op 5.4598 ms/op 0.73
isKnown best case - 1 super set check 399.00 ns/op 226.00 ns/op 1.77
isKnown normal case - 2 super set checks 388.00 ns/op 209.00 ns/op 1.86
isKnown worse case - 16 super set checks 379.00 ns/op 221.00 ns/op 1.71
InMemoryCheckpointStateCache - add get delete 2.3130 us/op 3.0440 us/op 0.76
validate api signedAggregateAndProof - struct 1.4270 ms/op 1.6648 ms/op 0.86
validate gossip signedAggregateAndProof - struct 2.3814 ms/op 1.6608 ms/op 1.43
batch validate gossip attestation - vc 640000 - chunk 32 110.90 us/op 139.59 us/op 0.79
batch validate gossip attestation - vc 640000 - chunk 64 94.246 us/op 122.70 us/op 0.77
batch validate gossip attestation - vc 640000 - chunk 128 87.117 us/op 117.35 us/op 0.74
batch validate gossip attestation - vc 640000 - chunk 256 87.130 us/op 123.29 us/op 0.71
pickEth1Vote - no votes 775.37 us/op 1.0389 ms/op 0.75
pickEth1Vote - max votes 7.0221 ms/op 5.9621 ms/op 1.18
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.6117 ms/op 12.445 ms/op 0.77
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.642 ms/op 18.161 ms/op 1.14
pickEth1Vote - Eth1Data fastSerialize value x2048 309.97 us/op 481.64 us/op 0.64
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.0148 ms/op 4.1798 ms/op 0.72
bytes32 toHexString 486.00 ns/op 370.00 ns/op 1.31
bytes32 Buffer.toString(hex) 385.00 ns/op 278.00 ns/op 1.38
bytes32 Buffer.toString(hex) from Uint8Array 476.00 ns/op 373.00 ns/op 1.28
bytes32 Buffer.toString(hex) + 0x 403.00 ns/op 246.00 ns/op 1.64
Object access 1 prop 0.30400 ns/op 0.11800 ns/op 2.58
Map access 1 prop 0.30800 ns/op 0.11700 ns/op 2.63
Object get x1000 4.7290 ns/op 6.1990 ns/op 0.76
Map get x1000 5.2650 ns/op 6.5040 ns/op 0.81
Object set x1000 18.252 ns/op 31.891 ns/op 0.57
Map set x1000 15.607 ns/op 23.331 ns/op 0.67
Return object 10000 times 0.27440 ns/op 0.31240 ns/op 0.88
Throw Error 10000 times 3.2420 us/op 4.5240 us/op 0.72
toHex 93.462 ns/op 132.05 ns/op 0.71
Buffer.from 86.249 ns/op 132.05 ns/op 0.65
shared Buffer 56.600 ns/op 84.089 ns/op 0.67
fastMsgIdFn sha256 / 200 bytes 1.8680 us/op 2.2120 us/op 0.84
fastMsgIdFn h32 xxhash / 200 bytes 368.00 ns/op 203.00 ns/op 1.81
fastMsgIdFn h64 xxhash / 200 bytes 424.00 ns/op 256.00 ns/op 1.66
fastMsgIdFn sha256 / 1000 bytes 5.7060 us/op 7.4530 us/op 0.77
fastMsgIdFn h32 xxhash / 1000 bytes 488.00 ns/op 330.00 ns/op 1.48
fastMsgIdFn h64 xxhash / 1000 bytes 493.00 ns/op 380.00 ns/op 1.30
fastMsgIdFn sha256 / 10000 bytes 48.479 us/op 65.282 us/op 0.74
fastMsgIdFn h32 xxhash / 10000 bytes 1.8530 us/op 1.8390 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 1.2950 us/op 1.2240 us/op 1.06
send data - 1000 256B messages 10.146 ms/op 15.492 ms/op 0.65
send data - 1000 512B messages 13.030 ms/op 19.462 ms/op 0.67
send data - 1000 1024B messages 20.605 ms/op 24.558 ms/op 0.84
send data - 1000 1200B messages 13.990 ms/op 27.901 ms/op 0.50
send data - 1000 2048B messages 17.794 ms/op 24.740 ms/op 0.72
send data - 1000 4096B messages 18.266 ms/op 25.280 ms/op 0.72
send data - 1000 16384B messages 67.134 ms/op 64.446 ms/op 1.04
send data - 1000 65536B messages 248.04 ms/op 218.79 ms/op 1.13
enrSubnets - fastDeserialize 64 bits 887.00 ns/op 916.00 ns/op 0.97
enrSubnets - ssz BitVector 64 bits 475.00 ns/op 327.00 ns/op 1.45
enrSubnets - fastDeserialize 4 bits 311.00 ns/op 130.00 ns/op 2.39
enrSubnets - ssz BitVector 4 bits 482.00 ns/op 326.00 ns/op 1.48
prioritizePeers score -10:0 att 32-0.1 sync 2-0 157.67 us/op 123.99 us/op 1.27
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 166.08 us/op 154.85 us/op 1.07
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 296.90 us/op 222.72 us/op 1.33
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 532.05 us/op 400.76 us/op 1.33
prioritizePeers score 0:0 att 64-1 sync 4-1 604.06 us/op 464.98 us/op 1.30
array of 16000 items push then shift 1.2750 us/op 1.5821 us/op 0.81
LinkedList of 16000 items push then shift 6.1550 ns/op 6.9240 ns/op 0.89
array of 16000 items push then pop 60.390 ns/op 75.092 ns/op 0.80
LinkedList of 16000 items push then pop 6.0920 ns/op 6.8280 ns/op 0.89
array of 24000 items push then shift 1.8782 us/op 2.3508 us/op 0.80
LinkedList of 24000 items push then shift 6.2450 ns/op 6.9660 ns/op 0.90
array of 24000 items push then pop 84.363 ns/op 104.72 ns/op 0.81
LinkedList of 24000 items push then pop 6.1430 ns/op 7.0030 ns/op 0.88
intersect bitArray bitLen 8 5.3440 ns/op 6.5350 ns/op 0.82
intersect array and set length 8 32.335 ns/op 38.775 ns/op 0.83
intersect bitArray bitLen 128 26.351 ns/op 29.965 ns/op 0.88
intersect array and set length 128 534.83 ns/op 620.62 ns/op 0.86
bitArray.getTrueBitIndexes() bitLen 128 1.2190 us/op 1.0180 us/op 1.20
bitArray.getTrueBitIndexes() bitLen 248 2.2920 us/op 1.7870 us/op 1.28
bitArray.getTrueBitIndexes() bitLen 512 3.6170 us/op 3.6460 us/op 0.99
Buffer.concat 32 items 683.00 ns/op 735.00 ns/op 0.93
Uint8Array.set 32 items 1.3930 us/op 1.2050 us/op 1.16
Buffer.copy 2.3420 us/op 2.1460 us/op 1.09
Uint8Array.set - with subarray 1.6710 us/op 1.9530 us/op 0.86
Uint8Array.set - without subarray 1.4370 us/op 1.2910 us/op 1.11
getUint32 - dataview 369.00 ns/op 204.00 ns/op 1.81
getUint32 - manual 303.00 ns/op 123.00 ns/op 2.46
Set add up to 64 items then delete first 1.6431 us/op 2.3096 us/op 0.71
OrderedSet add up to 64 items then delete first 2.7443 us/op 3.2777 us/op 0.84
Set add up to 64 items then delete last 2.0348 us/op 2.7930 us/op 0.73
OrderedSet add up to 64 items then delete last 3.0304 us/op 5.1936 us/op 0.58
Set add up to 64 items then delete middle 1.9139 us/op 3.4053 us/op 0.56
OrderedSet add up to 64 items then delete middle 4.4308 us/op 6.7239 us/op 0.66
Set add up to 128 items then delete first 3.9776 us/op 6.8384 us/op 0.58
OrderedSet add up to 128 items then delete first 6.2603 us/op 11.472 us/op 0.55
Set add up to 128 items then delete last 3.8456 us/op 6.7451 us/op 0.57
OrderedSet add up to 128 items then delete last 5.9076 us/op 10.478 us/op 0.56
Set add up to 128 items then delete middle 3.8374 us/op 6.3677 us/op 0.60
OrderedSet add up to 128 items then delete middle 11.437 us/op 17.994 us/op 0.64
Set add up to 256 items then delete first 7.8348 us/op 14.806 us/op 0.53
OrderedSet add up to 256 items then delete first 12.276 us/op 25.001 us/op 0.49
Set add up to 256 items then delete last 7.5978 us/op 13.907 us/op 0.55
OrderedSet add up to 256 items then delete last 11.540 us/op 21.671 us/op 0.53
Set add up to 256 items then delete middle 7.5589 us/op 14.049 us/op 0.54
OrderedSet add up to 256 items then delete middle 34.035 us/op 51.667 us/op 0.66
transfer serialized Status (84 B) 2.0320 us/op 3.1690 us/op 0.64
copy serialized Status (84 B) 1.4570 us/op 2.1490 us/op 0.68
transfer serialized SignedVoluntaryExit (112 B) 2.0760 us/op 3.5170 us/op 0.59
copy serialized SignedVoluntaryExit (112 B) 1.2990 us/op 2.3740 us/op 0.55
transfer serialized ProposerSlashing (416 B) 2.1160 us/op 3.7000 us/op 0.57
copy serialized ProposerSlashing (416 B) 1.5530 us/op 3.0320 us/op 0.51
transfer serialized Attestation (485 B) 2.1060 us/op 3.9840 us/op 0.53
copy serialized Attestation (485 B) 1.3650 us/op 3.2960 us/op 0.41
transfer serialized AttesterSlashing (33232 B) 2.1310 us/op 3.3230 us/op 0.64
copy serialized AttesterSlashing (33232 B) 2.5010 us/op 6.3130 us/op 0.40
transfer serialized Small SignedBeaconBlock (128000 B) 2.1670 us/op 4.0240 us/op 0.54
copy serialized Small SignedBeaconBlock (128000 B) 5.5800 us/op 16.502 us/op 0.34
transfer serialized Avg SignedBeaconBlock (200000 B) 2.3170 us/op 4.7530 us/op 0.49
copy serialized Avg SignedBeaconBlock (200000 B) 7.9700 us/op 25.252 us/op 0.32
transfer serialized BlobsSidecar (524380 B) 3.0280 us/op 5.4620 us/op 0.55
copy serialized BlobsSidecar (524380 B) 55.039 us/op 99.931 us/op 0.55
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3410 us/op 5.5850 us/op 0.60
copy serialized Big SignedBeaconBlock (1000000 B) 103.68 us/op 142.74 us/op 0.73
pass gossip attestations to forkchoice per slot 2.3203 ms/op 3.2266 ms/op 0.72
forkChoice updateHead vc 100000 bc 64 eq 0 388.42 us/op 538.04 us/op 0.72
forkChoice updateHead vc 600000 bc 64 eq 0 2.0579 ms/op 4.0431 ms/op 0.51
forkChoice updateHead vc 1000000 bc 64 eq 0 3.6348 ms/op 8.3073 ms/op 0.44
forkChoice updateHead vc 600000 bc 320 eq 0 2.4568 ms/op 3.3133 ms/op 0.74
forkChoice updateHead vc 600000 bc 1200 eq 0 2.3848 ms/op 3.5630 ms/op 0.67
forkChoice updateHead vc 600000 bc 7200 eq 0 2.3100 ms/op 4.1564 ms/op 0.56
forkChoice updateHead vc 600000 bc 64 eq 1000 8.9645 ms/op 11.874 ms/op 0.75
forkChoice updateHead vc 600000 bc 64 eq 10000 8.8252 ms/op 11.806 ms/op 0.75
forkChoice updateHead vc 600000 bc 64 eq 300000 11.341 ms/op 26.751 ms/op 0.42
computeDeltas 500000 validators 300 proto nodes 3.0770 ms/op 4.5420 ms/op 0.68
computeDeltas 500000 validators 1200 proto nodes 3.0503 ms/op 4.8641 ms/op 0.63
computeDeltas 500000 validators 7200 proto nodes 3.0566 ms/op 4.6855 ms/op 0.65
computeDeltas 750000 validators 300 proto nodes 4.5774 ms/op 6.9909 ms/op 0.65
computeDeltas 750000 validators 1200 proto nodes 4.5476 ms/op 7.1274 ms/op 0.64
computeDeltas 750000 validators 7200 proto nodes 4.5582 ms/op 7.9465 ms/op 0.57
computeDeltas 1400000 validators 300 proto nodes 8.5673 ms/op 14.125 ms/op 0.61
computeDeltas 1400000 validators 1200 proto nodes 8.4018 ms/op 13.885 ms/op 0.61
computeDeltas 1400000 validators 7200 proto nodes 8.6856 ms/op 13.800 ms/op 0.63
computeDeltas 2100000 validators 300 proto nodes 12.851 ms/op 21.535 ms/op 0.60
computeDeltas 2100000 validators 1200 proto nodes 12.680 ms/op 21.035 ms/op 0.60
computeDeltas 2100000 validators 7200 proto nodes 12.766 ms/op 20.652 ms/op 0.62
altair processAttestation - 250000 vs - 7PWei normalcase 1.6477 ms/op 3.9248 ms/op 0.42
altair processAttestation - 250000 vs - 7PWei worstcase 2.3805 ms/op 4.5765 ms/op 0.52
altair processAttestation - setStatus - 1/6 committees join 87.364 us/op 153.54 us/op 0.57
altair processAttestation - setStatus - 1/3 committees join 177.30 us/op 358.16 us/op 0.50
altair processAttestation - setStatus - 1/2 committees join 263.68 us/op 441.23 us/op 0.60
altair processAttestation - setStatus - 2/3 committees join 331.76 us/op 559.47 us/op 0.59
altair processAttestation - setStatus - 4/5 committees join 464.59 us/op 751.02 us/op 0.62
altair processAttestation - setStatus - 100% committees join 546.97 us/op 906.25 us/op 0.60
altair processBlock - 250000 vs - 7PWei normalcase 4.4646 ms/op 13.110 ms/op 0.34
altair processBlock - 250000 vs - 7PWei normalcase hashState 33.060 ms/op 41.690 ms/op 0.79
altair processBlock - 250000 vs - 7PWei worstcase 38.422 ms/op 48.082 ms/op 0.80
altair processBlock - 250000 vs - 7PWei worstcase hashState 82.978 ms/op 103.57 ms/op 0.80
phase0 processBlock - 250000 vs - 7PWei normalcase 1.6848 ms/op 2.5054 ms/op 0.67
phase0 processBlock - 250000 vs - 7PWei worstcase 20.758 ms/op 34.332 ms/op 0.60
altair processEth1Data - 250000 vs - 7PWei normalcase 258.40 us/op 445.94 us/op 0.58
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.3920 us/op 10.862 us/op 0.40
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 23.247 us/op 37.165 us/op 0.63
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 4.3550 us/op 8.9230 us/op 0.49
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 4.6120 us/op 7.4640 us/op 0.62
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 116.10 us/op 133.45 us/op 0.87
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 726.39 us/op 1.2176 ms/op 0.60
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8325 ms/op 1.6782 ms/op 1.09
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.0113 ms/op 1.7070 ms/op 0.59
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.7297 ms/op 3.6386 ms/op 0.75
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.1184 ms/op 1.6527 ms/op 0.68
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.7766 ms/op 3.9512 ms/op 0.70
Tree 40 250000 create 359.02 ms/op 667.23 ms/op 0.54
Tree 40 250000 get(125000) 116.12 ns/op 151.89 ns/op 0.76
Tree 40 250000 set(125000) 1.1772 us/op 2.1806 us/op 0.54
Tree 40 250000 toArray() 12.689 ms/op 23.363 ms/op 0.54
Tree 40 250000 iterate all - toArray() + loop 17.235 ms/op 22.281 ms/op 0.77
Tree 40 250000 iterate all - get(i) 45.852 ms/op 61.500 ms/op 0.75
Array 250000 create 2.5418 ms/op 2.7283 ms/op 0.93
Array 250000 clone - spread 641.37 us/op 1.7743 ms/op 0.36
Array 250000 get(125000) 0.54700 ns/op 0.44200 ns/op 1.24
Array 250000 set(125000) 0.55400 ns/op 0.46400 ns/op 1.19
Array 250000 iterate all - loop 72.189 us/op 90.977 us/op 0.79
phase0 afterProcessEpoch - 250000 vs - 7PWei 39.082 ms/op 53.415 ms/op 0.73
Array.fill - length 1000000 2.3042 ms/op 3.9781 ms/op 0.58
Array push - length 1000000 9.1149 ms/op 23.420 ms/op 0.39
Array.get 0.26063 ns/op 0.30499 ns/op 0.85
Uint8Array.get 0.33812 ns/op 0.50245 ns/op 0.67
phase0 beforeProcessEpoch - 250000 vs - 7PWei 17.556 ms/op 19.290 ms/op 0.91
altair processEpoch - mainnet_e81889 268.25 ms/op 339.38 ms/op 0.79
mainnet_e81889 - altair beforeProcessEpoch 18.283 ms/op 21.263 ms/op 0.86
mainnet_e81889 - altair processJustificationAndFinalization 5.4310 us/op 7.6020 us/op 0.71
mainnet_e81889 - altair processInactivityUpdates 3.3931 ms/op 5.5452 ms/op 0.61
mainnet_e81889 - altair processRewardsAndPenalties 47.604 ms/op 45.916 ms/op 1.04
mainnet_e81889 - altair processRegistryUpdates 826.00 ns/op 765.00 ns/op 1.08
mainnet_e81889 - altair processSlashings 380.00 ns/op 204.00 ns/op 1.86
mainnet_e81889 - altair processEth1DataReset 374.00 ns/op 193.00 ns/op 1.94
mainnet_e81889 - altair processEffectiveBalanceUpdates 944.62 us/op 1.4059 ms/op 0.67
mainnet_e81889 - altair processSlashingsReset 1.2120 us/op 1.0950 us/op 1.11
mainnet_e81889 - altair processRandaoMixesReset 1.2070 us/op 1.3910 us/op 0.87
mainnet_e81889 - altair processHistoricalRootsUpdate 378.00 ns/op 216.00 ns/op 1.75
mainnet_e81889 - altair processParticipationFlagUpdates 703.00 ns/op 617.00 ns/op 1.14
mainnet_e81889 - altair processSyncCommitteeUpdates 357.00 ns/op 152.00 ns/op 2.35
mainnet_e81889 - altair afterProcessEpoch 40.774 ms/op 56.294 ms/op 0.72
capella processEpoch - mainnet_e217614 921.23 ms/op 1.2143 s/op 0.76
mainnet_e217614 - capella beforeProcessEpoch 58.677 ms/op 75.393 ms/op 0.78
mainnet_e217614 - capella processJustificationAndFinalization 4.1740 us/op 5.6880 us/op 0.73
mainnet_e217614 - capella processInactivityUpdates 10.815 ms/op 20.896 ms/op 0.52
mainnet_e217614 - capella processRewardsAndPenalties 203.76 ms/op 215.33 ms/op 0.95
mainnet_e217614 - capella processRegistryUpdates 5.2540 us/op 7.4780 us/op 0.70
mainnet_e217614 - capella processSlashings 385.00 ns/op 218.00 ns/op 1.77
mainnet_e217614 - capella processEth1DataReset 380.00 ns/op 229.00 ns/op 1.66
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.0582 ms/op 15.322 ms/op 0.26
mainnet_e217614 - capella processSlashingsReset 1.1980 us/op 1.0810 us/op 1.11
mainnet_e217614 - capella processRandaoMixesReset 1.2930 us/op 1.5310 us/op 0.84
mainnet_e217614 - capella processHistoricalRootsUpdate 379.00 ns/op 227.00 ns/op 1.67
mainnet_e217614 - capella processParticipationFlagUpdates 674.00 ns/op 623.00 ns/op 1.08
mainnet_e217614 - capella afterProcessEpoch 103.65 ms/op 136.64 ms/op 0.76
phase0 processEpoch - mainnet_e58758 271.43 ms/op 382.29 ms/op 0.71
mainnet_e58758 - phase0 beforeProcessEpoch 61.107 ms/op 100.66 ms/op 0.61
mainnet_e58758 - phase0 processJustificationAndFinalization 5.1810 us/op 6.3790 us/op 0.81
mainnet_e58758 - phase0 processRewardsAndPenalties 37.629 ms/op 43.186 ms/op 0.87
mainnet_e58758 - phase0 processRegistryUpdates 2.6680 us/op 4.7260 us/op 0.56
mainnet_e58758 - phase0 processSlashings 377.00 ns/op 237.00 ns/op 1.59
mainnet_e58758 - phase0 processEth1DataReset 376.00 ns/op 199.00 ns/op 1.89
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 826.51 us/op 1.0944 ms/op 0.76
mainnet_e58758 - phase0 processSlashingsReset 1.0640 us/op 1.1710 us/op 0.91
mainnet_e58758 - phase0 processRandaoMixesReset 1.7260 us/op 1.6600 us/op 1.04
mainnet_e58758 - phase0 processHistoricalRootsUpdate 369.00 ns/op 213.00 ns/op 1.73
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.1400 us/op 1.0290 us/op 1.11
mainnet_e58758 - phase0 afterProcessEpoch 35.031 ms/op 46.878 ms/op 0.75
phase0 processEffectiveBalanceUpdates - 250000 normalcase 925.90 us/op 1.8465 ms/op 0.50
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.3970 ms/op 3.6404 ms/op 0.38
altair processInactivityUpdates - 250000 normalcase 16.872 ms/op 21.586 ms/op 0.78
altair processInactivityUpdates - 250000 worstcase 18.442 ms/op 22.230 ms/op 0.83
phase0 processRegistryUpdates - 250000 normalcase 4.6600 us/op 8.2880 us/op 0.56
phase0 processRegistryUpdates - 250000 badcase_full_deposits 276.31 us/op 320.02 us/op 0.86
phase0 processRegistryUpdates - 250000 worstcase 0.5 99.541 ms/op 145.29 ms/op 0.69
altair processRewardsAndPenalties - 250000 normalcase 59.481 ms/op 41.945 ms/op 1.42
altair processRewardsAndPenalties - 250000 worstcase 44.536 ms/op 41.886 ms/op 1.06
phase0 getAttestationDeltas - 250000 normalcase 5.1127 ms/op 10.417 ms/op 0.49
phase0 getAttestationDeltas - 250000 worstcase 4.5618 ms/op 7.1468 ms/op 0.64
phase0 processSlashings - 250000 worstcase 87.850 us/op 99.946 us/op 0.88
altair processSyncCommitteeUpdates - 250000 98.794 ms/op 175.70 ms/op 0.56
BeaconState.hashTreeRoot - No change 407.00 ns/op 372.00 ns/op 1.09
BeaconState.hashTreeRoot - 1 full validator 72.208 us/op 120.95 us/op 0.60
BeaconState.hashTreeRoot - 32 full validator 838.74 us/op 2.2832 ms/op 0.37
BeaconState.hashTreeRoot - 512 full validator 8.0131 ms/op 15.485 ms/op 0.52
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 92.080 us/op 129.49 us/op 0.71
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3629 ms/op 4.0527 ms/op 0.34
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.390 ms/op 39.055 ms/op 0.60
BeaconState.hashTreeRoot - 1 balances 72.014 us/op 120.45 us/op 0.60
BeaconState.hashTreeRoot - 32 balances 741.05 us/op 1.3268 ms/op 0.56
BeaconState.hashTreeRoot - 512 balances 5.7960 ms/op 12.784 ms/op 0.45
BeaconState.hashTreeRoot - 250000 balances 151.42 ms/op 267.95 ms/op 0.57
aggregationBits - 2048 els - zipIndexesInBitList 16.783 us/op 32.346 us/op 0.52
byteArrayEquals 32 45.720 ns/op 62.315 ns/op 0.73
Buffer.compare 32 15.457 ns/op 20.834 ns/op 0.74
byteArrayEquals 1024 1.2670 us/op 2.0681 us/op 0.61
Buffer.compare 1024 24.127 ns/op 30.609 ns/op 0.79
byteArrayEquals 16384 20.185 us/op 30.977 us/op 0.65
Buffer.compare 16384 197.76 ns/op 240.41 ns/op 0.82
byteArrayEquals 123687377 150.65 ms/op 260.56 ms/op 0.58
Buffer.compare 123687377 3.5752 ms/op 9.5263 ms/op 0.38
byteArrayEquals 32 - diff last byte 46.428 ns/op 58.602 ns/op 0.79
Buffer.compare 32 - diff last byte 15.490 ns/op 19.034 ns/op 0.81
byteArrayEquals 1024 - diff last byte 1.2435 us/op 1.8126 us/op 0.69
Buffer.compare 1024 - diff last byte 24.550 ns/op 28.663 ns/op 0.86
byteArrayEquals 16384 - diff last byte 19.741 us/op 28.658 us/op 0.69
Buffer.compare 16384 - diff last byte 175.21 ns/op 239.97 ns/op 0.73
byteArrayEquals 123687377 - diff last byte 146.04 ms/op 222.97 ms/op 0.65
Buffer.compare 123687377 - diff last byte 5.3073 ms/op 8.4858 ms/op 0.63
byteArrayEquals 32 - random bytes 4.4520 ns/op 5.5540 ns/op 0.80
Buffer.compare 32 - random bytes 14.142 ns/op 19.299 ns/op 0.73
byteArrayEquals 1024 - random bytes 4.3230 ns/op 5.6060 ns/op 0.77
Buffer.compare 1024 - random bytes 13.890 ns/op 19.154 ns/op 0.73
byteArrayEquals 16384 - random bytes 4.3310 ns/op 5.6690 ns/op 0.76
Buffer.compare 16384 - random bytes 13.876 ns/op 19.693 ns/op 0.70
byteArrayEquals 123687377 - random bytes 7.4600 ns/op 7.3700 ns/op 1.01
Buffer.compare 123687377 - random bytes 18.920 ns/op 19.600 ns/op 0.97
regular array get 100000 times 27.657 us/op 43.054 us/op 0.64
wrappedArray get 100000 times 26.978 us/op 40.403 us/op 0.67
arrayWithProxy get 100000 times 8.2447 ms/op 14.959 ms/op 0.55
ssz.Root.equals 41.161 ns/op 50.334 ns/op 0.82
byteArrayEquals 40.727 ns/op 49.336 ns/op 0.83
Buffer.compare 9.6260 ns/op 11.555 ns/op 0.83
processSlot - 1 slots 8.4430 us/op 12.006 us/op 0.70
processSlot - 32 slots 1.8854 ms/op 2.3248 ms/op 0.81
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 58.649 ms/op 55.309 ms/op 1.06
getCommitteeAssignments - req 1 vs - 250000 vc 1.8033 ms/op 2.4559 ms/op 0.73
getCommitteeAssignments - req 100 vs - 250000 vc 3.5433 ms/op 4.3482 ms/op 0.81
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7452 ms/op 5.0043 ms/op 0.75
findModifiedValidators - 10000 modified validators 762.29 ms/op 818.30 ms/op 0.93
findModifiedValidators - 1000 modified validators 654.77 ms/op 764.57 ms/op 0.86
findModifiedValidators - 100 modified validators 203.01 ms/op 257.08 ms/op 0.79
findModifiedValidators - 10 modified validators 204.15 ms/op 234.76 ms/op 0.87
findModifiedValidators - 1 modified validators 125.47 ms/op 243.30 ms/op 0.52
findModifiedValidators - no difference 130.40 ms/op 207.22 ms/op 0.63
compare ViewDUs 5.9528 s/op 7.5599 s/op 0.79
compare each validator Uint8Array 1.3235 s/op 2.2580 s/op 0.59
compare ViewDU to Uint8Array 849.29 ms/op 2.0600 s/op 0.41
migrate state 1000000 validators, 24 modified, 0 new 798.98 ms/op 1.4078 s/op 0.57
migrate state 1000000 validators, 1700 modified, 1000 new 993.56 ms/op 1.6639 s/op 0.60
migrate state 1000000 validators, 3400 modified, 2000 new 1.2023 s/op 1.5143 s/op 0.79
migrate state 1500000 validators, 24 modified, 0 new 786.84 ms/op 970.85 ms/op 0.81
migrate state 1500000 validators, 1700 modified, 1000 new 976.63 ms/op 1.1859 s/op 0.82
migrate state 1500000 validators, 3400 modified, 2000 new 1.1917 s/op 1.3427 s/op 0.89
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.5000 ns/op 4.6100 ns/op 1.19
state getBlockRootAtSlot - 250000 vs - 7PWei 486.16 ns/op 572.74 ns/op 0.85
computeProposers - vc 250000 5.1358 ms/op 8.1377 ms/op 0.63
computeEpochShuffling - vc 250000 34.571 ms/op 44.949 ms/op 0.77
getNextSyncCommittee - vc 250000 101.26 ms/op 148.26 ms/op 0.68
computeSigningRoot for AttestationData 21.937 us/op 22.216 us/op 0.99
hash AttestationData serialized data then Buffer.toString(base64) 1.1872 us/op 1.5944 us/op 0.74
toHexString serialized data 697.23 ns/op 1.0830 us/op 0.64
Buffer.toString(base64) 109.52 ns/op 189.65 ns/op 0.58
nodejs block root to RootHex using toHex 97.565 ns/op 165.63 ns/op 0.59
nodejs block root to RootHex using toRootHex 63.134 ns/op 95.698 ns/op 0.66
browser block root to RootHex using the deprecated toHexString 177.16 ns/op 238.97 ns/op 0.74
browser block root to RootHex using toHex 156.34 ns/op 188.47 ns/op 0.83
browser block root to RootHex using toRootHex 143.22 ns/op 181.36 ns/op 0.79

by benchmarkbot/action

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.

1 participant