Skip to content

Comments

feat: log when publishing to 0 data column peers#8195

Merged
wemeetagain merged 4 commits intounstablefrom
cayman/reorg-log
Aug 13, 2025
Merged

feat: log when publishing to 0 data column peers#8195
wemeetagain merged 4 commits intounstablefrom
cayman/reorg-log

Conversation

@wemeetagain
Copy link
Member

Motivation

Description

  • If any columns were published to 0 peers, print a warning that the block may be reorged

@wemeetagain wemeetagain requested a review from a team as a code owner August 13, 2025 12:47
@codecov
Copy link

codecov bot commented Aug 13, 2025

Codecov Report

❌ Patch coverage is 0% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 54.23%. Comparing base (1091706) to head (5ed213b).
⚠️ Report is 3 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #8195   +/-   ##
=========================================
  Coverage     54.22%   54.23%           
=========================================
  Files           843      844    +1     
  Lines         63402    63481   +79     
  Branches       4796     4796           
=========================================
+ Hits          34381    34428   +47     
- Misses        28946    28978   +32     
  Partials         75       75           
🚀 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.

}
}
if (columnsPublishedWithZeroPeers > 0) {
chain.logger.warn("Published data columns with 0 peers, increased risk of reorg", {
Copy link
Member

Choose a reason for hiding this comment

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

would like to have at least slot and blockRoot in context

@github-actions
Copy link
Contributor

github-actions bot commented Aug 13, 2025

Performance Report

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: a0a0463 Previous: 7ec9170 Ratio
forkChoice updateHead vc 600000 bc 7200 eq 0 2.7427 ms/op 9.0992 ms/op 0.30
forkChoice updateHead vc 600000 bc 64 eq 300000 11.166 ms/op 48.436 ms/op 0.23
Full benchmark results
Benchmark suite Current: a0a0463 Previous: 7ec9170 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 862.18 us/op 1.0551 ms/op 0.82
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 34.479 us/op 40.439 us/op 0.85
BLS verify - blst 909.28 us/op 818.58 us/op 1.11
BLS verifyMultipleSignatures 3 - blst 1.3412 ms/op 1.2778 ms/op 1.05
BLS verifyMultipleSignatures 8 - blst 2.1634 ms/op 1.7966 ms/op 1.20
BLS verifyMultipleSignatures 32 - blst 4.6376 ms/op 5.0392 ms/op 0.92
BLS verifyMultipleSignatures 64 - blst 8.6888 ms/op 9.3728 ms/op 0.93
BLS verifyMultipleSignatures 128 - blst 16.459 ms/op 17.840 ms/op 0.92
BLS deserializing 10000 signatures 641.62 ms/op 724.42 ms/op 0.89
BLS deserializing 100000 signatures 6.1850 s/op 6.9902 s/op 0.88
BLS verifyMultipleSignatures - same message - 3 - blst 855.19 us/op 927.68 us/op 0.92
BLS verifyMultipleSignatures - same message - 8 - blst 1.0489 ms/op 1.0063 ms/op 1.04
BLS verifyMultipleSignatures - same message - 32 - blst 1.6343 ms/op 1.7323 ms/op 0.94
BLS verifyMultipleSignatures - same message - 64 - blst 2.4632 ms/op 2.5869 ms/op 0.95
BLS verifyMultipleSignatures - same message - 128 - blst 3.9810 ms/op 4.3390 ms/op 0.92
BLS aggregatePubkeys 32 - blst 16.899 us/op 19.646 us/op 0.86
BLS aggregatePubkeys 128 - blst 59.446 us/op 70.722 us/op 0.84
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 48.618 ms/op 52.389 ms/op 0.93
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 46.482 ms/op 47.701 ms/op 0.97
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 38.460 ms/op 36.543 ms/op 1.05
getSlashingsAndExits - default max 45.820 us/op 77.221 us/op 0.59
getSlashingsAndExits - 2k 307.85 us/op 411.74 us/op 0.75
proposeBlockBody type=full, size=empty 4.6761 ms/op 8.3800 ms/op 0.56
isKnown best case - 1 super set check 400.00 ns/op 223.00 ns/op 1.79
isKnown normal case - 2 super set checks 400.00 ns/op 226.00 ns/op 1.77
isKnown worse case - 16 super set checks 407.00 ns/op 224.00 ns/op 1.82
InMemoryCheckpointStateCache - add get delete 2.5160 us/op 2.7100 us/op 0.93
validate api signedAggregateAndProof - struct 1.4469 ms/op 1.6984 ms/op 0.85
validate gossip signedAggregateAndProof - struct 1.6193 ms/op 1.6930 ms/op 0.96
batch validate gossip attestation - vc 640000 - chunk 32 110.01 us/op 128.34 us/op 0.86
batch validate gossip attestation - vc 640000 - chunk 64 93.211 us/op 113.49 us/op 0.82
batch validate gossip attestation - vc 640000 - chunk 128 84.556 us/op 121.68 us/op 0.69
batch validate gossip attestation - vc 640000 - chunk 256 82.442 us/op 117.15 us/op 0.70
pickEth1Vote - no votes 830.10 us/op 1.7704 ms/op 0.47
pickEth1Vote - max votes 4.2536 ms/op 9.9795 ms/op 0.43
pickEth1Vote - Eth1Data hashTreeRoot value x2048 8.3711 ms/op 15.617 ms/op 0.54
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 14.553 ms/op 26.080 ms/op 0.56
pickEth1Vote - Eth1Data fastSerialize value x2048 377.83 us/op 555.08 us/op 0.68
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.3698 ms/op 5.2287 ms/op 0.45
bytes32 toHexString 515.00 ns/op 673.00 ns/op 0.77
bytes32 Buffer.toString(hex) 406.00 ns/op 268.00 ns/op 1.51
bytes32 Buffer.toString(hex) from Uint8Array 668.00 ns/op 368.00 ns/op 1.82
bytes32 Buffer.toString(hex) + 0x 414.00 ns/op 274.00 ns/op 1.51
Object access 1 prop 0.30000 ns/op 0.13700 ns/op 2.19
Map access 1 prop 0.31100 ns/op 0.14100 ns/op 2.21
Object get x1000 5.2990 ns/op 8.5420 ns/op 0.62
Map get x1000 5.9590 ns/op 6.9020 ns/op 0.86
Object set x1000 18.726 ns/op 34.518 ns/op 0.54
Map set x1000 16.356 ns/op 26.465 ns/op 0.62
Return object 10000 times 0.28340 ns/op 0.34920 ns/op 0.81
Throw Error 10000 times 3.2927 us/op 4.8653 us/op 0.68
toHex 94.766 ns/op 164.20 ns/op 0.58
Buffer.from 86.510 ns/op 126.91 ns/op 0.68
shared Buffer 62.318 ns/op 87.528 ns/op 0.71
fastMsgIdFn sha256 / 200 bytes 1.8610 us/op 2.3700 us/op 0.79
fastMsgIdFn h32 xxhash / 200 bytes 380.00 ns/op 230.00 ns/op 1.65
fastMsgIdFn h64 xxhash / 200 bytes 435.00 ns/op 295.00 ns/op 1.47
fastMsgIdFn sha256 / 1000 bytes 5.6320 us/op 7.7240 us/op 0.73
fastMsgIdFn h32 xxhash / 1000 bytes 495.00 ns/op 370.00 ns/op 1.34
fastMsgIdFn h64 xxhash / 1000 bytes 496.00 ns/op 368.00 ns/op 1.35
fastMsgIdFn sha256 / 10000 bytes 46.446 us/op 71.442 us/op 0.65
fastMsgIdFn h32 xxhash / 10000 bytes 1.8300 us/op 1.9600 us/op 0.93
fastMsgIdFn h64 xxhash / 10000 bytes 1.2920 us/op 1.2940 us/op 1.00
send data - 1000 256B messages 11.697 ms/op 21.650 ms/op 0.54
send data - 1000 512B messages 14.228 ms/op 25.696 ms/op 0.55
send data - 1000 1024B messages 19.856 ms/op 33.520 ms/op 0.59
send data - 1000 1200B messages 15.088 ms/op 31.134 ms/op 0.48
send data - 1000 2048B messages 16.825 ms/op 33.125 ms/op 0.51
send data - 1000 4096B messages 19.842 ms/op 35.321 ms/op 0.56
send data - 1000 16384B messages 25.628 ms/op 55.288 ms/op 0.46
send data - 1000 65536B messages 68.062 ms/op 150.39 ms/op 0.45
enrSubnets - fastDeserialize 64 bits 931.00 ns/op 1.0490 us/op 0.89
enrSubnets - ssz BitVector 64 bits 495.00 ns/op 374.00 ns/op 1.32
enrSubnets - fastDeserialize 4 bits 339.00 ns/op 230.00 ns/op 1.47
enrSubnets - ssz BitVector 4 bits 502.00 ns/op 648.00 ns/op 0.77
prioritizePeers score -10:0 att 32-0.1 sync 2-0 102.74 us/op 181.24 us/op 0.57
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 127.28 us/op 198.48 us/op 0.64
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 202.51 us/op 286.76 us/op 0.71
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 351.42 us/op 579.38 us/op 0.61
prioritizePeers score 0:0 att 64-1 sync 4-1 428.44 us/op 639.80 us/op 0.67
array of 16000 items push then shift 1.2904 us/op 1.9576 us/op 0.66
LinkedList of 16000 items push then shift 6.2500 ns/op 11.588 ns/op 0.54
array of 16000 items push then pop 60.385 ns/op 107.22 ns/op 0.56
LinkedList of 16000 items push then pop 6.1330 ns/op 9.3700 ns/op 0.65
array of 24000 items push then shift 1.8948 us/op 2.8418 us/op 0.67
LinkedList of 24000 items push then shift 6.2710 ns/op 11.792 ns/op 0.53
array of 24000 items push then pop 84.647 ns/op 139.58 ns/op 0.61
LinkedList of 24000 items push then pop 6.1790 ns/op 9.5070 ns/op 0.65
intersect bitArray bitLen 8 5.5710 ns/op 7.0730 ns/op 0.79
intersect array and set length 8 32.839 ns/op 43.414 ns/op 0.76
intersect bitArray bitLen 128 26.638 ns/op 32.959 ns/op 0.81
intersect array and set length 128 547.11 ns/op 690.64 ns/op 0.79
bitArray.getTrueBitIndexes() bitLen 128 1.1490 us/op 1.2910 us/op 0.89
bitArray.getTrueBitIndexes() bitLen 248 1.8060 us/op 2.1170 us/op 0.85
bitArray.getTrueBitIndexes() bitLen 512 3.2930 us/op 4.4750 us/op 0.74
Buffer.concat 32 items 794.00 ns/op 910.00 ns/op 0.87
Uint8Array.set 32 items 1.2060 us/op 1.5930 us/op 0.76
Buffer.copy 1.8950 us/op 2.4200 us/op 0.78
Uint8Array.set - with subarray 1.5550 us/op 2.2370 us/op 0.70
Uint8Array.set - without subarray 1.0210 us/op 1.2730 us/op 0.80
getUint32 - dataview 370.00 ns/op 272.00 ns/op 1.36
getUint32 - manual 311.00 ns/op 168.00 ns/op 1.85
Set add up to 64 items then delete first 1.8401 us/op 3.6863 us/op 0.50
OrderedSet add up to 64 items then delete first 2.6259 us/op 6.1890 us/op 0.42
Set add up to 64 items then delete last 1.9129 us/op 2.5924 us/op 0.74
OrderedSet add up to 64 items then delete last 2.8987 us/op 7.2618 us/op 0.40
Set add up to 64 items then delete middle 1.9096 us/op 3.8564 us/op 0.50
OrderedSet add up to 64 items then delete middle 4.3038 us/op 7.9403 us/op 0.54
Set add up to 128 items then delete first 3.8510 us/op 7.8794 us/op 0.49
OrderedSet add up to 128 items then delete first 6.0429 us/op 13.845 us/op 0.44
Set add up to 128 items then delete last 3.6528 us/op 8.2511 us/op 0.44
OrderedSet add up to 128 items then delete last 5.6681 us/op 14.339 us/op 0.40
Set add up to 128 items then delete middle 3.7625 us/op 8.8165 us/op 0.43
OrderedSet add up to 128 items then delete middle 11.133 us/op 20.354 us/op 0.55
Set add up to 256 items then delete first 7.4547 us/op 16.659 us/op 0.45
OrderedSet add up to 256 items then delete first 11.949 us/op 31.152 us/op 0.38
Set add up to 256 items then delete last 7.2395 us/op 20.252 us/op 0.36
OrderedSet add up to 256 items then delete last 11.274 us/op 31.581 us/op 0.36
Set add up to 256 items then delete middle 7.2291 us/op 18.799 us/op 0.38
OrderedSet add up to 256 items then delete middle 33.021 us/op 59.870 us/op 0.55
transfer serialized Status (84 B) 1.8340 us/op 2.4490 us/op 0.75
copy serialized Status (84 B) 1.1680 us/op 1.3580 us/op 0.86
transfer serialized SignedVoluntaryExit (112 B) 1.8400 us/op 3.7970 us/op 0.48
copy serialized SignedVoluntaryExit (112 B) 1.1730 us/op 2.6800 us/op 0.44
transfer serialized ProposerSlashing (416 B) 1.9070 us/op 3.7410 us/op 0.51
copy serialized ProposerSlashing (416 B) 1.2820 us/op 2.7990 us/op 0.46
transfer serialized Attestation (485 B) 1.9090 us/op 3.4720 us/op 0.55
copy serialized Attestation (485 B) 1.2000 us/op 3.3740 us/op 0.36
transfer serialized AttesterSlashing (33232 B) 2.2420 us/op 4.1340 us/op 0.54
copy serialized AttesterSlashing (33232 B) 3.3800 us/op 6.4470 us/op 0.52
transfer serialized Small SignedBeaconBlock (128000 B) 2.2160 us/op 3.3010 us/op 0.67
copy serialized Small SignedBeaconBlock (128000 B) 8.5440 us/op 20.299 us/op 0.42
transfer serialized Avg SignedBeaconBlock (200000 B) 2.3600 us/op 4.2060 us/op 0.56
copy serialized Avg SignedBeaconBlock (200000 B) 12.381 us/op 27.200 us/op 0.46
transfer serialized BlobsSidecar (524380 B) 2.5730 us/op 5.4590 us/op 0.47
copy serialized BlobsSidecar (524380 B) 96.870 us/op 143.05 us/op 0.68
transfer serialized Big SignedBeaconBlock (1000000 B) 2.9660 us/op 5.4210 us/op 0.55
copy serialized Big SignedBeaconBlock (1000000 B) 164.64 us/op 189.62 us/op 0.87
pass gossip attestations to forkchoice per slot 2.3805 ms/op 3.8072 ms/op 0.63
forkChoice updateHead vc 100000 bc 64 eq 0 400.64 us/op 491.52 us/op 0.82
forkChoice updateHead vc 600000 bc 64 eq 0 2.3451 ms/op 6.0239 ms/op 0.39
forkChoice updateHead vc 1000000 bc 64 eq 0 3.9636 ms/op 8.0685 ms/op 0.49
forkChoice updateHead vc 600000 bc 320 eq 0 2.3436 ms/op 5.1565 ms/op 0.45
forkChoice updateHead vc 600000 bc 1200 eq 0 2.4395 ms/op 5.1391 ms/op 0.47
forkChoice updateHead vc 600000 bc 7200 eq 0 2.7427 ms/op 9.0992 ms/op 0.30
forkChoice updateHead vc 600000 bc 64 eq 1000 9.5448 ms/op 11.736 ms/op 0.81
forkChoice updateHead vc 600000 bc 64 eq 10000 9.4591 ms/op 12.033 ms/op 0.79
forkChoice updateHead vc 600000 bc 64 eq 300000 11.166 ms/op 48.436 ms/op 0.23
computeDeltas 500000 validators 300 proto nodes 3.1500 ms/op 6.1600 ms/op 0.51
computeDeltas 500000 validators 1200 proto nodes 3.1588 ms/op 5.9926 ms/op 0.53
computeDeltas 500000 validators 7200 proto nodes 3.2132 ms/op 5.4063 ms/op 0.59
computeDeltas 750000 validators 300 proto nodes 4.8262 ms/op 6.6816 ms/op 0.72
computeDeltas 750000 validators 1200 proto nodes 4.8156 ms/op 6.1946 ms/op 0.78
computeDeltas 750000 validators 7200 proto nodes 4.8347 ms/op 5.9723 ms/op 0.81
computeDeltas 1400000 validators 300 proto nodes 8.9654 ms/op 11.252 ms/op 0.80
computeDeltas 1400000 validators 1200 proto nodes 8.8304 ms/op 11.464 ms/op 0.77
computeDeltas 1400000 validators 7200 proto nodes 9.1557 ms/op 11.423 ms/op 0.80
computeDeltas 2100000 validators 300 proto nodes 14.162 ms/op 18.535 ms/op 0.76
computeDeltas 2100000 validators 1200 proto nodes 13.791 ms/op 18.407 ms/op 0.75
computeDeltas 2100000 validators 7200 proto nodes 13.893 ms/op 17.859 ms/op 0.78
altair processAttestation - 250000 vs - 7PWei normalcase 1.6698 ms/op 2.9057 ms/op 0.57
altair processAttestation - 250000 vs - 7PWei worstcase 2.4950 ms/op 4.0091 ms/op 0.62
altair processAttestation - setStatus - 1/6 committees join 107.31 us/op 147.26 us/op 0.73
altair processAttestation - setStatus - 1/3 committees join 206.51 us/op 268.49 us/op 0.77
altair processAttestation - setStatus - 1/2 committees join 288.99 us/op 382.78 us/op 0.75
altair processAttestation - setStatus - 2/3 committees join 362.67 us/op 481.54 us/op 0.75
altair processAttestation - setStatus - 4/5 committees join 510.03 us/op 665.97 us/op 0.77
altair processAttestation - setStatus - 100% committees join 580.92 us/op 782.70 us/op 0.74
altair processBlock - 250000 vs - 7PWei normalcase 3.9986 ms/op 5.3749 ms/op 0.74
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.544 ms/op 33.090 ms/op 0.86
altair processBlock - 250000 vs - 7PWei worstcase 37.744 ms/op 40.471 ms/op 0.93
altair processBlock - 250000 vs - 7PWei worstcase hashState 86.266 ms/op 89.741 ms/op 0.96
phase0 processBlock - 250000 vs - 7PWei normalcase 2.0487 ms/op 1.8466 ms/op 1.11
phase0 processBlock - 250000 vs - 7PWei worstcase 22.699 ms/op 25.880 ms/op 0.88
altair processEth1Data - 250000 vs - 7PWei normalcase 286.30 us/op 357.66 us/op 0.80
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.7430 us/op 7.6260 us/op 0.75
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 19.695 us/op 58.796 us/op 0.33
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 9.3820 us/op 12.748 us/op 0.74
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 9.0710 us/op 9.1370 us/op 0.99
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 139.46 us/op 183.93 us/op 0.76
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2979 ms/op 1.9143 ms/op 0.68
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.6782 ms/op 2.7153 ms/op 0.62
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6653 ms/op 2.5468 ms/op 0.65
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.3783 ms/op 5.3894 ms/op 0.63
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.7078 ms/op 2.7605 ms/op 0.62
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.7576 ms/op 5.6659 ms/op 0.66
Tree 40 250000 create 336.17 ms/op 715.77 ms/op 0.47
Tree 40 250000 get(125000) 104.57 ns/op 149.93 ns/op 0.70
Tree 40 250000 set(125000) 1.1158 us/op 2.5014 us/op 0.45
Tree 40 250000 toArray() 12.667 ms/op 25.403 ms/op 0.50
Tree 40 250000 iterate all - toArray() + loop 12.681 ms/op 24.193 ms/op 0.52
Tree 40 250000 iterate all - get(i) 39.310 ms/op 62.088 ms/op 0.63
Array 250000 create 2.3675 ms/op 4.0119 ms/op 0.59
Array 250000 clone - spread 623.04 us/op 1.6689 ms/op 0.37
Array 250000 get(125000) 0.57200 ns/op 0.43900 ns/op 1.30
Array 250000 set(125000) 0.58500 ns/op 0.46000 ns/op 1.27
Array 250000 iterate all - loop 73.254 us/op 115.83 us/op 0.63
phase0 afterProcessEpoch - 250000 vs - 7PWei 38.233 ms/op 44.037 ms/op 0.87
Array.fill - length 1000000 2.4834 ms/op 5.8194 ms/op 0.43
Array push - length 1000000 9.4359 ms/op 20.631 ms/op 0.46
Array.get 0.24585 ns/op 0.28980 ns/op 0.85
Uint8Array.get 0.32188 ns/op 0.50269 ns/op 0.64
phase0 beforeProcessEpoch - 250000 vs - 7PWei 14.466 ms/op 29.353 ms/op 0.49
altair processEpoch - mainnet_e81889 275.88 ms/op 374.20 ms/op 0.74
mainnet_e81889 - altair beforeProcessEpoch 14.326 ms/op 25.782 ms/op 0.56
mainnet_e81889 - altair processJustificationAndFinalization 4.5370 us/op 6.4090 us/op 0.71
mainnet_e81889 - altair processInactivityUpdates 3.4727 ms/op 6.8648 ms/op 0.51
mainnet_e81889 - altair processRewardsAndPenalties 42.782 ms/op 44.521 ms/op 0.96
mainnet_e81889 - altair processRegistryUpdates 864.00 ns/op 1.1250 us/op 0.77
mainnet_e81889 - altair processSlashings 392.00 ns/op 242.00 ns/op 1.62
mainnet_e81889 - altair processEth1DataReset 407.00 ns/op 184.00 ns/op 2.21
mainnet_e81889 - altair processEffectiveBalanceUpdates 928.26 us/op 1.2844 ms/op 0.72
mainnet_e81889 - altair processSlashingsReset 1.1170 us/op 932.00 ns/op 1.20
mainnet_e81889 - altair processRandaoMixesReset 1.4750 us/op 1.3020 us/op 1.13
mainnet_e81889 - altair processHistoricalRootsUpdate 417.00 ns/op 189.00 ns/op 2.21
mainnet_e81889 - altair processParticipationFlagUpdates 701.00 ns/op 598.00 ns/op 1.17
mainnet_e81889 - altair processSyncCommitteeUpdates 366.00 ns/op 142.00 ns/op 2.58
mainnet_e81889 - altair afterProcessEpoch 40.142 ms/op 45.937 ms/op 0.87
capella processEpoch - mainnet_e217614 908.85 ms/op 906.16 ms/op 1.00
mainnet_e217614 - capella beforeProcessEpoch 57.758 ms/op 80.911 ms/op 0.71
mainnet_e217614 - capella processJustificationAndFinalization 4.5830 us/op 5.8660 us/op 0.78
mainnet_e217614 - capella processInactivityUpdates 11.496 ms/op 15.306 ms/op 0.75
mainnet_e217614 - capella processRewardsAndPenalties 220.59 ms/op 177.17 ms/op 1.25
mainnet_e217614 - capella processRegistryUpdates 8.0000 us/op 6.6520 us/op 1.20
mainnet_e217614 - capella processSlashings 405.00 ns/op 181.00 ns/op 2.24
mainnet_e217614 - capella processEth1DataReset 418.00 ns/op 178.00 ns/op 2.35
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.0548 ms/op 4.3528 ms/op 0.93
mainnet_e217614 - capella processSlashingsReset 1.2940 us/op 885.00 ns/op 1.46
mainnet_e217614 - capella processRandaoMixesReset 1.3980 us/op 1.1880 us/op 1.18
mainnet_e217614 - capella processHistoricalRootsUpdate 409.00 ns/op 181.00 ns/op 2.26
mainnet_e217614 - capella processParticipationFlagUpdates 707.00 ns/op 524.00 ns/op 1.35
mainnet_e217614 - capella afterProcessEpoch 104.26 ms/op 116.59 ms/op 0.89
phase0 processEpoch - mainnet_e58758 220.98 ms/op 302.19 ms/op 0.73
mainnet_e58758 - phase0 beforeProcessEpoch 60.232 ms/op 71.808 ms/op 0.84
mainnet_e58758 - phase0 processJustificationAndFinalization 4.5130 us/op 5.5380 us/op 0.81
mainnet_e58758 - phase0 processRewardsAndPenalties 26.908 ms/op 36.740 ms/op 0.73
mainnet_e58758 - phase0 processRegistryUpdates 2.7960 us/op 3.1780 us/op 0.88
mainnet_e58758 - phase0 processSlashings 414.00 ns/op 175.00 ns/op 2.37
mainnet_e58758 - phase0 processEth1DataReset 412.00 ns/op 174.00 ns/op 2.37
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0654 ms/op 1.1810 ms/op 0.90
mainnet_e58758 - phase0 processSlashingsReset 998.00 ns/op 941.00 ns/op 1.06
mainnet_e58758 - phase0 processRandaoMixesReset 1.2320 us/op 1.1380 us/op 1.08
mainnet_e58758 - phase0 processHistoricalRootsUpdate 416.00 ns/op 176.00 ns/op 2.36
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.4060 us/op 916.00 ns/op 1.53
mainnet_e58758 - phase0 afterProcessEpoch 34.378 ms/op 36.387 ms/op 0.94
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.1983 ms/op 1.3783 ms/op 0.87
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.3645 ms/op 2.5224 ms/op 0.54
altair processInactivityUpdates - 250000 normalcase 19.656 ms/op 17.446 ms/op 1.13
altair processInactivityUpdates - 250000 worstcase 17.467 ms/op 17.989 ms/op 0.97
phase0 processRegistryUpdates - 250000 normalcase 5.6020 us/op 6.7010 us/op 0.84
phase0 processRegistryUpdates - 250000 badcase_full_deposits 315.12 us/op 283.07 us/op 1.11
phase0 processRegistryUpdates - 250000 worstcase 0.5 106.91 ms/op 104.88 ms/op 1.02
altair processRewardsAndPenalties - 250000 normalcase 31.479 ms/op 26.227 ms/op 1.20
altair processRewardsAndPenalties - 250000 worstcase 27.108 ms/op 26.574 ms/op 1.02
phase0 getAttestationDeltas - 250000 normalcase 4.9554 ms/op 6.6794 ms/op 0.74
phase0 getAttestationDeltas - 250000 worstcase 4.9936 ms/op 6.1303 ms/op 0.81
phase0 processSlashings - 250000 worstcase 91.937 us/op 85.330 us/op 1.08
altair processSyncCommitteeUpdates - 250000 9.9094 ms/op 10.956 ms/op 0.90
BeaconState.hashTreeRoot - No change 437.00 ns/op 225.00 ns/op 1.94
BeaconState.hashTreeRoot - 1 full validator 78.735 us/op 79.152 us/op 0.99
BeaconState.hashTreeRoot - 32 full validator 912.03 us/op 805.06 us/op 1.13
BeaconState.hashTreeRoot - 512 full validator 10.325 ms/op 9.3770 ms/op 1.10
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 90.034 us/op 92.310 us/op 0.98
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.0816 ms/op 1.2776 ms/op 0.85
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 19.954 ms/op 19.759 ms/op 1.01
BeaconState.hashTreeRoot - 1 balances 69.356 us/op 71.351 us/op 0.97
BeaconState.hashTreeRoot - 32 balances 737.49 us/op 676.39 us/op 1.09
BeaconState.hashTreeRoot - 512 balances 5.6978 ms/op 7.5898 ms/op 0.75
BeaconState.hashTreeRoot - 250000 balances 167.88 ms/op 172.07 ms/op 0.98
aggregationBits - 2048 els - zipIndexesInBitList 17.337 us/op 21.743 us/op 0.80
byteArrayEquals 32 48.596 ns/op 56.040 ns/op 0.87
Buffer.compare 32 16.507 ns/op 16.897 ns/op 0.98
byteArrayEquals 1024 1.2897 us/op 1.5919 us/op 0.81
Buffer.compare 1024 25.567 ns/op 25.641 ns/op 1.00
byteArrayEquals 16384 20.492 us/op 25.283 us/op 0.81
Buffer.compare 16384 202.38 ns/op 198.57 ns/op 1.02
byteArrayEquals 123687377 154.84 ms/op 196.55 ms/op 0.79
Buffer.compare 123687377 5.5203 ms/op 7.8741 ms/op 0.70
byteArrayEquals 32 - diff last byte 48.786 ns/op 54.175 ns/op 0.90
Buffer.compare 32 - diff last byte 16.437 ns/op 17.644 ns/op 0.93
byteArrayEquals 1024 - diff last byte 1.3264 us/op 1.6403 us/op 0.81
Buffer.compare 1024 - diff last byte 24.143 ns/op 25.537 ns/op 0.95
byteArrayEquals 16384 - diff last byte 21.725 us/op 34.306 us/op 0.63
Buffer.compare 16384 - diff last byte 224.13 ns/op 209.37 ns/op 1.07
byteArrayEquals 123687377 - diff last byte 152.85 ms/op 197.49 ms/op 0.77
Buffer.compare 123687377 - diff last byte 6.4919 ms/op 8.5748 ms/op 0.76
byteArrayEquals 32 - random bytes 5.0750 ns/op 5.2840 ns/op 0.96
Buffer.compare 32 - random bytes 16.750 ns/op 17.764 ns/op 0.94
byteArrayEquals 1024 - random bytes 4.9530 ns/op 5.2890 ns/op 0.94
Buffer.compare 1024 - random bytes 16.685 ns/op 17.783 ns/op 0.94
byteArrayEquals 16384 - random bytes 4.9990 ns/op 5.2820 ns/op 0.95
Buffer.compare 16384 - random bytes 16.629 ns/op 17.841 ns/op 0.93
byteArrayEquals 123687377 - random bytes 7.9600 ns/op 6.5500 ns/op 1.22
Buffer.compare 123687377 - random bytes 19.300 ns/op 19.440 ns/op 0.99
regular array get 100000 times 31.275 us/op 45.607 us/op 0.69
wrappedArray get 100000 times 31.150 us/op 33.954 us/op 0.92
arrayWithProxy get 100000 times 9.5142 ms/op 12.542 ms/op 0.76
ssz.Root.equals 41.652 ns/op 47.768 ns/op 0.87
byteArrayEquals 44.026 ns/op 46.779 ns/op 0.94
Buffer.compare 9.6740 ns/op 10.690 ns/op 0.90
processSlot - 1 slots 8.9680 us/op 10.496 us/op 0.85
processSlot - 32 slots 1.7220 ms/op 2.0098 ms/op 0.86
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 2.2445 ms/op 3.2073 ms/op 0.70
getCommitteeAssignments - req 1 vs - 250000 vc 1.7961 ms/op 2.1764 ms/op 0.83
getCommitteeAssignments - req 100 vs - 250000 vc 3.5887 ms/op 4.1896 ms/op 0.86
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8073 ms/op 4.4624 ms/op 0.85
findModifiedValidators - 10000 modified validators 785.17 ms/op 759.97 ms/op 1.03
findModifiedValidators - 1000 modified validators 760.91 ms/op 739.78 ms/op 1.03
findModifiedValidators - 100 modified validators 192.19 ms/op 272.59 ms/op 0.71
findModifiedValidators - 10 modified validators 134.27 ms/op 183.19 ms/op 0.73
findModifiedValidators - 1 modified validators 184.47 ms/op 160.53 ms/op 1.15
findModifiedValidators - no difference 141.95 ms/op 181.25 ms/op 0.78
compare ViewDUs 6.6312 s/op 6.8109 s/op 0.97
compare each validator Uint8Array 1.4587 s/op 1.7799 s/op 0.82
compare ViewDU to Uint8Array 945.36 ms/op 1.2555 s/op 0.75
migrate state 1000000 validators, 24 modified, 0 new 809.29 ms/op 942.69 ms/op 0.86
migrate state 1000000 validators, 1700 modified, 1000 new 1.1686 s/op 1.1756 s/op 0.99
migrate state 1000000 validators, 3400 modified, 2000 new 1.1887 s/op 1.3645 s/op 0.87
migrate state 1500000 validators, 24 modified, 0 new 811.69 ms/op 897.58 ms/op 0.90
migrate state 1500000 validators, 1700 modified, 1000 new 1.0008 s/op 1.1118 s/op 0.90
migrate state 1500000 validators, 3400 modified, 2000 new 1.3006 s/op 1.4049 s/op 0.93
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.1300 ns/op 4.3600 ns/op 1.41
state getBlockRootAtSlot - 250000 vs - 7PWei 350.72 ns/op 598.56 ns/op 0.59
naive computeProposerIndex 100000 validators 46.124 ms/op 58.306 ms/op 0.79
computeProposerIndex 100000 validators 1.3013 ms/op 1.6236 ms/op 0.80
naiveGetNextSyncCommitteeIndices 1000 validators 5.9777 s/op 8.5937 s/op 0.70
getNextSyncCommitteeIndices 1000 validators 93.641 ms/op 125.81 ms/op 0.74
naiveGetNextSyncCommitteeIndices 10000 validators 6.3752 s/op 8.2337 s/op 0.77
getNextSyncCommitteeIndices 10000 validators 93.920 ms/op 125.22 ms/op 0.75
naiveGetNextSyncCommitteeIndices 100000 validators 6.1993 s/op 8.7529 s/op 0.71
getNextSyncCommitteeIndices 100000 validators 93.378 ms/op 132.73 ms/op 0.70
naive computeShuffledIndex 100000 validators 20.202 s/op 23.508 s/op 0.86
cached computeShuffledIndex 100000 validators 449.53 ms/op 545.83 ms/op 0.82
naive computeShuffledIndex 2000000 validators 402.59 s/op 487.46 s/op 0.83
cached computeShuffledIndex 2000000 validators 23.283 s/op 52.165 s/op 0.45
computeProposers - vc 250000 516.90 us/op 620.04 us/op 0.83
computeEpochShuffling - vc 250000 37.672 ms/op 43.794 ms/op 0.86
getNextSyncCommittee - vc 250000 9.1577 ms/op 11.433 ms/op 0.80
computeSigningRoot for AttestationData 17.132 us/op 27.749 us/op 0.62
hash AttestationData serialized data then Buffer.toString(base64) 1.1645 us/op 1.7226 us/op 0.68
toHexString serialized data 971.64 ns/op 1.4787 us/op 0.66
Buffer.toString(base64) 103.99 ns/op 138.69 ns/op 0.75
nodejs block root to RootHex using toHex 113.33 ns/op 141.15 ns/op 0.80
nodejs block root to RootHex using toRootHex 76.580 ns/op 90.233 ns/op 0.85
browser block root to RootHex using the deprecated toHexString 195.92 ns/op 224.03 ns/op 0.87
browser block root to RootHex using toHex 159.80 ns/op 175.10 ns/op 0.91
browser block root to RootHex using toRootHex 147.44 ns/op 164.63 ns/op 0.90

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 745ad69 into unstable Aug 13, 2025
17 of 21 checks passed
@wemeetagain wemeetagain deleted the cayman/reorg-log branch August 13, 2025 17:49
@wemeetagain
Copy link
Member Author

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

2 participants