Skip to content

chore: add logs to debug our PTC votes#9418

Draft
nflaig wants to merge 2 commits into
unstablefrom
nflaig/ptc-debug-logs
Draft

chore: add logs to debug our PTC votes#9418
nflaig wants to merge 2 commits into
unstablefrom
nflaig/ptc-debug-logs

Conversation

@nflaig
Copy link
Copy Markdown
Member

@nflaig nflaig commented May 28, 2026

No description provided.

@nflaig nflaig requested a review from a team as a code owner May 28, 2026 20:16
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds detailed logging for payload attestation data. It introduces a debug log in the validator API implementation containing various payload properties, and updates the info log in the PTC service to include 'payloadPresent' and 'blobDataAvailable' fields when publishing payload attestation messages. There are no review comments, and I have no feedback to provide.

@nflaig
Copy link
Copy Markdown
Member Author

nflaig commented May 28, 2026

I can update this PR once we merge #9406, otherwise it will conflict as we get rid of blockIsForSlot (which is good)

@nflaig nflaig marked this pull request as draft May 28, 2026 20:33
@github-actions
Copy link
Copy Markdown
Contributor

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: fa31685 Previous: 055b83c Ratio
phase0 getAttestationDeltas - 250000 worstcase 18.107 ms/op 5.7200 ms/op 3.17
Full benchmark results
Benchmark suite Current: fa31685 Previous: 055b83c Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 884.78 us/op 1.2316 ms/op 0.72
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 40.072 us/op 39.964 us/op 1.00
BLS verify - blst 711.40 us/op 631.51 us/op 1.13
BLS verifyMultipleSignatures 3 - blst 1.3876 ms/op 1.3022 ms/op 1.07
BLS verifyMultipleSignatures 8 - blst 2.1915 ms/op 2.0754 ms/op 1.06
BLS verifyMultipleSignatures 32 - blst 6.9972 ms/op 6.4593 ms/op 1.08
BLS verifyMultipleSignatures 64 - blst 14.056 ms/op 12.760 ms/op 1.10
BLS verifyMultipleSignatures 128 - blst 26.572 ms/op 25.005 ms/op 1.06
BLS deserializing 10000 signatures 652.07 ms/op 622.44 ms/op 1.05
BLS deserializing 100000 signatures 6.3648 s/op 6.2463 s/op 1.02
BLS verifyMultipleSignatures - same message - 3 - blst 808.18 us/op 769.41 us/op 1.05
BLS verifyMultipleSignatures - same message - 8 - blst 847.13 us/op 817.55 us/op 1.04
BLS verifyMultipleSignatures - same message - 32 - blst 1.5657 ms/op 1.4765 ms/op 1.06
BLS verifyMultipleSignatures - same message - 64 - blst 2.3055 ms/op 2.2342 ms/op 1.03
BLS verifyMultipleSignatures - same message - 128 - blst 3.8952 ms/op 3.9335 ms/op 0.99
BLS aggregatePubkeys 32 - blst 17.075 us/op 17.595 us/op 0.97
BLS aggregatePubkeys 128 - blst 60.541 us/op 62.686 us/op 0.97
getSlashingsAndExits - default max 49.211 us/op 50.722 us/op 0.97
getSlashingsAndExits - 2k 343.65 us/op 413.55 us/op 0.83
proposeBlockBody type=full, size=empty 630.76 us/op 1.3840 ms/op 0.46
isKnown best case - 1 super set check 168.00 ns/op 183.00 ns/op 0.92
isKnown normal case - 2 super set checks 168.00 ns/op 176.00 ns/op 0.95
isKnown worse case - 16 super set checks 170.00 ns/op 181.00 ns/op 0.94
validate api signedAggregateAndProof - struct 1.5331 ms/op 1.4431 ms/op 1.06
validate gossip signedAggregateAndProof - struct 1.5233 ms/op 1.4392 ms/op 1.06
batch validate gossip attestation - vc 640000 - chunk 32 102.36 us/op 102.42 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 64 90.106 us/op 90.380 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 128 86.527 us/op 84.996 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 256 82.713 us/op 81.971 us/op 1.01
bytes32 toHexString 288.00 ns/op 293.00 ns/op 0.98
bytes32 Buffer.toString(hex) 168.00 ns/op 182.00 ns/op 0.92
bytes32 Buffer.toString(hex) from Uint8Array 234.00 ns/op 242.00 ns/op 0.97
bytes32 Buffer.toString(hex) + 0x 167.00 ns/op 186.00 ns/op 0.90
Return object 10000 times 0.21910 ns/op 0.21120 ns/op 1.04
Throw Error 10000 times 3.3259 us/op 3.1587 us/op 1.05
toHex 93.752 ns/op 85.446 ns/op 1.10
Buffer.from 82.430 ns/op 78.804 ns/op 1.05
shared Buffer 55.168 ns/op 49.846 ns/op 1.11
fastMsgIdFn sha256 / 200 bytes 1.4900 us/op 1.4250 us/op 1.05
fastMsgIdFn h32 xxhash / 200 bytes 158.00 ns/op 172.00 ns/op 0.92
fastMsgIdFn h64 xxhash / 200 bytes 205.00 ns/op 213.00 ns/op 0.96
fastMsgIdFn sha256 / 1000 bytes 4.8050 us/op 4.5640 us/op 1.05
fastMsgIdFn h32 xxhash / 1000 bytes 248.00 ns/op 257.00 ns/op 0.96
fastMsgIdFn h64 xxhash / 1000 bytes 249.00 ns/op 258.00 ns/op 0.97
fastMsgIdFn sha256 / 10000 bytes 42.510 us/op 40.351 us/op 1.05
fastMsgIdFn h32 xxhash / 10000 bytes 1.2750 us/op 1.2580 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 825.00 ns/op 813.00 ns/op 1.01
send data - 1000 256B messages 4.0293 ms/op 4.2977 ms/op 0.94
send data - 1000 512B messages 4.2023 ms/op 4.5096 ms/op 0.93
send data - 1000 1024B messages 4.3737 ms/op 4.5447 ms/op 0.96
send data - 1000 1200B messages 4.6681 ms/op 4.9802 ms/op 0.94
send data - 1000 2048B messages 5.2637 ms/op 5.0919 ms/op 1.03
send data - 1000 4096B messages 5.6398 ms/op 6.2954 ms/op 0.90
send data - 1000 16384B messages 21.025 ms/op 36.593 ms/op 0.57
send data - 1000 65536B messages 195.72 ms/op 133.56 ms/op 1.47
enrSubnets - fastDeserialize 64 bits 715.00 ns/op 722.00 ns/op 0.99
enrSubnets - ssz BitVector 64 bits 265.00 ns/op 280.00 ns/op 0.95
enrSubnets - fastDeserialize 4 bits 96.000 ns/op 125.00 ns/op 0.77
enrSubnets - ssz BitVector 4 bits 242.00 ns/op 277.00 ns/op 0.87
prioritizePeers score -10:0 att 32-0.1 sync 2-0 206.37 us/op 199.66 us/op 1.03
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 237.02 us/op 239.16 us/op 0.99
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 365.03 us/op 338.31 us/op 1.08
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 624.13 us/op 592.93 us/op 1.05
prioritizePeers score 0:0 att 64-1 sync 4-1 711.70 us/op 688.19 us/op 1.03
array of 16000 items push then shift 1.3086 us/op 1.2257 us/op 1.07
LinkedList of 16000 items push then shift 7.2790 ns/op 7.2080 ns/op 1.01
array of 16000 items push then pop 65.826 ns/op 67.899 ns/op 0.97
LinkedList of 16000 items push then pop 6.0580 ns/op 5.7240 ns/op 1.06
array of 24000 items push then shift 1.9425 us/op 1.7490 us/op 1.11
LinkedList of 24000 items push then shift 6.8880 ns/op 7.0570 ns/op 0.98
array of 24000 items push then pop 93.785 ns/op 92.525 ns/op 1.01
LinkedList of 24000 items push then pop 5.9260 ns/op 5.7870 ns/op 1.02
intersect bitArray bitLen 8 4.6620 ns/op 4.5530 ns/op 1.02
intersect array and set length 8 28.865 ns/op 27.913 ns/op 1.03
intersect bitArray bitLen 128 23.516 ns/op 22.821 ns/op 1.03
intersect array and set length 128 510.54 ns/op 468.07 ns/op 1.09
bitArray.getTrueBitIndexes() bitLen 128 1.0330 us/op 950.00 ns/op 1.09
bitArray.getTrueBitIndexes() bitLen 248 1.7640 us/op 1.7010 us/op 1.04
bitArray.getTrueBitIndexes() bitLen 512 3.6120 us/op 3.4940 us/op 1.03
Full columns - reconstruct all 6 blobs 111.85 us/op 153.75 us/op 0.73
Full columns - reconstruct half of the blobs out of 6 64.550 us/op 92.647 us/op 0.70
Full columns - reconstruct single blob out of 6 33.690 us/op 45.862 us/op 0.73
Half columns - reconstruct all 6 blobs 385.62 ms/op 374.10 ms/op 1.03
Half columns - reconstruct half of the blobs out of 6 192.76 ms/op 186.64 ms/op 1.03
Half columns - reconstruct single blob out of 6 69.637 ms/op 67.360 ms/op 1.03
Full columns - reconstruct all 10 blobs 577.38 us/op 413.21 us/op 1.40
Full columns - reconstruct half of the blobs out of 10 92.487 us/op 145.45 us/op 0.64
Full columns - reconstruct single blob out of 10 32.151 us/op 44.638 us/op 0.72
Half columns - reconstruct all 10 blobs 635.37 ms/op 611.04 ms/op 1.04
Half columns - reconstruct half of the blobs out of 10 321.86 ms/op 308.57 ms/op 1.04
Half columns - reconstruct single blob out of 10 69.075 ms/op 65.880 ms/op 1.05
Full columns - reconstruct all 20 blobs 1.8862 ms/op 1.2830 ms/op 1.47
Full columns - reconstruct half of the blobs out of 20 166.81 us/op 399.63 us/op 0.42
Full columns - reconstruct single blob out of 20 30.842 us/op 46.565 us/op 0.66
Half columns - reconstruct all 20 blobs 1.2726 s/op 1.2174 s/op 1.05
Half columns - reconstruct half of the blobs out of 20 638.57 ms/op 620.07 ms/op 1.03
Half columns - reconstruct single blob out of 20 68.130 ms/op 67.167 ms/op 1.01
Set add up to 64 items then delete first 2.3505 us/op 2.0953 us/op 1.12
OrderedSet add up to 64 items then delete first 3.2041 us/op 3.3650 us/op 0.95
Set add up to 64 items then delete last 2.2973 us/op 2.0812 us/op 1.10
OrderedSet add up to 64 items then delete last 3.2327 us/op 3.2339 us/op 1.00
Set add up to 64 items then delete middle 1.9977 us/op 2.0834 us/op 0.96
OrderedSet add up to 64 items then delete middle 4.6448 us/op 4.6924 us/op 0.99
Set add up to 128 items then delete first 3.8438 us/op 4.1235 us/op 0.93
OrderedSet add up to 128 items then delete first 5.7551 us/op 6.2335 us/op 0.92
Set add up to 128 items then delete last 3.6358 us/op 3.7311 us/op 0.97
OrderedSet add up to 128 items then delete last 5.5875 us/op 5.7445 us/op 0.97
Set add up to 128 items then delete middle 3.6759 us/op 3.7094 us/op 0.99
OrderedSet add up to 128 items then delete middle 11.326 us/op 11.264 us/op 1.01
Set add up to 256 items then delete first 7.1769 us/op 7.7145 us/op 0.93
OrderedSet add up to 256 items then delete first 11.000 us/op 12.072 us/op 0.91
Set add up to 256 items then delete last 7.1951 us/op 7.5534 us/op 0.95
OrderedSet add up to 256 items then delete last 11.274 us/op 11.639 us/op 0.97
Set add up to 256 items then delete middle 7.2130 us/op 7.5265 us/op 0.96
OrderedSet add up to 256 items then delete middle 33.613 us/op 35.472 us/op 0.95
pass gossip attestations to forkchoice per slot 2.5480 ms/op 2.5360 ms/op 1.00
forkChoice updateHead vc 100000 bc 64 eq 0 424.20 us/op 381.97 us/op 1.11
forkChoice updateHead vc 600000 bc 64 eq 0 2.4283 ms/op 2.3104 ms/op 1.05
forkChoice updateHead vc 1000000 bc 64 eq 0 4.1282 ms/op 3.8110 ms/op 1.08
forkChoice updateHead vc 600000 bc 320 eq 0 2.4692 ms/op 2.3005 ms/op 1.07
forkChoice updateHead vc 600000 bc 1200 eq 0 2.5021 ms/op 2.3596 ms/op 1.06
forkChoice updateHead vc 600000 bc 7200 eq 0 2.5292 ms/op 3.0623 ms/op 0.83
forkChoice updateHead vc 600000 bc 64 eq 1000 2.7660 ms/op 2.8193 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 10000 2.9096 ms/op 2.9238 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 300000 7.2034 ms/op 7.0660 ms/op 1.02
computeDeltas 1400000 validators 0% inactive 11.959 ms/op 12.144 ms/op 0.98
computeDeltas 1400000 validators 10% inactive 11.178 ms/op 11.500 ms/op 0.97
computeDeltas 1400000 validators 20% inactive 10.137 ms/op 10.374 ms/op 0.98
computeDeltas 1400000 validators 50% inactive 7.9864 ms/op 8.0421 ms/op 0.99
computeDeltas 2100000 validators 0% inactive 18.255 ms/op 18.344 ms/op 1.00
computeDeltas 2100000 validators 10% inactive 17.038 ms/op 17.380 ms/op 0.98
computeDeltas 2100000 validators 20% inactive 15.312 ms/op 15.741 ms/op 0.97
computeDeltas 2100000 validators 50% inactive 11.762 ms/op 12.084 ms/op 0.97
altair processAttestation - 250000 vs - 7PWei normalcase 1.6950 ms/op 2.4130 ms/op 0.70
altair processAttestation - 250000 vs - 7PWei worstcase 2.4686 ms/op 3.1243 ms/op 0.79
altair processAttestation - setStatus - 1/6 committees join 101.37 us/op 102.60 us/op 0.99
altair processAttestation - setStatus - 1/3 committees join 194.54 us/op 194.05 us/op 1.00
altair processAttestation - setStatus - 1/2 committees join 261.76 us/op 283.11 us/op 0.92
altair processAttestation - setStatus - 2/3 committees join 355.90 us/op 372.26 us/op 0.96
altair processAttestation - setStatus - 4/5 committees join 482.23 us/op 518.13 us/op 0.93
altair processAttestation - setStatus - 100% committees join 597.38 us/op 608.20 us/op 0.98
altair processBlock - 250000 vs - 7PWei normalcase 2.9070 ms/op 4.6656 ms/op 0.62
altair processBlock - 250000 vs - 7PWei normalcase hashState 17.897 ms/op 17.304 ms/op 1.03
altair processBlock - 250000 vs - 7PWei worstcase 20.510 ms/op 23.217 ms/op 0.88
altair processBlock - 250000 vs - 7PWei worstcase hashState 39.008 ms/op 44.666 ms/op 0.87
phase0 processBlock - 250000 vs - 7PWei normalcase 1.4317 ms/op 1.4480 ms/op 0.99
phase0 processBlock - 250000 vs - 7PWei worstcase 17.486 ms/op 18.563 ms/op 0.94
altair processEth1Data - 250000 vs - 7PWei normalcase 303.82 us/op 295.68 us/op 1.03
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:16 3.4140 us/op 4.8060 us/op 0.71
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:220 20.928 us/op 22.411 us/op 0.93
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:43 5.3980 us/op 6.5290 us/op 0.83
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:19 5.5000 us/op 3.5970 us/op 1.53
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1021 96.083 us/op 95.605 us/op 1.00
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11778 1.3661 ms/op 1.3912 ms/op 0.98
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7091 ms/op 1.8882 ms/op 0.91
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7388 ms/op 2.0611 ms/op 0.84
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.5310 ms/op 4.6547 ms/op 0.76
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.9462 ms/op 2.4420 ms/op 0.80
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.7397 ms/op 5.5234 ms/op 0.68
Tree 40 250000 create 378.49 ms/op 373.08 ms/op 1.01
Tree 40 250000 get(125000) 100.35 ns/op 93.936 ns/op 1.07
Tree 40 250000 set(125000) 1.0306 us/op 1.2366 us/op 0.83
Tree 40 250000 toArray() 9.1354 ms/op 22.739 ms/op 0.40
Tree 40 250000 iterate all - toArray() + loop 9.2238 ms/op 21.597 ms/op 0.43
Tree 40 250000 iterate all - get(i) 35.173 ms/op 43.778 ms/op 0.80
Array 250000 create 2.0134 ms/op 2.3962 ms/op 0.84
Array 250000 clone - spread 651.43 us/op 748.31 us/op 0.87
Array 250000 get(125000) 0.30400 ns/op 0.30300 ns/op 1.00
Array 250000 set(125000) 0.30600 ns/op 0.30300 ns/op 1.01
Array 250000 iterate all - loop 57.671 us/op 58.726 us/op 0.98
phase0 afterProcessEpoch - 250000 vs - 7PWei 38.854 ms/op 39.730 ms/op 0.98
Array.fill - length 1000000 2.0327 ms/op 2.2044 ms/op 0.92
Array push - length 1000000 7.1900 ms/op 10.594 ms/op 0.68
Array.get 0.20733 ns/op 0.21668 ns/op 0.96
Uint8Array.get 0.23047 ns/op 0.24626 ns/op 0.94
phase0 beforeProcessEpoch - 250000 vs - 7PWei 12.924 ms/op 22.677 ms/op 0.57
altair processEpoch - mainnet_e81889 321.17 ms/op 326.33 ms/op 0.98
mainnet_e81889 - altair beforeProcessEpoch 19.375 ms/op 46.306 ms/op 0.42
mainnet_e81889 - altair processJustificationAndFinalization 7.1840 us/op 7.4960 us/op 0.96
mainnet_e81889 - altair processInactivityUpdates 3.5021 ms/op 8.0634 ms/op 0.43
mainnet_e81889 - altair processRewardsAndPenalties 18.228 ms/op 22.556 ms/op 0.81
mainnet_e81889 - altair processRegistryUpdates 585.00 ns/op 609.00 ns/op 0.96
mainnet_e81889 - altair processSlashings 131.00 ns/op 137.00 ns/op 0.96
mainnet_e81889 - altair processEth1DataReset 126.00 ns/op 138.00 ns/op 0.91
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6680 ms/op 7.6145 ms/op 0.22
mainnet_e81889 - altair processSlashingsReset 667.00 ns/op 769.00 ns/op 0.87
mainnet_e81889 - altair processRandaoMixesReset 1.3180 us/op 1.6310 us/op 0.81
mainnet_e81889 - altair processHistoricalRootsUpdate 126.00 ns/op 139.00 ns/op 0.91
mainnet_e81889 - altair processParticipationFlagUpdates 431.00 ns/op 522.00 ns/op 0.83
mainnet_e81889 - altair processSyncCommitteeUpdates 106.00 ns/op 114.00 ns/op 0.93
mainnet_e81889 - altair afterProcessEpoch 40.917 ms/op 42.930 ms/op 0.95
capella processEpoch - mainnet_e217614 961.78 ms/op 883.70 ms/op 1.09
mainnet_e217614 - capella beforeProcessEpoch 62.404 ms/op 62.156 ms/op 1.00
mainnet_e217614 - capella processJustificationAndFinalization 6.4940 us/op 6.7050 us/op 0.97
mainnet_e217614 - capella processInactivityUpdates 14.714 ms/op 15.007 ms/op 0.98
mainnet_e217614 - capella processRewardsAndPenalties 98.647 ms/op 92.188 ms/op 1.07
mainnet_e217614 - capella processRegistryUpdates 4.5960 us/op 4.6520 us/op 0.99
mainnet_e217614 - capella processSlashings 131.00 ns/op 134.00 ns/op 0.98
mainnet_e217614 - capella processEth1DataReset 124.00 ns/op 133.00 ns/op 0.93
mainnet_e217614 - capella processEffectiveBalanceUpdates 12.262 ms/op 19.639 ms/op 0.62
mainnet_e217614 - capella processSlashingsReset 682.00 ns/op 707.00 ns/op 0.96
mainnet_e217614 - capella processRandaoMixesReset 1.3340 us/op 1.4100 us/op 0.95
mainnet_e217614 - capella processHistoricalRootsUpdate 134.00 ns/op 137.00 ns/op 0.98
mainnet_e217614 - capella processParticipationFlagUpdates 420.00 ns/op 450.00 ns/op 0.93
mainnet_e217614 - capella afterProcessEpoch 109.22 ms/op 111.52 ms/op 0.98
phase0 processEpoch - mainnet_e58758 298.21 ms/op 333.50 ms/op 0.89
mainnet_e58758 - phase0 beforeProcessEpoch 55.270 ms/op 90.479 ms/op 0.61
mainnet_e58758 - phase0 processJustificationAndFinalization 5.7540 us/op 7.0690 us/op 0.81
mainnet_e58758 - phase0 processRewardsAndPenalties 15.633 ms/op 17.449 ms/op 0.90
mainnet_e58758 - phase0 processRegistryUpdates 2.2920 us/op 2.3870 us/op 0.96
mainnet_e58758 - phase0 processSlashings 344.00 ns/op 135.00 ns/op 2.55
mainnet_e58758 - phase0 processEth1DataReset 126.00 ns/op 132.00 ns/op 0.95
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 794.18 us/op 1.1528 ms/op 0.69
mainnet_e58758 - phase0 processSlashingsReset 859.00 ns/op 983.00 ns/op 0.87
mainnet_e58758 - phase0 processRandaoMixesReset 1.3290 us/op 1.4670 us/op 0.91
mainnet_e58758 - phase0 processHistoricalRootsUpdate 133.00 ns/op 136.00 ns/op 0.98
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.1840 us/op 1.3610 us/op 0.87
mainnet_e58758 - phase0 afterProcessEpoch 33.765 ms/op 34.387 ms/op 0.98
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2646 ms/op 1.0286 ms/op 1.23
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4939 ms/op 1.5968 ms/op 0.94
altair processInactivityUpdates - 250000 normalcase 10.201 ms/op 13.512 ms/op 0.75
altair processInactivityUpdates - 250000 worstcase 10.701 ms/op 13.022 ms/op 0.82
phase0 processRegistryUpdates - 250000 normalcase 2.3350 us/op 2.5010 us/op 0.93
phase0 processRegistryUpdates - 250000 badcase_full_deposits 150.71 us/op 146.24 us/op 1.03
phase0 processRegistryUpdates - 250000 worstcase 0.5 49.992 ms/op 76.903 ms/op 0.65
altair processRewardsAndPenalties - 250000 normalcase 13.454 ms/op 16.425 ms/op 0.82
altair processRewardsAndPenalties - 250000 worstcase 13.233 ms/op 15.571 ms/op 0.85
phase0 getAttestationDeltas - 250000 normalcase 5.5459 ms/op 5.5228 ms/op 1.00
phase0 getAttestationDeltas - 250000 worstcase 18.107 ms/op 5.7200 ms/op 3.17
phase0 processSlashings - 250000 worstcase 56.735 us/op 66.197 us/op 0.86
altair processSyncCommitteeUpdates - 250000 10.256 ms/op 12.932 ms/op 0.79
BeaconState.hashTreeRoot - No change 170.00 ns/op 173.00 ns/op 0.98
BeaconState.hashTreeRoot - 1 full validator 77.515 us/op 85.562 us/op 0.91
BeaconState.hashTreeRoot - 32 full validator 1.0605 ms/op 1.0037 ms/op 1.06
BeaconState.hashTreeRoot - 512 full validator 7.2598 ms/op 9.5720 ms/op 0.76
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 95.421 us/op 118.92 us/op 0.80
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.4018 ms/op 1.6583 ms/op 0.85
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 22.894 ms/op 23.333 ms/op 0.98
BeaconState.hashTreeRoot - 1 balances 79.238 us/op 91.758 us/op 0.86
BeaconState.hashTreeRoot - 32 balances 816.48 us/op 819.91 us/op 1.00
BeaconState.hashTreeRoot - 512 balances 6.3037 ms/op 6.7511 ms/op 0.93
BeaconState.hashTreeRoot - 250000 balances 187.71 ms/op 150.60 ms/op 1.25
aggregationBits - 2048 els - zipIndexesInBitList 18.514 us/op 21.243 us/op 0.87
regular array get 100000 times 23.094 us/op 22.619 us/op 1.02
wrappedArray get 100000 times 23.094 us/op 22.987 us/op 1.00
arrayWithProxy get 100000 times 17.971 ms/op 9.7791 ms/op 1.84
ssz.Root.equals 73.482 ns/op 21.420 ns/op 3.43
byteArrayEquals 20.522 ns/op 21.603 ns/op 0.95
Buffer.compare 8.3900 ns/op 9.0280 ns/op 0.93
processSlot - 1 slots 9.8750 us/op 11.127 us/op 0.89
processSlot - 32 slots 1.9462 ms/op 2.3437 ms/op 0.83
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 2.9195 ms/op 4.4363 ms/op 0.66
getCommitteeAssignments - req 1 vs - 250000 vc 1.6809 ms/op 1.7161 ms/op 0.98
getCommitteeAssignments - req 100 vs - 250000 vc 3.4747 ms/op 3.4914 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7444 ms/op 3.7370 ms/op 1.00
findModifiedValidators - 10000 modified validators 661.38 ms/op 748.86 ms/op 0.88
findModifiedValidators - 1000 modified validators 412.86 ms/op 478.97 ms/op 0.86
findModifiedValidators - 100 modified validators 236.21 ms/op 303.68 ms/op 0.78
findModifiedValidators - 10 modified validators 206.91 ms/op 248.91 ms/op 0.83
findModifiedValidators - 1 modified validators 151.71 ms/op 183.92 ms/op 0.82
findModifiedValidators - no difference 135.30 ms/op 195.00 ms/op 0.69
migrate state 1500000 validators, 3400 modified, 2000 new 3.7119 s/op 3.0888 s/op 1.20
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 3.9900 ns/op 3.7700 ns/op 1.06
state getBlockRootAtSlot - 250000 vs - 7PWei 369.21 ns/op 419.79 ns/op 0.88
computeProposerIndex 100000 validators 1.3939 ms/op 1.3722 ms/op 1.02
getNextSyncCommitteeIndices 1000 validators 2.9667 ms/op 2.9130 ms/op 1.02
getNextSyncCommitteeIndices 10000 validators 26.186 ms/op 25.668 ms/op 1.02
getNextSyncCommitteeIndices 100000 validators 89.201 ms/op 85.798 ms/op 1.04
computeProposers - vc 250000 553.56 us/op 564.89 us/op 0.98
computeEpochShuffling - vc 250000 40.831 ms/op 39.305 ms/op 1.04
getNextSyncCommittee - vc 250000 9.5427 ms/op 9.7199 ms/op 0.98
nodejs block root to RootHex using toHex 91.274 ns/op 93.099 ns/op 0.98
nodejs block root to RootHex using toRootHex 55.815 ns/op 51.670 ns/op 1.08
nodejs fromHex(blob) 824.72 us/op 746.07 us/op 1.11
nodejs fromHexInto(blob) 640.71 us/op 620.50 us/op 1.03
nodejs block root to RootHex using the deprecated toHexString 488.48 ns/op 561.70 ns/op 0.87
nodejs byteArrayEquals 32 bytes (block root) 26.287 ns/op 26.084 ns/op 1.01
nodejs byteArrayEquals 48 bytes (pubkey) 38.111 ns/op 37.520 ns/op 1.02
nodejs byteArrayEquals 96 bytes (signature) 36.178 ns/op 34.023 ns/op 1.06
nodejs byteArrayEquals 1024 bytes 44.634 ns/op 41.083 ns/op 1.09
nodejs byteArrayEquals 131072 bytes (blob) 1.7576 us/op 1.7400 us/op 1.01
browser block root to RootHex using toHex 146.78 ns/op 142.55 ns/op 1.03
browser block root to RootHex using toRootHex 131.27 ns/op 130.72 ns/op 1.00
browser fromHex(blob) 1.6439 ms/op 1.5133 ms/op 1.09
browser fromHexInto(blob) 603.44 us/op 619.50 us/op 0.97
browser block root to RootHex using the deprecated toHexString 321.86 ns/op 363.12 ns/op 0.89
browser byteArrayEquals 32 bytes (block root) 27.548 ns/op 27.304 ns/op 1.01
browser byteArrayEquals 48 bytes (pubkey) 39.402 ns/op 38.586 ns/op 1.02
browser byteArrayEquals 96 bytes (signature) 71.519 ns/op 72.406 ns/op 0.99
browser byteArrayEquals 1024 bytes 742.72 ns/op 738.88 ns/op 1.01
browser byteArrayEquals 131072 bytes (blob) 91.413 us/op 92.051 us/op 0.99

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.

2 participants