这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@nflaig
Copy link
Member

@nflaig nflaig commented Sep 6, 2025

Motivation

Similar to #8346 adds missing bucketId to all db operations to avoid unknown

This is from stable-lg1k-hzax41-dkr which shows it's already an issue there

image

Description

Add bucketId to all db operations

deployed to feat3 to make sure I didn't miss anything

@github-actions
Copy link
Contributor

github-actions bot commented Sep 6, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 9ceb6e0 Previous: 8a8da6a Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 969.43 us/op 1.0079 ms/op 0.96
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 34.325 us/op 38.327 us/op 0.90
BLS verify - blst 1.4384 ms/op 896.63 us/op 1.60
BLS verifyMultipleSignatures 3 - blst 1.9894 ms/op 1.6620 ms/op 1.20
BLS verifyMultipleSignatures 8 - blst 2.4945 ms/op 2.0479 ms/op 1.22
BLS verifyMultipleSignatures 32 - blst 7.2088 ms/op 5.7911 ms/op 1.24
BLS verifyMultipleSignatures 64 - blst 11.042 ms/op 10.790 ms/op 1.02
BLS verifyMultipleSignatures 128 - blst 16.968 ms/op 17.594 ms/op 0.96
BLS deserializing 10000 signatures 675.33 ms/op 719.20 ms/op 0.94
BLS deserializing 100000 signatures 6.7383 s/op 7.2521 s/op 0.93
BLS verifyMultipleSignatures - same message - 3 - blst 1.5689 ms/op 1.0902 ms/op 1.44
BLS verifyMultipleSignatures - same message - 8 - blst 1.3361 ms/op 1.2165 ms/op 1.10
BLS verifyMultipleSignatures - same message - 32 - blst 1.7678 ms/op 1.8597 ms/op 0.95
BLS verifyMultipleSignatures - same message - 64 - blst 2.5544 ms/op 2.7405 ms/op 0.93
BLS verifyMultipleSignatures - same message - 128 - blst 4.2919 ms/op 4.6509 ms/op 0.92
BLS aggregatePubkeys 32 - blst 19.113 us/op 20.650 us/op 0.93
BLS aggregatePubkeys 128 - blst 68.434 us/op 76.397 us/op 0.90
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 56.345 ms/op 61.207 ms/op 0.92
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 45.977 ms/op 54.790 ms/op 0.84
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 41.370 ms/op 44.619 ms/op 0.93
getSlashingsAndExits - default max 73.172 us/op 81.204 us/op 0.90
getSlashingsAndExits - 2k 277.08 us/op 372.50 us/op 0.74
proposeBlockBody type=full, size=empty 5.4882 ms/op 6.4367 ms/op 0.85
isKnown best case - 1 super set check 202.00 ns/op 212.00 ns/op 0.95
isKnown normal case - 2 super set checks 200.00 ns/op 210.00 ns/op 0.95
isKnown worse case - 16 super set checks 201.00 ns/op 212.00 ns/op 0.95
InMemoryCheckpointStateCache - add get delete 2.3760 us/op 2.6590 us/op 0.89
validate api signedAggregateAndProof - struct 1.7097 ms/op 1.4561 ms/op 1.17
validate gossip signedAggregateAndProof - struct 1.6845 ms/op 1.5727 ms/op 1.07
batch validate gossip attestation - vc 640000 - chunk 32 115.67 us/op 119.90 us/op 0.96
batch validate gossip attestation - vc 640000 - chunk 64 99.475 us/op 105.43 us/op 0.94
batch validate gossip attestation - vc 640000 - chunk 128 93.187 us/op 95.282 us/op 0.98
batch validate gossip attestation - vc 640000 - chunk 256 90.597 us/op 95.039 us/op 0.95
pickEth1Vote - no votes 920.80 us/op 951.25 us/op 0.97
pickEth1Vote - max votes 8.5645 ms/op 5.0880 ms/op 1.68
pickEth1Vote - Eth1Data hashTreeRoot value x2048 11.132 ms/op 10.534 ms/op 1.06
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.037 ms/op 23.568 ms/op 0.81
pickEth1Vote - Eth1Data fastSerialize value x2048 427.27 us/op 444.24 us/op 0.96
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.0297 ms/op 2.1603 ms/op 1.40
bytes32 toHexString 353.00 ns/op 371.00 ns/op 0.95
bytes32 Buffer.toString(hex) 229.00 ns/op 251.00 ns/op 0.91
bytes32 Buffer.toString(hex) from Uint8Array 319.00 ns/op 341.00 ns/op 0.94
bytes32 Buffer.toString(hex) + 0x 231.00 ns/op 252.00 ns/op 0.92
Object access 1 prop 0.11600 ns/op 0.11600 ns/op 1.00
Map access 1 prop 0.12200 ns/op 0.13900 ns/op 0.88
Object get x1000 5.7520 ns/op 6.0750 ns/op 0.95
Map get x1000 6.1970 ns/op 6.2500 ns/op 0.99
Object set x1000 27.217 ns/op 28.742 ns/op 0.95
Map set x1000 18.644 ns/op 19.299 ns/op 0.97
Return object 10000 times 0.28150 ns/op 0.28810 ns/op 0.98
Throw Error 10000 times 4.1613 us/op 4.3830 us/op 0.95
toHex 139.55 ns/op 130.50 ns/op 1.07
Buffer.from 125.24 ns/op 126.95 ns/op 0.99
shared Buffer 80.669 ns/op 80.083 ns/op 1.01
fastMsgIdFn sha256 / 200 bytes 2.1270 us/op 2.1890 us/op 0.97
fastMsgIdFn h32 xxhash / 200 bytes 213.00 ns/op 311.00 ns/op 0.68
fastMsgIdFn h64 xxhash / 200 bytes 261.00 ns/op 272.00 ns/op 0.96
fastMsgIdFn sha256 / 1000 bytes 6.9980 us/op 7.9580 us/op 0.88
fastMsgIdFn h32 xxhash / 1000 bytes 333.00 ns/op 356.00 ns/op 0.94
fastMsgIdFn h64 xxhash / 1000 bytes 333.00 ns/op 338.00 ns/op 0.99
fastMsgIdFn sha256 / 10000 bytes 60.990 us/op 63.738 us/op 0.96
fastMsgIdFn h32 xxhash / 10000 bytes 1.7420 us/op 1.8350 us/op 0.95
fastMsgIdFn h64 xxhash / 10000 bytes 1.1670 us/op 1.2370 us/op 0.94
send data - 1000 256B messages 14.526 ms/op 16.494 ms/op 0.88
send data - 1000 512B messages 17.885 ms/op 19.756 ms/op 0.91
send data - 1000 1024B messages 24.724 ms/op 26.795 ms/op 0.92
send data - 1000 1200B messages 23.885 ms/op 23.945 ms/op 1.00
send data - 1000 2048B messages 24.955 ms/op 24.602 ms/op 1.01
send data - 1000 4096B messages 27.169 ms/op 26.737 ms/op 1.02
send data - 1000 16384B messages 41.705 ms/op 44.554 ms/op 0.94
send data - 1000 65536B messages 110.53 ms/op 115.79 ms/op 0.95
enrSubnets - fastDeserialize 64 bits 887.00 ns/op 887.00 ns/op 1.00
enrSubnets - ssz BitVector 64 bits 329.00 ns/op 324.00 ns/op 1.02
enrSubnets - fastDeserialize 4 bits 144.00 ns/op 127.00 ns/op 1.13
enrSubnets - ssz BitVector 4 bits 328.00 ns/op 333.00 ns/op 0.98
prioritizePeers score -10:0 att 32-0.1 sync 2-0 230.48 us/op 222.32 us/op 1.04
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 250.54 us/op 263.84 us/op 0.95
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 357.64 us/op 380.45 us/op 0.94
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 676.15 us/op 710.72 us/op 0.95
prioritizePeers score 0:0 att 64-1 sync 4-1 820.87 us/op 855.47 us/op 0.96
array of 16000 items push then shift 1.5564 us/op 1.6475 us/op 0.94
LinkedList of 16000 items push then shift 6.8560 ns/op 7.0110 ns/op 0.98
array of 16000 items push then pop 76.050 ns/op 77.012 ns/op 0.99
LinkedList of 16000 items push then pop 6.6950 ns/op 6.9090 ns/op 0.97
array of 24000 items push then shift 2.3168 us/op 2.3565 us/op 0.98
LinkedList of 24000 items push then shift 6.8410 ns/op 7.4210 ns/op 0.92
array of 24000 items push then pop 101.33 ns/op 103.55 ns/op 0.98
LinkedList of 24000 items push then pop 6.7090 ns/op 7.0210 ns/op 0.96
intersect bitArray bitLen 8 6.2330 ns/op 6.3410 ns/op 0.98
intersect array and set length 8 36.825 ns/op 37.594 ns/op 0.98
intersect bitArray bitLen 128 29.070 ns/op 29.511 ns/op 0.99
intersect array and set length 128 603.41 ns/op 618.68 ns/op 0.98
bitArray.getTrueBitIndexes() bitLen 128 1.0340 us/op 1.1010 us/op 0.94
bitArray.getTrueBitIndexes() bitLen 248 1.8100 us/op 1.8520 us/op 0.98
bitArray.getTrueBitIndexes() bitLen 512 3.6690 us/op 3.7180 us/op 0.99
Buffer.concat 32 items 759.00 ns/op 708.00 ns/op 1.07
Uint8Array.set 32 items 1.3010 us/op 1.7180 us/op 0.76
Buffer.copy 2.3070 us/op 2.1230 us/op 1.09
Uint8Array.set - with subarray 1.6220 us/op 1.7090 us/op 0.95
Uint8Array.set - without subarray 1.2750 us/op 1.0650 us/op 1.20
getUint32 - dataview 215.00 ns/op 195.00 ns/op 1.10
getUint32 - manual 139.00 ns/op 116.00 ns/op 1.20
Set add up to 64 items then delete first 2.1467 us/op 2.2023 us/op 0.97
OrderedSet add up to 64 items then delete first 3.1820 us/op 3.4696 us/op 0.92
Set add up to 64 items then delete last 2.2647 us/op 2.6826 us/op 0.84
OrderedSet add up to 64 items then delete last 3.8352 us/op 3.7203 us/op 1.03
Set add up to 64 items then delete middle 2.4059 us/op 2.5897 us/op 0.93
OrderedSet add up to 64 items then delete middle 5.2063 us/op 5.5785 us/op 0.93
Set add up to 128 items then delete first 4.9721 us/op 5.2301 us/op 0.95
OrderedSet add up to 128 items then delete first 7.7321 us/op 8.1110 us/op 0.95
Set add up to 128 items then delete last 4.8370 us/op 5.2091 us/op 0.93
OrderedSet add up to 128 items then delete last 7.3053 us/op 7.3393 us/op 1.00
Set add up to 128 items then delete middle 4.7980 us/op 5.0031 us/op 0.96
OrderedSet add up to 128 items then delete middle 13.637 us/op 15.078 us/op 0.90
Set add up to 256 items then delete first 11.065 us/op 10.224 us/op 1.08
OrderedSet add up to 256 items then delete first 15.913 us/op 16.012 us/op 0.99
Set add up to 256 items then delete last 9.4892 us/op 9.2458 us/op 1.03
OrderedSet add up to 256 items then delete last 14.619 us/op 14.573 us/op 1.00
Set add up to 256 items then delete middle 9.7366 us/op 9.7706 us/op 1.00
OrderedSet add up to 256 items then delete middle 41.931 us/op 41.932 us/op 1.00
transfer serialized Status (84 B) 2.1980 us/op 2.1870 us/op 1.01
copy serialized Status (84 B) 1.1720 us/op 1.1850 us/op 0.99
transfer serialized SignedVoluntaryExit (112 B) 2.2480 us/op 2.2730 us/op 0.99
copy serialized SignedVoluntaryExit (112 B) 1.1880 us/op 1.1700 us/op 1.02
transfer serialized ProposerSlashing (416 B) 2.2930 us/op 2.3220 us/op 0.99
copy serialized ProposerSlashing (416 B) 1.3760 us/op 1.2940 us/op 1.06
transfer serialized Attestation (485 B) 2.2040 us/op 2.3390 us/op 0.94
copy serialized Attestation (485 B) 1.2020 us/op 1.2580 us/op 0.96
transfer serialized AttesterSlashing (33232 B) 2.4330 us/op 3.1430 us/op 0.77
copy serialized AttesterSlashing (33232 B) 3.4980 us/op 3.8430 us/op 0.91
transfer serialized Small SignedBeaconBlock (128000 B) 3.3050 us/op 3.3850 us/op 0.98
copy serialized Small SignedBeaconBlock (128000 B) 9.3940 us/op 9.5880 us/op 0.98
transfer serialized Avg SignedBeaconBlock (200000 B) 3.7640 us/op 3.7650 us/op 1.00
copy serialized Avg SignedBeaconBlock (200000 B) 13.765 us/op 13.068 us/op 1.05
transfer serialized BlobsSidecar (524380 B) 3.4500 us/op 3.5980 us/op 0.96
copy serialized BlobsSidecar (524380 B) 58.815 us/op 61.557 us/op 0.96
transfer serialized Big SignedBeaconBlock (1000000 B) 3.6610 us/op 3.5310 us/op 1.04
copy serialized Big SignedBeaconBlock (1000000 B) 129.43 us/op 115.78 us/op 1.12
pass gossip attestations to forkchoice per slot 2.7497 ms/op 2.9080 ms/op 0.95
forkChoice updateHead vc 100000 bc 64 eq 0 449.07 us/op 459.60 us/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 0 2.7707 ms/op 2.8735 ms/op 0.96
forkChoice updateHead vc 1000000 bc 64 eq 0 4.7606 ms/op 4.9316 ms/op 0.97
forkChoice updateHead vc 600000 bc 320 eq 0 2.7792 ms/op 2.8784 ms/op 0.97
forkChoice updateHead vc 600000 bc 1200 eq 0 2.8446 ms/op 2.9618 ms/op 0.96
forkChoice updateHead vc 600000 bc 7200 eq 0 3.0800 ms/op 3.2473 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 1000 10.296 ms/op 10.929 ms/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 10000 10.249 ms/op 10.692 ms/op 0.96
forkChoice updateHead vc 600000 bc 64 eq 300000 13.564 ms/op 14.141 ms/op 0.96
computeDeltas 500000 validators 300 proto nodes 3.8541 ms/op 3.8564 ms/op 1.00
computeDeltas 500000 validators 1200 proto nodes 3.9097 ms/op 3.7871 ms/op 1.03
computeDeltas 500000 validators 7200 proto nodes 3.8982 ms/op 3.7869 ms/op 1.03
computeDeltas 750000 validators 300 proto nodes 5.6766 ms/op 5.6420 ms/op 1.01
computeDeltas 750000 validators 1200 proto nodes 5.6313 ms/op 5.6563 ms/op 1.00
computeDeltas 750000 validators 7200 proto nodes 5.6564 ms/op 5.7074 ms/op 0.99
computeDeltas 1400000 validators 300 proto nodes 10.639 ms/op 10.689 ms/op 1.00
computeDeltas 1400000 validators 1200 proto nodes 10.581 ms/op 10.650 ms/op 0.99
computeDeltas 1400000 validators 7200 proto nodes 10.555 ms/op 10.566 ms/op 1.00
computeDeltas 2100000 validators 300 proto nodes 16.117 ms/op 16.232 ms/op 0.99
computeDeltas 2100000 validators 1200 proto nodes 16.059 ms/op 15.820 ms/op 1.02
computeDeltas 2100000 validators 7200 proto nodes 16.181 ms/op 16.079 ms/op 1.01
altair processAttestation - 250000 vs - 7PWei normalcase 2.0562 ms/op 1.9393 ms/op 1.06
altair processAttestation - 250000 vs - 7PWei worstcase 2.9476 ms/op 2.8243 ms/op 1.04
altair processAttestation - setStatus - 1/6 committees join 123.45 us/op 116.81 us/op 1.06
altair processAttestation - setStatus - 1/3 committees join 231.83 us/op 233.85 us/op 0.99
altair processAttestation - setStatus - 1/2 committees join 325.24 us/op 327.25 us/op 0.99
altair processAttestation - setStatus - 2/3 committees join 420.17 us/op 420.82 us/op 1.00
altair processAttestation - setStatus - 4/5 committees join 567.00 us/op 592.96 us/op 0.96
altair processAttestation - setStatus - 100% committees join 693.76 us/op 680.36 us/op 1.02
altair processBlock - 250000 vs - 7PWei normalcase 5.2320 ms/op 4.3642 ms/op 1.20
altair processBlock - 250000 vs - 7PWei normalcase hashState 46.859 ms/op 39.772 ms/op 1.18
altair processBlock - 250000 vs - 7PWei worstcase 43.068 ms/op 49.907 ms/op 0.86
altair processBlock - 250000 vs - 7PWei worstcase hashState 80.476 ms/op 104.98 ms/op 0.77
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5560 ms/op 2.2971 ms/op 1.11
phase0 processBlock - 250000 vs - 7PWei worstcase 22.451 ms/op 32.930 ms/op 0.68
altair processEth1Data - 250000 vs - 7PWei normalcase 338.32 us/op 353.53 us/op 0.96
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.1110 us/op 9.4390 us/op 0.75
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 60.542 us/op 55.154 us/op 1.10
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 9.7310 us/op 15.799 us/op 0.62
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 10.159 us/op 10.411 us/op 0.98
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 240.59 us/op 235.45 us/op 1.02
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.7615 ms/op 1.6480 ms/op 1.07
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.2311 ms/op 2.0199 ms/op 1.10
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.2104 ms/op 2.1354 ms/op 1.04
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.4301 ms/op 4.2430 ms/op 1.04
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.3455 ms/op 2.2561 ms/op 1.04
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.4452 ms/op 4.4165 ms/op 1.01
Tree 40 250000 create 407.36 ms/op 407.01 ms/op 1.00
Tree 40 250000 get(125000) 139.61 ns/op 141.00 ns/op 0.99
Tree 40 250000 set(125000) 1.4159 us/op 1.4239 us/op 0.99
Tree 40 250000 toArray() 14.498 ms/op 15.309 ms/op 0.95
Tree 40 250000 iterate all - toArray() + loop 14.928 ms/op 15.087 ms/op 0.99
Tree 40 250000 iterate all - get(i) 48.952 ms/op 49.117 ms/op 1.00
Array 250000 create 2.3624 ms/op 2.3681 ms/op 1.00
Array 250000 clone - spread 799.69 us/op 796.57 us/op 1.00
Array 250000 get(125000) 0.39300 ns/op 0.39800 ns/op 0.99
Array 250000 set(125000) 0.41000 ns/op 0.42300 ns/op 0.97
Array 250000 iterate all - loop 106.39 us/op 108.85 us/op 0.98
phase0 afterProcessEpoch - 250000 vs - 7PWei 40.393 ms/op 41.441 ms/op 0.97
Array.fill - length 1000000 3.4575 ms/op 3.5723 ms/op 0.97
Array push - length 1000000 12.329 ms/op 12.549 ms/op 0.98
Array.get 0.26670 ns/op 0.27040 ns/op 0.99
Uint8Array.get 0.43026 ns/op 0.43686 ns/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 16.707 ms/op 15.156 ms/op 1.10
altair processEpoch - mainnet_e81889 279.41 ms/op 290.75 ms/op 0.96
mainnet_e81889 - altair beforeProcessEpoch 18.064 ms/op 18.423 ms/op 0.98
mainnet_e81889 - altair processJustificationAndFinalization 6.4190 us/op 7.3000 us/op 0.88
mainnet_e81889 - altair processInactivityUpdates 4.0291 ms/op 4.1346 ms/op 0.97
mainnet_e81889 - altair processRewardsAndPenalties 50.790 ms/op 43.403 ms/op 1.17
mainnet_e81889 - altair processRegistryUpdates 673.00 ns/op 855.00 ns/op 0.79
mainnet_e81889 - altair processSlashings 180.00 ns/op 183.00 ns/op 0.98
mainnet_e81889 - altair processEth1DataReset 170.00 ns/op 173.00 ns/op 0.98
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.1727 ms/op 1.1650 ms/op 1.01
mainnet_e81889 - altair processSlashingsReset 1.2450 us/op 1.1100 us/op 1.12
mainnet_e81889 - altair processRandaoMixesReset 1.4510 us/op 1.7540 us/op 0.83
mainnet_e81889 - altair processHistoricalRootsUpdate 172.00 ns/op 168.00 ns/op 1.02
mainnet_e81889 - altair processParticipationFlagUpdates 511.00 ns/op 507.00 ns/op 1.01
mainnet_e81889 - altair processSyncCommitteeUpdates 137.00 ns/op 145.00 ns/op 0.94
mainnet_e81889 - altair afterProcessEpoch 43.050 ms/op 41.377 ms/op 1.04
capella processEpoch - mainnet_e217614 990.12 ms/op 996.04 ms/op 0.99
mainnet_e217614 - capella beforeProcessEpoch 61.396 ms/op 62.697 ms/op 0.98
mainnet_e217614 - capella processJustificationAndFinalization 5.2530 us/op 4.9950 us/op 1.05
mainnet_e217614 - capella processInactivityUpdates 14.376 ms/op 14.261 ms/op 1.01
mainnet_e217614 - capella processRewardsAndPenalties 209.46 ms/op 208.27 ms/op 1.01
mainnet_e217614 - capella processRegistryUpdates 6.2960 us/op 7.7440 us/op 0.81
mainnet_e217614 - capella processSlashings 177.00 ns/op 250.00 ns/op 0.71
mainnet_e217614 - capella processEth1DataReset 176.00 ns/op 174.00 ns/op 1.01
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.0649 ms/op 4.0862 ms/op 0.99
mainnet_e217614 - capella processSlashingsReset 835.00 ns/op 914.00 ns/op 0.91
mainnet_e217614 - capella processRandaoMixesReset 1.1740 us/op 1.1630 us/op 1.01
mainnet_e217614 - capella processHistoricalRootsUpdate 174.00 ns/op 182.00 ns/op 0.96
mainnet_e217614 - capella processParticipationFlagUpdates 481.00 ns/op 572.00 ns/op 0.84
mainnet_e217614 - capella afterProcessEpoch 108.66 ms/op 114.85 ms/op 0.95
phase0 processEpoch - mainnet_e58758 315.26 ms/op 318.81 ms/op 0.99
mainnet_e58758 - phase0 beforeProcessEpoch 86.294 ms/op 79.926 ms/op 1.08
mainnet_e58758 - phase0 processJustificationAndFinalization 5.5280 us/op 8.0180 us/op 0.69
mainnet_e58758 - phase0 processRewardsAndPenalties 40.270 ms/op 43.961 ms/op 0.92
mainnet_e58758 - phase0 processRegistryUpdates 4.3900 us/op 3.0550 us/op 1.44
mainnet_e58758 - phase0 processSlashings 176.00 ns/op 176.00 ns/op 1.00
mainnet_e58758 - phase0 processEth1DataReset 170.00 ns/op 183.00 ns/op 0.93
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1388 ms/op 1.1436 ms/op 1.00
mainnet_e58758 - phase0 processSlashingsReset 913.00 ns/op 892.00 ns/op 1.02
mainnet_e58758 - phase0 processRandaoMixesReset 1.5990 us/op 1.3770 us/op 1.16
mainnet_e58758 - phase0 processHistoricalRootsUpdate 177.00 ns/op 181.00 ns/op 0.98
mainnet_e58758 - phase0 processParticipationRecordUpdates 876.00 ns/op 925.00 ns/op 0.95
mainnet_e58758 - phase0 afterProcessEpoch 34.755 ms/op 35.324 ms/op 0.98
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.4253 ms/op 2.4308 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.8875 ms/op 1.9389 ms/op 0.97
altair processInactivityUpdates - 250000 normalcase 22.089 ms/op 28.374 ms/op 0.78
altair processInactivityUpdates - 250000 worstcase 20.646 ms/op 20.455 ms/op 1.01
phase0 processRegistryUpdates - 250000 normalcase 11.029 us/op 10.730 us/op 1.03
phase0 processRegistryUpdates - 250000 badcase_full_deposits 450.91 us/op 425.88 us/op 1.06
phase0 processRegistryUpdates - 250000 worstcase 0.5 129.18 ms/op 116.17 ms/op 1.11
altair processRewardsAndPenalties - 250000 normalcase 38.066 ms/op 31.493 ms/op 1.21
altair processRewardsAndPenalties - 250000 worstcase 32.112 ms/op 37.750 ms/op 0.85
phase0 getAttestationDeltas - 250000 normalcase 5.7906 ms/op 6.4551 ms/op 0.90
phase0 getAttestationDeltas - 250000 worstcase 5.8026 ms/op 5.9224 ms/op 0.98
phase0 processSlashings - 250000 worstcase 124.98 us/op 128.34 us/op 0.97
altair processSyncCommitteeUpdates - 250000 10.695 ms/op 10.939 ms/op 0.98
BeaconState.hashTreeRoot - No change 225.00 ns/op 215.00 ns/op 1.05
BeaconState.hashTreeRoot - 1 full validator 111.71 us/op 83.713 us/op 1.33
BeaconState.hashTreeRoot - 32 full validator 985.76 us/op 1.3670 ms/op 0.72
BeaconState.hashTreeRoot - 512 full validator 11.783 ms/op 10.826 ms/op 1.09
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 139.27 us/op 158.44 us/op 0.88
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.3876 ms/op 1.5704 ms/op 1.52
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.361 ms/op 29.098 ms/op 0.87
BeaconState.hashTreeRoot - 1 balances 81.860 us/op 90.149 us/op 0.91
BeaconState.hashTreeRoot - 32 balances 781.73 us/op 1.1326 ms/op 0.69
BeaconState.hashTreeRoot - 512 balances 6.8375 ms/op 10.051 ms/op 0.68
BeaconState.hashTreeRoot - 250000 balances 176.78 ms/op 209.31 ms/op 0.84
aggregationBits - 2048 els - zipIndexesInBitList 20.790 us/op 20.956 us/op 0.99
byteArrayEquals 32 52.856 ns/op 52.932 ns/op 1.00
Buffer.compare 32 16.958 ns/op 17.098 ns/op 0.99
byteArrayEquals 1024 1.5627 us/op 1.5750 us/op 0.99
Buffer.compare 1024 24.113 ns/op 24.283 ns/op 0.99
byteArrayEquals 16384 24.877 us/op 25.089 us/op 0.99
Buffer.compare 16384 202.42 ns/op 202.08 ns/op 1.00
byteArrayEquals 123687377 188.52 ms/op 188.87 ms/op 1.00
Buffer.compare 123687377 6.1412 ms/op 6.2359 ms/op 0.98
byteArrayEquals 32 - diff last byte 51.519 ns/op 52.176 ns/op 0.99
Buffer.compare 32 - diff last byte 16.793 ns/op 16.870 ns/op 1.00
byteArrayEquals 1024 - diff last byte 1.5569 us/op 1.5665 us/op 0.99
Buffer.compare 1024 - diff last byte 25.706 ns/op 24.565 ns/op 1.05
byteArrayEquals 16384 - diff last byte 24.798 us/op 25.048 us/op 0.99
Buffer.compare 16384 - diff last byte 197.36 ns/op 174.66 ns/op 1.13
byteArrayEquals 123687377 - diff last byte 187.45 ms/op 188.49 ms/op 0.99
Buffer.compare 123687377 - diff last byte 6.3555 ms/op 6.4482 ms/op 0.99
byteArrayEquals 32 - random bytes 5.1000 ns/op 5.0520 ns/op 1.01
Buffer.compare 32 - random bytes 16.678 ns/op 16.815 ns/op 0.99
byteArrayEquals 1024 - random bytes 4.9990 ns/op 5.0580 ns/op 0.99
Buffer.compare 1024 - random bytes 16.727 ns/op 16.863 ns/op 0.99
byteArrayEquals 16384 - random bytes 4.9940 ns/op 5.0500 ns/op 0.99
Buffer.compare 16384 - random bytes 16.693 ns/op 16.827 ns/op 0.99
byteArrayEquals 123687377 - random bytes 7.6900 ns/op 6.3200 ns/op 1.22
Buffer.compare 123687377 - random bytes 17.800 ns/op 18.290 ns/op 0.97
regular array get 100000 times 37.826 us/op 35.967 us/op 1.05
wrappedArray get 100000 times 32.152 us/op 32.875 us/op 0.98
arrayWithProxy get 100000 times 11.919 ms/op 12.072 ms/op 0.99
ssz.Root.equals 45.118 ns/op 45.859 ns/op 0.98
byteArrayEquals 44.323 ns/op 45.022 ns/op 0.98
Buffer.compare 10.113 ns/op 10.341 ns/op 0.98
processSlot - 1 slots 12.020 us/op 10.143 us/op 1.19
processSlot - 32 slots 3.5401 ms/op 2.8742 ms/op 1.23
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 2.7860 ms/op 2.7673 ms/op 1.01
getCommitteeAssignments - req 1 vs - 250000 vc 2.0058 ms/op 1.9956 ms/op 1.01
getCommitteeAssignments - req 100 vs - 250000 vc 3.9025 ms/op 3.8882 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1757 ms/op 4.1535 ms/op 1.01
findModifiedValidators - 10000 modified validators 721.39 ms/op 730.81 ms/op 0.99
findModifiedValidators - 1000 modified validators 688.59 ms/op 700.02 ms/op 0.98
findModifiedValidators - 100 modified validators 233.45 ms/op 195.64 ms/op 1.19
findModifiedValidators - 10 modified validators 139.27 ms/op 242.38 ms/op 0.57
findModifiedValidators - 1 modified validators 142.85 ms/op 147.07 ms/op 0.97
findModifiedValidators - no difference 164.45 ms/op 154.69 ms/op 1.06
compare ViewDUs 6.0866 s/op 6.2750 s/op 0.97
compare each validator Uint8Array 2.0526 s/op 1.6606 s/op 1.24
compare ViewDU to Uint8Array 980.70 ms/op 920.47 ms/op 1.07
migrate state 1000000 validators, 24 modified, 0 new 884.27 ms/op 916.52 ms/op 0.96
migrate state 1000000 validators, 1700 modified, 1000 new 1.2066 s/op 1.2181 s/op 0.99
migrate state 1000000 validators, 3400 modified, 2000 new 1.3143 s/op 1.3255 s/op 0.99
migrate state 1500000 validators, 24 modified, 0 new 975.89 ms/op 978.80 ms/op 1.00
migrate state 1500000 validators, 1700 modified, 1000 new 1.0765 s/op 1.1827 s/op 0.91
migrate state 1500000 validators, 3400 modified, 2000 new 1.3496 s/op 1.3476 s/op 1.00
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.0800 ns/op 4.1200 ns/op 0.99
state getBlockRootAtSlot - 250000 vs - 7PWei 750.84 ns/op 958.43 ns/op 0.78
naive computeProposerIndex 100000 validators 49.756 ms/op 51.061 ms/op 0.97
computeProposerIndex 100000 validators 1.4825 ms/op 1.4863 ms/op 1.00
naiveGetNextSyncCommitteeIndices 1000 validators 7.5523 s/op 7.1831 s/op 1.05
getNextSyncCommitteeIndices 1000 validators 109.12 ms/op 113.19 ms/op 0.96
naiveGetNextSyncCommitteeIndices 10000 validators 7.1755 s/op 7.8758 s/op 0.91
getNextSyncCommitteeIndices 10000 validators 109.01 ms/op 113.89 ms/op 0.96
naiveGetNextSyncCommitteeIndices 100000 validators 6.5632 s/op 7.3993 s/op 0.89
getNextSyncCommitteeIndices 100000 validators 108.83 ms/op 114.00 ms/op 0.95
naive computeShuffledIndex 100000 validators 23.181 s/op 24.464 s/op 0.95
cached computeShuffledIndex 100000 validators 533.67 ms/op 548.67 ms/op 0.97
naive computeShuffledIndex 2000000 validators 465.65 s/op 486.61 s/op 0.96
cached computeShuffledIndex 2000000 validators 28.535 s/op 28.714 s/op 0.99
computeProposers - vc 250000 613.29 us/op 619.04 us/op 0.99
computeEpochShuffling - vc 250000 41.175 ms/op 41.453 ms/op 0.99
getNextSyncCommittee - vc 250000 10.145 ms/op 10.245 ms/op 0.99
computeSigningRoot for AttestationData 20.089 us/op 21.716 us/op 0.93
hash AttestationData serialized data then Buffer.toString(base64) 1.5599 us/op 1.5529 us/op 1.00
toHexString serialized data 1.0888 us/op 1.0978 us/op 0.99
Buffer.toString(base64) 148.47 ns/op 153.97 ns/op 0.96
nodejs block root to RootHex using toHex 137.23 ns/op 145.03 ns/op 0.95
nodejs block root to RootHex using toRootHex 84.561 ns/op 88.822 ns/op 0.95
nodejs fromhex(blob) 104.97 ms/op 108.21 ms/op 0.97
nodejs fromHexInto(blob) 91.999 ms/op 93.606 ms/op 0.98
browser block root to RootHex using the deprecated toHexString 205.43 ns/op 208.54 ns/op 0.99
browser block root to RootHex using toHex 166.54 ns/op 170.62 ns/op 0.98
browser block root to RootHex using toRootHex 156.36 ns/op 158.40 ns/op 0.99
browser fromHexInto(blob) 798.55 us/op 812.76 us/op 0.98
browser fromHex(blob) 761.71 ms/op 774.47 ms/op 0.98

by benchmarkbot/action

@codecov
Copy link

codecov bot commented Sep 6, 2025

Codecov Report

❌ Patch coverage is 55.55556% with 16 lines in your changes missing coverage. Please review.
✅ Project coverage is 54.07%. Comparing base (8a8da6a) to head (9b66b5b).
⚠️ Report is 2 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #8347   +/-   ##
=========================================
  Coverage     54.07%   54.07%           
=========================================
  Files           849      849           
  Lines         64126    64141   +15     
  Branches       4852     4852           
=========================================
+ Hits          34674    34684   +10     
- Misses        29375    29380    +5     
  Partials         77       77           
🚀 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.

@nflaig nflaig marked this pull request as ready for review September 6, 2025 14:42
@nflaig nflaig requested a review from a team as a code owner September 6, 2025 14:42
@nflaig
Copy link
Member Author

nflaig commented Sep 8, 2025

Confirmed on feat3 that there are no more unknown db writes/reads

image

@wemeetagain wemeetagain merged commit bb15e8e into unstable Sep 8, 2025
20 checks passed
@wemeetagain wemeetagain deleted the nflaig/add-bucket-ids branch September 8, 2025 18:47
@wemeetagain
Copy link
Member

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