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: chain.nHistoricalStatesFileDataStore #7551

Open
wants to merge 4 commits into
base: unstable
Choose a base branch
from

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Mar 11, 2025

Motivation

  • chain.nHistoricalStatesFileDataStore: true does not work in docker. This PR fixes it.

Description

@twoeths twoeths requested a review from a team as a code owner March 11, 2025 06:49
Copy link

codecov bot commented Mar 11, 2025

Codecov Report

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

Project coverage is 50.13%. Comparing base (ca29dbb) to head (7b5ee68).
Report is 4 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7551      +/-   ##
============================================
- Coverage     50.15%   50.13%   -0.03%     
============================================
  Files           603      603              
  Lines         40454    40472      +18     
  Branches       2231     2230       -1     
============================================
- Hits          20291    20290       -1     
- Misses        20123    20142      +19     
  Partials         40       40              
🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

github-actions bot commented Mar 11, 2025

Performance Report

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 212547b Previous: 4a35371 Ratio
findModifiedValidators - 10 modified validators 134.60 ms/op 408.75 ms/op 0.33
Full benchmark results
Benchmark suite Current: 212547b Previous: 4a35371 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 933.15 us/op 1.6877 ms/op 0.55
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 34.004 us/op 62.675 us/op 0.54
BLS verify - blst 811.52 us/op 1.1535 ms/op 0.70
BLS verifyMultipleSignatures 3 - blst 1.1476 ms/op 1.5668 ms/op 0.73
BLS verifyMultipleSignatures 8 - blst 1.6126 ms/op 3.6787 ms/op 0.44
BLS verifyMultipleSignatures 32 - blst 4.7818 ms/op 8.6626 ms/op 0.55
BLS verifyMultipleSignatures 64 - blst 8.8085 ms/op 15.429 ms/op 0.57
BLS verifyMultipleSignatures 128 - blst 16.865 ms/op 23.973 ms/op 0.70
BLS deserializing 10000 signatures 663.48 ms/op 949.06 ms/op 0.70
BLS deserializing 100000 signatures 6.6577 s/op 10.094 s/op 0.66
BLS verifyMultipleSignatures - same message - 3 - blst 794.77 us/op 1.3780 ms/op 0.58
BLS verifyMultipleSignatures - same message - 8 - blst 920.10 us/op 1.3568 ms/op 0.68
BLS verifyMultipleSignatures - same message - 32 - blst 1.6073 ms/op 2.4157 ms/op 0.67
BLS verifyMultipleSignatures - same message - 64 - blst 2.4564 ms/op 3.6063 ms/op 0.68
BLS verifyMultipleSignatures - same message - 128 - blst 4.2100 ms/op 5.8639 ms/op 0.72
BLS aggregatePubkeys 32 - blst 19.218 us/op 22.968 us/op 0.84
BLS aggregatePubkeys 128 - blst 67.914 us/op 82.619 us/op 0.82
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 45.939 ms/op 70.767 ms/op 0.65
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 43.097 ms/op 92.029 ms/op 0.47
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 35.798 ms/op 64.067 ms/op 0.56
getSlashingsAndExits - default max 73.358 us/op 112.08 us/op 0.65
getSlashingsAndExits - 2k 278.21 us/op 431.47 us/op 0.64
proposeBlockBody type=full, size=empty 4.9784 ms/op 7.5884 ms/op 0.66
isKnown best case - 1 super set check 200.00 ns/op 260.00 ns/op 0.77
isKnown normal case - 2 super set checks 196.00 ns/op 250.00 ns/op 0.78
isKnown worse case - 16 super set checks 196.00 ns/op 252.00 ns/op 0.78
InMemoryCheckpointStateCache - add get delete 2.3230 us/op 2.9310 us/op 0.79
validate api signedAggregateAndProof - struct 1.3227 ms/op 2.1490 ms/op 0.62
validate gossip signedAggregateAndProof - struct 1.3253 ms/op 2.3760 ms/op 0.56
batch validate gossip attestation - vc 640000 - chunk 32 114.77 us/op 184.71 us/op 0.62
batch validate gossip attestation - vc 640000 - chunk 64 101.63 us/op 157.76 us/op 0.64
batch validate gossip attestation - vc 640000 - chunk 128 92.006 us/op 153.13 us/op 0.60
batch validate gossip attestation - vc 640000 - chunk 256 94.465 us/op 124.01 us/op 0.76
pickEth1Vote - no votes 971.04 us/op 1.1948 ms/op 0.81
pickEth1Vote - max votes 5.2416 ms/op 6.6346 ms/op 0.79
pickEth1Vote - Eth1Data hashTreeRoot value x2048 11.508 ms/op 14.244 ms/op 0.81
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 15.153 ms/op 27.621 ms/op 0.55
pickEth1Vote - Eth1Data fastSerialize value x2048 441.13 us/op 574.04 us/op 0.77
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.0832 ms/op 4.3587 ms/op 0.48
bytes32 toHexString 359.00 ns/op 439.00 ns/op 0.82
bytes32 Buffer.toString(hex) 239.00 ns/op 275.00 ns/op 0.87
bytes32 Buffer.toString(hex) from Uint8Array 323.00 ns/op 399.00 ns/op 0.81
bytes32 Buffer.toString(hex) + 0x 239.00 ns/op 296.00 ns/op 0.81
Object access 1 prop 0.11600 ns/op 0.13700 ns/op 0.85
Map access 1 prop 0.12000 ns/op 0.13800 ns/op 0.87
Object get x1000 5.6540 ns/op 6.9890 ns/op 0.81
Map get x1000 6.2330 ns/op 7.5600 ns/op 0.82
Object set x1000 28.043 ns/op 33.115 ns/op 0.85
Map set x1000 18.785 ns/op 22.493 ns/op 0.84
Return object 10000 times 0.28010 ns/op 0.34360 ns/op 0.82
Throw Error 10000 times 4.2015 us/op 5.1027 us/op 0.82
toHex 132.10 ns/op 183.68 ns/op 0.72
Buffer.from 128.75 ns/op 175.90 ns/op 0.73
shared Buffer 85.273 ns/op 113.68 ns/op 0.75
fastMsgIdFn sha256 / 200 bytes 2.1140 us/op 2.7110 us/op 0.78
fastMsgIdFn h32 xxhash / 200 bytes 205.00 ns/op 280.00 ns/op 0.73
fastMsgIdFn h64 xxhash / 200 bytes 263.00 ns/op 320.00 ns/op 0.82
fastMsgIdFn sha256 / 1000 bytes 6.9530 us/op 8.4920 us/op 0.82
fastMsgIdFn h32 xxhash / 1000 bytes 332.00 ns/op 402.00 ns/op 0.83
fastMsgIdFn h64 xxhash / 1000 bytes 335.00 ns/op 463.00 ns/op 0.72
fastMsgIdFn sha256 / 10000 bytes 62.539 us/op 111.06 us/op 0.56
fastMsgIdFn h32 xxhash / 10000 bytes 1.8070 us/op 2.3300 us/op 0.78
fastMsgIdFn h64 xxhash / 10000 bytes 1.2010 us/op 1.6210 us/op 0.74
send data - 1000 256B messages 10.033 ms/op 16.168 ms/op 0.62
send data - 1000 512B messages 14.474 ms/op 20.638 ms/op 0.70
send data - 1000 1024B messages 24.657 ms/op 35.349 ms/op 0.70
send data - 1000 1200B messages 22.532 ms/op 28.168 ms/op 0.80
send data - 1000 2048B messages 22.021 ms/op 26.640 ms/op 0.83
send data - 1000 4096B messages 26.352 ms/op 29.594 ms/op 0.89
send data - 1000 16384B messages 66.203 ms/op 74.228 ms/op 0.89
send data - 1000 65536B messages 208.12 ms/op 244.86 ms/op 0.85
enrSubnets - fastDeserialize 64 bits 1.7060 us/op 1.6060 us/op 1.06
enrSubnets - ssz BitVector 64 bits 311.00 ns/op 553.00 ns/op 0.56
enrSubnets - fastDeserialize 4 bits 126.00 ns/op 168.00 ns/op 0.75
enrSubnets - ssz BitVector 4 bits 312.00 ns/op 406.00 ns/op 0.77
prioritizePeers score -10:0 att 32-0.1 sync 2-0 113.32 us/op 138.84 us/op 0.82
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 133.76 us/op 189.52 us/op 0.71
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 191.27 us/op 343.83 us/op 0.56
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 364.82 us/op 616.89 us/op 0.59
prioritizePeers score 0:0 att 64-1 sync 4-1 443.76 us/op 819.91 us/op 0.54
array of 16000 items push then shift 1.5362 us/op 2.5634 us/op 0.60
LinkedList of 16000 items push then shift 6.8000 ns/op 11.832 ns/op 0.57
array of 16000 items push then pop 71.283 ns/op 104.98 ns/op 0.68
LinkedList of 16000 items push then pop 6.6170 ns/op 12.412 ns/op 0.53
array of 24000 items push then shift 2.2955 us/op 3.6949 us/op 0.62
LinkedList of 24000 items push then shift 6.7160 ns/op 11.644 ns/op 0.58
array of 24000 items push then pop 95.179 ns/op 177.50 ns/op 0.54
LinkedList of 24000 items push then pop 6.6050 ns/op 10.869 ns/op 0.61
intersect bitArray bitLen 8 6.1230 ns/op 8.0160 ns/op 0.76
intersect array and set length 8 36.300 ns/op 43.921 ns/op 0.83
intersect bitArray bitLen 128 28.667 ns/op 34.247 ns/op 0.84
intersect array and set length 128 596.71 ns/op 687.85 ns/op 0.87
bitArray.getTrueBitIndexes() bitLen 128 976.00 ns/op 1.1160 us/op 0.87
bitArray.getTrueBitIndexes() bitLen 248 1.7060 us/op 1.9480 us/op 0.88
bitArray.getTrueBitIndexes() bitLen 512 3.4830 us/op 3.9550 us/op 0.88
Buffer.concat 32 items 577.00 ns/op 675.00 ns/op 0.85
Uint8Array.set 32 items 1.0010 us/op 1.7100 us/op 0.59
Buffer.copy 1.9640 us/op 2.5290 us/op 0.78
Uint8Array.set - with subarray 2.2180 us/op 1.9200 us/op 1.16
Uint8Array.set - without subarray 1.7710 us/op 1.2440 us/op 1.42
getUint32 - dataview 193.00 ns/op 242.00 ns/op 0.80
getUint32 - manual 120.00 ns/op 147.00 ns/op 0.82
Set add up to 64 items then delete first 2.1507 us/op 2.5311 us/op 0.85
OrderedSet add up to 64 items then delete first 3.2237 us/op 4.0713 us/op 0.79
Set add up to 64 items then delete last 2.4447 us/op 3.1288 us/op 0.78
OrderedSet add up to 64 items then delete last 3.5646 us/op 4.4589 us/op 0.80
Set add up to 64 items then delete middle 2.4729 us/op 3.0592 us/op 0.81
OrderedSet add up to 64 items then delete middle 5.2163 us/op 6.3700 us/op 0.82
Set add up to 128 items then delete first 5.0080 us/op 6.3629 us/op 0.79
OrderedSet add up to 128 items then delete first 7.8455 us/op 9.8803 us/op 0.79
Set add up to 128 items then delete last 4.8699 us/op 6.1765 us/op 0.79
OrderedSet add up to 128 items then delete last 7.4161 us/op 9.2594 us/op 0.80
Set add up to 128 items then delete middle 4.7740 us/op 5.9311 us/op 0.80
OrderedSet add up to 128 items then delete middle 13.622 us/op 16.622 us/op 0.82
Set add up to 256 items then delete first 10.450 us/op 12.837 us/op 0.81
OrderedSet add up to 256 items then delete first 15.976 us/op 19.495 us/op 0.82
Set add up to 256 items then delete last 9.5750 us/op 12.120 us/op 0.79
OrderedSet add up to 256 items then delete last 14.737 us/op 18.600 us/op 0.79
Set add up to 256 items then delete middle 10.098 us/op 11.881 us/op 0.85
OrderedSet add up to 256 items then delete middle 42.016 us/op 50.657 us/op 0.83
transfer serialized Status (84 B) 2.2090 us/op 3.0220 us/op 0.73
copy serialized Status (84 B) 1.0890 us/op 1.6580 us/op 0.66
transfer serialized SignedVoluntaryExit (112 B) 2.1790 us/op 3.0580 us/op 0.71
copy serialized SignedVoluntaryExit (112 B) 1.2130 us/op 1.4950 us/op 0.81
transfer serialized ProposerSlashing (416 B) 2.3430 us/op 3.1300 us/op 0.75
copy serialized ProposerSlashing (416 B) 1.3910 us/op 1.6730 us/op 0.83
transfer serialized Attestation (485 B) 2.6050 us/op 3.7980 us/op 0.69
copy serialized Attestation (485 B) 1.3850 us/op 1.8170 us/op 0.76
transfer serialized AttesterSlashing (33232 B) 2.6480 us/op 3.4730 us/op 0.76
copy serialized AttesterSlashing (33232 B) 3.7960 us/op 4.6770 us/op 0.81
transfer serialized Small SignedBeaconBlock (128000 B) 3.4130 us/op 4.3190 us/op 0.79
copy serialized Small SignedBeaconBlock (128000 B) 9.1680 us/op 11.583 us/op 0.79
transfer serialized Avg SignedBeaconBlock (200000 B) 3.7950 us/op 4.9280 us/op 0.77
copy serialized Avg SignedBeaconBlock (200000 B) 13.080 us/op 17.505 us/op 0.75
transfer serialized BlobsSidecar (524380 B) 3.7220 us/op 4.7110 us/op 0.79
copy serialized BlobsSidecar (524380 B) 108.23 us/op 61.075 us/op 1.77
transfer serialized Big SignedBeaconBlock (1000000 B) 3.7520 us/op 4.8460 us/op 0.77
copy serialized Big SignedBeaconBlock (1000000 B) 118.99 us/op 132.63 us/op 0.90
pass gossip attestations to forkchoice per slot 2.6500 ms/op 5.2139 ms/op 0.51
forkChoice updateHead vc 100000 bc 64 eq 0 445.19 us/op 568.13 us/op 0.78
forkChoice updateHead vc 600000 bc 64 eq 0 2.7072 ms/op 3.5428 ms/op 0.76
forkChoice updateHead vc 1000000 bc 64 eq 0 4.6697 ms/op 6.6862 ms/op 0.70
forkChoice updateHead vc 600000 bc 320 eq 0 2.7480 ms/op 4.0628 ms/op 0.68
forkChoice updateHead vc 600000 bc 1200 eq 0 2.7361 ms/op 4.2081 ms/op 0.65
forkChoice updateHead vc 600000 bc 7200 eq 0 2.9958 ms/op 3.7720 ms/op 0.79
forkChoice updateHead vc 600000 bc 64 eq 1000 10.281 ms/op 12.601 ms/op 0.82
forkChoice updateHead vc 600000 bc 64 eq 10000 9.9307 ms/op 12.619 ms/op 0.79
forkChoice updateHead vc 600000 bc 64 eq 300000 13.637 ms/op 16.909 ms/op 0.81
computeDeltas 500000 validators 300 proto nodes 3.8156 ms/op 4.5694 ms/op 0.84
computeDeltas 500000 validators 1200 proto nodes 3.8995 ms/op 4.4791 ms/op 0.87
computeDeltas 500000 validators 7200 proto nodes 3.9754 ms/op 4.7366 ms/op 0.84
computeDeltas 750000 validators 300 proto nodes 5.7937 ms/op 7.0724 ms/op 0.82
computeDeltas 750000 validators 1200 proto nodes 5.7312 ms/op 6.7174 ms/op 0.85
computeDeltas 750000 validators 7200 proto nodes 5.6780 ms/op 6.8839 ms/op 0.82
computeDeltas 1400000 validators 300 proto nodes 10.608 ms/op 12.684 ms/op 0.84
computeDeltas 1400000 validators 1200 proto nodes 10.584 ms/op 13.992 ms/op 0.76
computeDeltas 1400000 validators 7200 proto nodes 10.880 ms/op 12.680 ms/op 0.86
computeDeltas 2100000 validators 300 proto nodes 16.512 ms/op 19.806 ms/op 0.83
computeDeltas 2100000 validators 1200 proto nodes 16.595 ms/op 20.870 ms/op 0.80
computeDeltas 2100000 validators 7200 proto nodes 16.537 ms/op 20.506 ms/op 0.81
altair processAttestation - 250000 vs - 7PWei normalcase 2.2041 ms/op 2.4942 ms/op 0.88
altair processAttestation - 250000 vs - 7PWei worstcase 3.0620 ms/op 3.8348 ms/op 0.80
altair processAttestation - setStatus - 1/6 committees join 119.29 us/op 166.07 us/op 0.72
altair processAttestation - setStatus - 1/3 committees join 276.75 us/op 306.63 us/op 0.90
altair processAttestation - setStatus - 1/2 committees join 336.71 us/op 404.00 us/op 0.83
altair processAttestation - setStatus - 2/3 committees join 426.02 us/op 552.15 us/op 0.77
altair processAttestation - setStatus - 4/5 committees join 594.96 us/op 749.07 us/op 0.79
altair processAttestation - setStatus - 100% committees join 725.75 us/op 851.16 us/op 0.85
altair processBlock - 250000 vs - 7PWei normalcase 4.7113 ms/op 5.4891 ms/op 0.86
altair processBlock - 250000 vs - 7PWei normalcase hashState 31.159 ms/op 39.797 ms/op 0.78
altair processBlock - 250000 vs - 7PWei worstcase 38.385 ms/op 46.847 ms/op 0.82
altair processBlock - 250000 vs - 7PWei worstcase hashState 79.078 ms/op 90.946 ms/op 0.87
phase0 processBlock - 250000 vs - 7PWei normalcase 1.6798 ms/op 2.1404 ms/op 0.78
phase0 processBlock - 250000 vs - 7PWei worstcase 26.736 ms/op 25.586 ms/op 1.04
altair processEth1Data - 250000 vs - 7PWei normalcase 337.61 us/op 415.67 us/op 0.81
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.8710 us/op 5.3050 us/op 1.11
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 32.465 us/op 29.521 us/op 1.10
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 9.4570 us/op 8.7450 us/op 1.08
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.8180 us/op 5.4060 us/op 1.08
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 130.49 us/op 115.37 us/op 1.13
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1528 ms/op 1.3066 ms/op 0.88
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.5988 ms/op 1.8712 ms/op 0.85
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6032 ms/op 2.5014 ms/op 0.64
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.4180 ms/op 4.0203 ms/op 0.85
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.6241 ms/op 1.7000 ms/op 0.96
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.4366 ms/op 4.3097 ms/op 0.80
Tree 40 250000 create 434.67 ms/op 549.49 ms/op 0.79
Tree 40 250000 get(125000) 142.86 ns/op 184.82 ns/op 0.77
Tree 40 250000 set(125000) 1.4912 us/op 2.3140 us/op 0.64
Tree 40 250000 toArray() 16.344 ms/op 19.454 ms/op 0.84
Tree 40 250000 iterate all - toArray() + loop 16.875 ms/op 19.552 ms/op 0.86
Tree 40 250000 iterate all - get(i) 54.633 ms/op 65.855 ms/op 0.83
Array 250000 create 2.4055 ms/op 2.7730 ms/op 0.87
Array 250000 clone - spread 795.98 us/op 1.7294 ms/op 0.46
Array 250000 get(125000) 0.41100 ns/op 0.52400 ns/op 0.78
Array 250000 set(125000) 0.42900 ns/op 0.59400 ns/op 0.72
Array 250000 iterate all - loop 81.541 us/op 107.46 us/op 0.76
phase0 afterProcessEpoch - 250000 vs - 7PWei 48.885 ms/op 61.410 ms/op 0.80
Array.fill - length 1000000 3.3919 ms/op 4.1242 ms/op 0.82
Array push - length 1000000 12.581 ms/op 13.840 ms/op 0.91
Array.get 0.27350 ns/op 0.32322 ns/op 0.85
Uint8Array.get 0.43823 ns/op 0.52690 ns/op 0.83
phase0 beforeProcessEpoch - 250000 vs - 7PWei 16.064 ms/op 18.596 ms/op 0.86
altair processEpoch - mainnet_e81889 263.47 ms/op 343.05 ms/op 0.77
mainnet_e81889 - altair beforeProcessEpoch 18.973 ms/op 26.716 ms/op 0.71
mainnet_e81889 - altair processJustificationAndFinalization 5.3190 us/op 8.4100 us/op 0.63
mainnet_e81889 - altair processInactivityUpdates 3.9921 ms/op 6.2277 ms/op 0.64
mainnet_e81889 - altair processRewardsAndPenalties 35.278 ms/op 51.097 ms/op 0.69
mainnet_e81889 - altair processRegistryUpdates 698.00 ns/op 942.00 ns/op 0.74
mainnet_e81889 - altair processSlashings 178.00 ns/op 259.00 ns/op 0.69
mainnet_e81889 - altair processEth1DataReset 173.00 ns/op 266.00 ns/op 0.65
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2365 ms/op 1.4882 ms/op 0.83
mainnet_e81889 - altair processSlashingsReset 863.00 ns/op 1.2620 us/op 0.68
mainnet_e81889 - altair processRandaoMixesReset 1.1070 us/op 1.6550 us/op 0.67
mainnet_e81889 - altair processHistoricalRootsUpdate 172.00 ns/op 277.00 ns/op 0.62
mainnet_e81889 - altair processParticipationFlagUpdates 514.00 ns/op 712.00 ns/op 0.72
mainnet_e81889 - altair processSyncCommitteeUpdates 137.00 ns/op 184.00 ns/op 0.74
mainnet_e81889 - altair afterProcessEpoch 50.594 ms/op 64.224 ms/op 0.79
capella processEpoch - mainnet_e217614 804.66 ms/op 1.2172 s/op 0.66
mainnet_e217614 - capella beforeProcessEpoch 66.907 ms/op 84.222 ms/op 0.79
mainnet_e217614 - capella processJustificationAndFinalization 5.1620 us/op 9.2770 us/op 0.56
mainnet_e217614 - capella processInactivityUpdates 15.659 ms/op 21.624 ms/op 0.72
mainnet_e217614 - capella processRewardsAndPenalties 174.34 ms/op 221.47 ms/op 0.79
mainnet_e217614 - capella processRegistryUpdates 6.3560 us/op 7.9130 us/op 0.80
mainnet_e217614 - capella processSlashings 175.00 ns/op 248.00 ns/op 0.71
mainnet_e217614 - capella processEth1DataReset 172.00 ns/op 289.00 ns/op 0.60
mainnet_e217614 - capella processEffectiveBalanceUpdates 10.206 ms/op 13.962 ms/op 0.73
mainnet_e217614 - capella processSlashingsReset 859.00 ns/op 1.3080 us/op 0.66
mainnet_e217614 - capella processRandaoMixesReset 1.1250 us/op 1.7110 us/op 0.66
mainnet_e217614 - capella processHistoricalRootsUpdate 173.00 ns/op 233.00 ns/op 0.74
mainnet_e217614 - capella processParticipationFlagUpdates 510.00 ns/op 666.00 ns/op 0.77
mainnet_e217614 - capella afterProcessEpoch 123.05 ms/op 152.05 ms/op 0.81
phase0 processEpoch - mainnet_e58758 295.61 ms/op 443.86 ms/op 0.67
mainnet_e58758 - phase0 beforeProcessEpoch 71.030 ms/op 105.15 ms/op 0.68
mainnet_e58758 - phase0 processJustificationAndFinalization 5.4230 us/op 7.3600 us/op 0.74
mainnet_e58758 - phase0 processRewardsAndPenalties 34.554 ms/op 43.919 ms/op 0.79
mainnet_e58758 - phase0 processRegistryUpdates 4.5610 us/op 4.5000 us/op 1.01
mainnet_e58758 - phase0 processSlashings 171.00 ns/op 250.00 ns/op 0.68
mainnet_e58758 - phase0 processEth1DataReset 170.00 ns/op 245.00 ns/op 0.69
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0625 ms/op 1.4321 ms/op 0.74
mainnet_e58758 - phase0 processSlashingsReset 922.00 ns/op 1.2440 us/op 0.74
mainnet_e58758 - phase0 processRandaoMixesReset 1.1450 us/op 1.8450 us/op 0.62
mainnet_e58758 - phase0 processHistoricalRootsUpdate 170.00 ns/op 312.00 ns/op 0.54
mainnet_e58758 - phase0 processParticipationRecordUpdates 849.00 ns/op 1.3680 us/op 0.62
mainnet_e58758 - phase0 afterProcessEpoch 41.428 ms/op 54.371 ms/op 0.76
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3319 ms/op 1.4932 ms/op 0.89
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.8539 ms/op 2.1487 ms/op 0.86
altair processInactivityUpdates - 250000 normalcase 17.554 ms/op 23.787 ms/op 0.74
altair processInactivityUpdates - 250000 worstcase 17.314 ms/op 27.500 ms/op 0.63
phase0 processRegistryUpdates - 250000 normalcase 6.7000 us/op 7.6120 us/op 0.88
phase0 processRegistryUpdates - 250000 badcase_full_deposits 248.65 us/op 369.29 us/op 0.67
phase0 processRegistryUpdates - 250000 worstcase 0.5 107.66 ms/op 145.07 ms/op 0.74
altair processRewardsAndPenalties - 250000 normalcase 36.186 ms/op 55.757 ms/op 0.65
altair processRewardsAndPenalties - 250000 worstcase 37.712 ms/op 51.392 ms/op 0.73
phase0 getAttestationDeltas - 250000 normalcase 6.8621 ms/op 9.9584 ms/op 0.69
phase0 getAttestationDeltas - 250000 worstcase 6.2285 ms/op 9.1602 ms/op 0.68
phase0 processSlashings - 250000 worstcase 86.350 us/op 90.717 us/op 0.95
altair processSyncCommitteeUpdates - 250000 132.92 ms/op 150.22 ms/op 0.88
BeaconState.hashTreeRoot - No change 206.00 ns/op 428.00 ns/op 0.48
BeaconState.hashTreeRoot - 1 full validator 75.813 us/op 102.17 us/op 0.74
BeaconState.hashTreeRoot - 32 full validator 758.77 us/op 1.1596 ms/op 0.65
BeaconState.hashTreeRoot - 512 full validator 10.106 ms/op 12.864 ms/op 0.79
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 110.35 us/op 133.88 us/op 0.82
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.2979 ms/op 2.1299 ms/op 0.61
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 18.581 ms/op 33.039 ms/op 0.56
BeaconState.hashTreeRoot - 1 balances 70.310 us/op 103.93 us/op 0.68
BeaconState.hashTreeRoot - 32 balances 706.97 us/op 1.0334 ms/op 0.68
BeaconState.hashTreeRoot - 512 balances 6.7250 ms/op 11.883 ms/op 0.57
BeaconState.hashTreeRoot - 250000 balances 158.40 ms/op 210.29 ms/op 0.75
aggregationBits - 2048 els - zipIndexesInBitList 21.414 us/op 33.175 us/op 0.65
byteArrayEquals 32 53.405 ns/op 87.794 ns/op 0.61
Buffer.compare 32 17.665 ns/op 27.514 ns/op 0.64
byteArrayEquals 1024 1.5807 us/op 2.1777 us/op 0.73
Buffer.compare 1024 25.231 ns/op 33.952 ns/op 0.74
byteArrayEquals 16384 25.288 us/op 42.084 us/op 0.60
Buffer.compare 16384 198.13 ns/op 236.75 ns/op 0.84
byteArrayEquals 123687377 190.19 ms/op 264.26 ms/op 0.72
Buffer.compare 123687377 6.4780 ms/op 8.0391 ms/op 0.81
byteArrayEquals 32 - diff last byte 52.374 ns/op 89.782 ns/op 0.58
Buffer.compare 32 - diff last byte 16.938 ns/op 29.320 ns/op 0.58
byteArrayEquals 1024 - diff last byte 1.5837 us/op 2.5449 us/op 0.62
Buffer.compare 1024 - diff last byte 24.660 ns/op 33.639 ns/op 0.73
byteArrayEquals 16384 - diff last byte 25.395 us/op 47.416 us/op 0.54
Buffer.compare 16384 - diff last byte 182.48 ns/op 405.01 ns/op 0.45
byteArrayEquals 123687377 - diff last byte 189.69 ms/op 295.25 ms/op 0.64
Buffer.compare 123687377 - diff last byte 6.5739 ms/op 7.4911 ms/op 0.88
byteArrayEquals 32 - random bytes 5.0850 ns/op 8.4720 ns/op 0.60
Buffer.compare 32 - random bytes 16.961 ns/op 31.108 ns/op 0.55
byteArrayEquals 1024 - random bytes 5.0710 ns/op 8.2830 ns/op 0.61
Buffer.compare 1024 - random bytes 16.936 ns/op 30.284 ns/op 0.56
byteArrayEquals 16384 - random bytes 5.0870 ns/op 8.2030 ns/op 0.62
Buffer.compare 16384 - random bytes 16.953 ns/op 29.162 ns/op 0.58
byteArrayEquals 123687377 - random bytes 6.3600 ns/op 7.6500 ns/op 0.83
Buffer.compare 123687377 - random bytes 18.160 ns/op 25.490 ns/op 0.71
regular array get 100000 times 37.765 us/op 52.830 us/op 0.71
wrappedArray get 100000 times 38.469 us/op 80.745 us/op 0.48
arrayWithProxy get 100000 times 15.240 ms/op 18.895 ms/op 0.81
ssz.Root.equals 45.828 ns/op 61.097 ns/op 0.75
byteArrayEquals 44.825 ns/op 58.496 ns/op 0.77
Buffer.compare 10.281 ns/op 13.744 ns/op 0.75
processSlot - 1 slots 10.337 us/op 17.369 us/op 0.60
processSlot - 32 slots 2.1370 ms/op 4.4584 ms/op 0.48
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 49.753 ms/op 76.979 ms/op 0.65
getCommitteeAssignments - req 1 vs - 250000 vc 2.0261 ms/op 3.8262 ms/op 0.53
getCommitteeAssignments - req 100 vs - 250000 vc 3.9257 ms/op 5.7707 ms/op 0.68
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1670 ms/op 6.0131 ms/op 0.69
findModifiedValidators - 10000 modified validators 736.48 ms/op 1.0569 s/op 0.70
findModifiedValidators - 1000 modified validators 693.94 ms/op 911.07 ms/op 0.76
findModifiedValidators - 100 modified validators 245.03 ms/op 383.36 ms/op 0.64
findModifiedValidators - 10 modified validators 134.60 ms/op 408.75 ms/op 0.33
findModifiedValidators - 1 modified validators 133.78 ms/op 293.31 ms/op 0.46
findModifiedValidators - no difference 176.69 ms/op 379.91 ms/op 0.47
compare ViewDUs 5.8979 s/op 10.347 s/op 0.57
compare each validator Uint8Array 1.2407 s/op 2.1235 s/op 0.58
compare ViewDU to Uint8Array 923.20 ms/op 1.1781 s/op 0.78
migrate state 1000000 validators, 24 modified, 0 new 735.00 ms/op 1.0716 s/op 0.69
migrate state 1000000 validators, 1700 modified, 1000 new 1.1210 s/op 1.3183 s/op 0.85
migrate state 1000000 validators, 3400 modified, 2000 new 1.1401 s/op 1.3271 s/op 0.86
migrate state 1500000 validators, 24 modified, 0 new 766.64 ms/op 1.0266 s/op 0.75
migrate state 1500000 validators, 1700 modified, 1000 new 981.32 ms/op 1.1512 s/op 0.85
migrate state 1500000 validators, 3400 modified, 2000 new 1.1505 s/op 1.3289 s/op 0.87
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.0400 ns/op 5.3100 ns/op 0.76
state getBlockRootAtSlot - 250000 vs - 7PWei 557.03 ns/op 493.94 ns/op 1.13
naive computeProposerIndex 100000 validators 48.200 ms/op 58.086 ms/op 0.83
computeProposerIndex 100000 validators 8.3841 ms/op 10.204 ms/op 0.82
naiveGetNextSyncCommitteeIndices 1000 validators 6.8761 s/op 8.7279 s/op 0.79
getNextSyncCommitteeIndices 1000 validators 236.10 ms/op 275.10 ms/op 0.86
naiveGetNextSyncCommitteeIndices 10000 validators 7.0579 s/op 8.5809 s/op 0.82
getNextSyncCommitteeIndices 10000 validators 232.55 ms/op 291.97 ms/op 0.80
naiveGetNextSyncCommitteeIndices 100000 validators 7.1270 s/op 8.0980 s/op 0.88
getNextSyncCommitteeIndices 100000 validators 234.65 ms/op 282.79 ms/op 0.83
naive computeShuffledIndex 100000 validators 22.869 s/op 27.193 s/op 0.84
cached computeShuffledIndex 100000 validators 545.87 ms/op 659.33 ms/op 0.83
naive computeShuffledIndex 2000000 validators 480.68 s/op 651.52 s/op 0.74
cached computeShuffledIndex 2000000 validators 95.353 s/op 54.615 s/op 1.75
computeProposers - vc 250000 28.347 ms/op 16.294 ms/op 1.74
computeEpochShuffling - vc 250000 49.666 ms/op 63.287 ms/op 0.78
getNextSyncCommittee - vc 250000 303.15 ms/op 226.07 ms/op 1.34
computeSigningRoot for AttestationData 41.033 us/op 26.514 us/op 1.55
hash AttestationData serialized data then Buffer.toString(base64) 1.6536 us/op 2.2194 us/op 0.75
toHexString serialized data 2.0166 us/op 1.7479 us/op 1.15
Buffer.toString(base64) 163.82 ns/op 274.01 ns/op 0.60
nodejs block root to RootHex using toHex 144.99 ns/op 188.56 ns/op 0.77
nodejs block root to RootHex using toRootHex 85.669 ns/op 151.30 ns/op 0.57
browser block root to RootHex using the deprecated toHexString 223.05 ns/op 310.43 ns/op 0.72
browser block root to RootHex using toHex 176.03 ns/op 248.12 ns/op 0.71
browser block root to RootHex using toRootHex 164.90 ns/op 185.09 ns/op 0.89

by benchmarkbot/action

Copy link
Member

@wemeetagain wemeetagain left a comment

Choose a reason for hiding this comment

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

needs spec test changes, test/spec/presets/fork_choice.test.ts:91:23

@nflaig nflaig requested a review from wemeetagain March 12, 2025 05:07
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