lodestar icon indicating copy to clipboard operation
lodestar copied to clipboard

chore: update query for `attestations_per_committee` metric

Open nflaig opened this issue 7 months ago • 4 comments

Motivation

Attestations per committee metric lodestar_oppool_aggregated_attestation_pool_attestations_per_committee is not displayed currently as it's a histogram. See previous https://github.com/ChainSafe/lodestar/pull/7900 changes.

Description

Update query for attestations_per_committee metric image

Depends on https://github.com/ChainSafe/lodestar/pull/7922

nflaig avatar Jun 05 '25 20:06 nflaig

@twoeths what do you think about moving the "Aggregated Attestation Pool" row a bit further down in the dashboard?

nflaig avatar Jun 05 '25 20:06 nflaig

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 55.74%. Comparing base (d10eb2f) to head (2f596f4). Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7923   +/-   ##
=========================================
  Coverage     55.74%   55.74%           
=========================================
  Files           833      833           
  Lines         59383    59383           
  Branches       4580     4581    +1     
=========================================
  Hits          33102    33102           
  Misses        26214    26214           
  Partials         67       67           
:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Jun 05 '25 21:06 codecov[bot]

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 1010edfa7c7a128c7c9507b4c44953938b2be066 Previous: d10eb2f74bc386b8ce9ec546ef3478c1281786f6 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.2036 ms/op 992.66 us/op 1.21
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 41.264 us/op 37.311 us/op 1.11
BLS verify - blst 1.0411 ms/op 884.09 us/op 1.18
BLS verifyMultipleSignatures 3 - blst 1.3830 ms/op 1.5742 ms/op 0.88
BLS verifyMultipleSignatures 8 - blst 2.2967 ms/op 1.7271 ms/op 1.33
BLS verifyMultipleSignatures 32 - blst 6.1546 ms/op 5.0065 ms/op 1.23
BLS verifyMultipleSignatures 64 - blst 11.758 ms/op 9.2382 ms/op 1.27
BLS verifyMultipleSignatures 128 - blst 18.912 ms/op 17.649 ms/op 1.07
BLS deserializing 10000 signatures 757.67 ms/op 710.27 ms/op 1.07
BLS deserializing 100000 signatures 7.5601 s/op 7.0998 s/op 1.06
BLS verifyMultipleSignatures - same message - 3 - blst 1.0306 ms/op 950.90 us/op 1.08
BLS verifyMultipleSignatures - same message - 8 - blst 1.1524 ms/op 1.0322 ms/op 1.12
BLS verifyMultipleSignatures - same message - 32 - blst 2.0222 ms/op 1.8246 ms/op 1.11
BLS verifyMultipleSignatures - same message - 64 - blst 2.8776 ms/op 2.7470 ms/op 1.05
BLS verifyMultipleSignatures - same message - 128 - blst 4.5636 ms/op 4.6239 ms/op 0.99
BLS aggregatePubkeys 32 - blst 20.091 us/op 20.368 us/op 0.99
BLS aggregatePubkeys 128 - blst 72.785 us/op 72.959 us/op 1.00
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 67.217 ms/op 47.980 ms/op 1.40
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 61.055 ms/op 47.140 ms/op 1.30
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 47.630 ms/op 36.584 ms/op 1.30
getSlashingsAndExits - default max 83.715 us/op 73.752 us/op 1.14
getSlashingsAndExits - 2k 403.97 us/op 358.18 us/op 1.13
proposeBlockBody type=full, size=empty 5.8822 ms/op 8.2784 ms/op 0.71
isKnown best case - 1 super set check 230.00 ns/op 233.00 ns/op 0.99
isKnown normal case - 2 super set checks 223.00 ns/op 224.00 ns/op 1.00
isKnown worse case - 16 super set checks 224.00 ns/op 221.00 ns/op 1.01
InMemoryCheckpointStateCache - add get delete 2.5640 us/op 2.4160 us/op 1.06
validate api signedAggregateAndProof - struct 1.5288 ms/op 1.7015 ms/op 0.90
validate gossip signedAggregateAndProof - struct 1.9047 ms/op 1.8565 ms/op 1.03
batch validate gossip attestation - vc 640000 - chunk 32 129.77 us/op 135.18 us/op 0.96
batch validate gossip attestation - vc 640000 - chunk 64 107.48 us/op 113.48 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 128 101.94 us/op 106.18 us/op 0.96
batch validate gossip attestation - vc 640000 - chunk 256 107.41 us/op 112.98 us/op 0.95
pickEth1Vote - no votes 978.13 us/op 1.0774 ms/op 0.91
pickEth1Vote - max votes 7.3443 ms/op 9.0209 ms/op 0.81
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.637 ms/op 14.240 ms/op 0.89
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.779 ms/op 24.405 ms/op 0.85
pickEth1Vote - Eth1Data fastSerialize value x2048 437.93 us/op 474.74 us/op 0.92
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.3714 ms/op 3.6640 ms/op 1.19
bytes32 toHexString 385.00 ns/op 399.00 ns/op 0.96
bytes32 Buffer.toString(hex) 268.00 ns/op 264.00 ns/op 1.02
bytes32 Buffer.toString(hex) from Uint8Array 456.00 ns/op 360.00 ns/op 1.27
bytes32 Buffer.toString(hex) + 0x 253.00 ns/op 269.00 ns/op 0.94
Object access 1 prop 0.13500 ns/op 0.12700 ns/op 1.06
Map access 1 prop 0.13000 ns/op 0.13400 ns/op 0.97
Object get x1000 6.4010 ns/op 6.4100 ns/op 1.00
Map get x1000 6.7290 ns/op 6.8840 ns/op 0.98
Object set x1000 29.906 ns/op 34.669 ns/op 0.86
Map set x1000 20.325 ns/op 23.389 ns/op 0.87
Return object 10000 times 0.29110 ns/op 0.30950 ns/op 0.94
Throw Error 10000 times 4.5341 us/op 4.6697 us/op 0.97
toHex 144.51 ns/op 137.82 ns/op 1.05
Buffer.from 127.54 ns/op 130.94 ns/op 0.97
shared Buffer 86.574 ns/op 99.414 ns/op 0.87
fastMsgIdFn sha256 / 200 bytes 2.2370 us/op 2.3010 us/op 0.97
fastMsgIdFn h32 xxhash / 200 bytes 214.00 ns/op 221.00 ns/op 0.97
fastMsgIdFn h64 xxhash / 200 bytes 268.00 ns/op 283.00 ns/op 0.95
fastMsgIdFn sha256 / 1000 bytes 7.2470 us/op 7.5680 us/op 0.96
fastMsgIdFn h32 xxhash / 1000 bytes 340.00 ns/op 358.00 ns/op 0.95
fastMsgIdFn h64 xxhash / 1000 bytes 336.00 ns/op 360.00 ns/op 0.93
fastMsgIdFn sha256 / 10000 bytes 64.740 us/op 69.567 us/op 0.93
fastMsgIdFn h32 xxhash / 10000 bytes 1.8350 us/op 1.9580 us/op 0.94
fastMsgIdFn h64 xxhash / 10000 bytes 1.2070 us/op 1.2940 us/op 0.93
send data - 1000 256B messages 12.416 ms/op 15.132 ms/op 0.82
send data - 1000 512B messages 16.501 ms/op 23.394 ms/op 0.71
send data - 1000 1024B messages 26.870 ms/op 29.977 ms/op 0.90
send data - 1000 1200B messages 20.949 ms/op 27.636 ms/op 0.76
send data - 1000 2048B messages 22.139 ms/op 27.013 ms/op 0.82
send data - 1000 4096B messages 26.856 ms/op 31.688 ms/op 0.85
send data - 1000 16384B messages 52.875 ms/op 78.971 ms/op 0.67
send data - 1000 65536B messages 219.30 ms/op 276.34 ms/op 0.79
enrSubnets - fastDeserialize 64 bits 885.00 ns/op 1.9740 us/op 0.45
enrSubnets - ssz BitVector 64 bits 323.00 ns/op 381.00 ns/op 0.85
enrSubnets - fastDeserialize 4 bits 126.00 ns/op 135.00 ns/op 0.93
enrSubnets - ssz BitVector 4 bits 409.00 ns/op 373.00 ns/op 1.10
prioritizePeers score -10:0 att 32-0.1 sync 2-0 119.94 us/op 130.05 us/op 0.92
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 137.06 us/op 153.29 us/op 0.89
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 195.98 us/op 226.95 us/op 0.86
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 366.52 us/op 415.25 us/op 0.88
prioritizePeers score 0:0 att 64-1 sync 4-1 445.87 us/op 500.68 us/op 0.89
array of 16000 items push then shift 1.5655 us/op 1.7418 us/op 0.90
LinkedList of 16000 items push then shift 6.7290 ns/op 9.0440 ns/op 0.74
array of 16000 items push then pop 73.280 ns/op 86.719 ns/op 0.85
LinkedList of 16000 items push then pop 6.6730 ns/op 8.4110 ns/op 0.79
array of 24000 items push then shift 2.3213 us/op 2.5260 us/op 0.92
LinkedList of 24000 items push then shift 6.8390 ns/op 9.4150 ns/op 0.73
array of 24000 items push then pop 95.792 ns/op 116.97 ns/op 0.82
LinkedList of 24000 items push then pop 6.7930 ns/op 8.4020 ns/op 0.81
intersect bitArray bitLen 8 6.3450 ns/op 6.9980 ns/op 0.91
intersect array and set length 8 37.911 ns/op 42.196 ns/op 0.90
intersect bitArray bitLen 128 29.681 ns/op 32.361 ns/op 0.92
intersect array and set length 128 617.55 ns/op 654.72 ns/op 0.94
bitArray.getTrueBitIndexes() bitLen 128 1.0050 us/op 1.0810 us/op 0.93
bitArray.getTrueBitIndexes() bitLen 248 1.7530 us/op 1.9320 us/op 0.91
bitArray.getTrueBitIndexes() bitLen 512 3.5800 us/op 3.9700 us/op 0.90
Buffer.concat 32 items 780.00 ns/op 772.00 ns/op 1.01
Uint8Array.set 32 items 1.0410 us/op 1.8330 us/op 0.57
Buffer.copy 2.0190 us/op 2.7710 us/op 0.73
Uint8Array.set - with subarray 1.5520 us/op 2.8470 us/op 0.55
Uint8Array.set - without subarray 874.00 ns/op 1.7890 us/op 0.49
getUint32 - dataview 202.00 ns/op 234.00 ns/op 0.86
getUint32 - manual 123.00 ns/op 126.00 ns/op 0.98
Set add up to 64 items then delete first 2.2127 us/op 2.9012 us/op 0.76
OrderedSet add up to 64 items then delete first 3.2480 us/op 4.2756 us/op 0.76
Set add up to 64 items then delete last 2.4940 us/op 3.2594 us/op 0.77
OrderedSet add up to 64 items then delete last 3.8401 us/op 5.0873 us/op 0.75
Set add up to 64 items then delete middle 2.5233 us/op 2.5186 us/op 1.00
OrderedSet add up to 64 items then delete middle 5.2322 us/op 6.6829 us/op 0.78
Set add up to 128 items then delete first 5.4015 us/op 6.8316 us/op 0.79
OrderedSet add up to 128 items then delete first 8.0572 us/op 11.107 us/op 0.73
Set add up to 128 items then delete last 5.8871 us/op 6.6213 us/op 0.89
OrderedSet add up to 128 items then delete last 9.6570 us/op 10.720 us/op 0.90
Set add up to 128 items then delete middle 5.6530 us/op 6.5232 us/op 0.87
OrderedSet add up to 128 items then delete middle 15.206 us/op 17.449 us/op 0.87
Set add up to 256 items then delete first 10.211 us/op 13.420 us/op 0.76
OrderedSet add up to 256 items then delete first 17.035 us/op 21.338 us/op 0.80
Set add up to 256 items then delete last 10.961 us/op 16.470 us/op 0.67
OrderedSet add up to 256 items then delete last 16.093 us/op 20.135 us/op 0.80
Set add up to 256 items then delete middle 10.562 us/op 13.200 us/op 0.80
OrderedSet add up to 256 items then delete middle 44.119 us/op 47.905 us/op 0.92
transfer serialized Status (84 B) 2.2520 us/op 2.6850 us/op 0.84
copy serialized Status (84 B) 1.3290 us/op 1.4530 us/op 0.91
transfer serialized SignedVoluntaryExit (112 B) 2.4310 us/op 2.6610 us/op 0.91
copy serialized SignedVoluntaryExit (112 B) 1.3000 us/op 1.5080 us/op 0.86
transfer serialized ProposerSlashing (416 B) 2.5730 us/op 3.5190 us/op 0.73
copy serialized ProposerSlashing (416 B) 1.5830 us/op 1.7050 us/op 0.93
transfer serialized Attestation (485 B) 3.0220 us/op 2.5690 us/op 1.18
copy serialized Attestation (485 B) 2.8120 us/op 1.4130 us/op 1.99
transfer serialized AttesterSlashing (33232 B) 3.3110 us/op 2.7000 us/op 1.23
copy serialized AttesterSlashing (33232 B) 5.4650 us/op 5.2340 us/op 1.04
transfer serialized Small SignedBeaconBlock (128000 B) 3.5060 us/op 3.7430 us/op 0.94
copy serialized Small SignedBeaconBlock (128000 B) 9.9760 us/op 14.145 us/op 0.71
transfer serialized Avg SignedBeaconBlock (200000 B) 3.6850 us/op 4.0840 us/op 0.90
copy serialized Avg SignedBeaconBlock (200000 B) 15.857 us/op 21.688 us/op 0.73
transfer serialized BlobsSidecar (524380 B) 4.0540 us/op 4.4650 us/op 0.91
copy serialized BlobsSidecar (524380 B) 74.411 us/op 68.164 us/op 1.09
transfer serialized Big SignedBeaconBlock (1000000 B) 4.6880 us/op 4.5550 us/op 1.03
copy serialized Big SignedBeaconBlock (1000000 B) 112.25 us/op 125.53 us/op 0.89
pass gossip attestations to forkchoice per slot 2.9667 ms/op 2.8980 ms/op 1.02
forkChoice updateHead vc 100000 bc 64 eq 0 546.00 us/op 464.48 us/op 1.18
forkChoice updateHead vc 600000 bc 64 eq 0 3.4990 ms/op 3.1072 ms/op 1.13
forkChoice updateHead vc 1000000 bc 64 eq 0 4.9610 ms/op 5.2732 ms/op 0.94
forkChoice updateHead vc 600000 bc 320 eq 0 2.9763 ms/op 3.7010 ms/op 0.80
forkChoice updateHead vc 600000 bc 1200 eq 0 3.0006 ms/op 3.0932 ms/op 0.97
forkChoice updateHead vc 600000 bc 7200 eq 0 3.7254 ms/op 3.7575 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 1000 10.729 ms/op 10.762 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 10000 10.999 ms/op 10.825 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 300000 13.713 ms/op 15.628 ms/op 0.88
computeDeltas 500000 validators 300 proto nodes 4.3024 ms/op 4.1258 ms/op 1.04
computeDeltas 500000 validators 1200 proto nodes 4.3979 ms/op 4.0689 ms/op 1.08
computeDeltas 500000 validators 7200 proto nodes 4.5245 ms/op 4.0504 ms/op 1.12
computeDeltas 750000 validators 300 proto nodes 6.6881 ms/op 5.8851 ms/op 1.14
computeDeltas 750000 validators 1200 proto nodes 6.5194 ms/op 5.8570 ms/op 1.11
computeDeltas 750000 validators 7200 proto nodes 6.9118 ms/op 5.7150 ms/op 1.21
computeDeltas 1400000 validators 300 proto nodes 12.386 ms/op 10.770 ms/op 1.15
computeDeltas 1400000 validators 1200 proto nodes 11.757 ms/op 10.841 ms/op 1.08
computeDeltas 1400000 validators 7200 proto nodes 11.142 ms/op 11.024 ms/op 1.01
computeDeltas 2100000 validators 300 proto nodes 17.153 ms/op 16.650 ms/op 1.03
computeDeltas 2100000 validators 1200 proto nodes 17.737 ms/op 17.265 ms/op 1.03
computeDeltas 2100000 validators 7200 proto nodes 17.313 ms/op 18.676 ms/op 0.93
altair processAttestation - 250000 vs - 7PWei normalcase 2.1748 ms/op 2.9013 ms/op 0.75
altair processAttestation - 250000 vs - 7PWei worstcase 3.1515 ms/op 3.8380 ms/op 0.82
altair processAttestation - setStatus - 1/6 committees join 138.85 us/op 161.27 us/op 0.86
altair processAttestation - setStatus - 1/3 committees join 264.73 us/op 291.69 us/op 0.91
altair processAttestation - setStatus - 1/2 committees join 363.10 us/op 433.04 us/op 0.84
altair processAttestation - setStatus - 2/3 committees join 443.48 us/op 501.51 us/op 0.88
altair processAttestation - setStatus - 4/5 committees join 623.09 us/op 656.50 us/op 0.95
altair processAttestation - setStatus - 100% committees join 730.82 us/op 796.03 us/op 0.92
altair processBlock - 250000 vs - 7PWei normalcase 4.9550 ms/op 5.2004 ms/op 0.95
altair processBlock - 250000 vs - 7PWei normalcase hashState 40.283 ms/op 31.635 ms/op 1.27
altair processBlock - 250000 vs - 7PWei worstcase 40.906 ms/op 45.839 ms/op 0.89
altair processBlock - 250000 vs - 7PWei worstcase hashState 80.829 ms/op 90.833 ms/op 0.89
phase0 processBlock - 250000 vs - 7PWei normalcase 1.9259 ms/op 1.9483 ms/op 0.99
phase0 processBlock - 250000 vs - 7PWei worstcase 24.947 ms/op 24.149 ms/op 1.03
altair processEth1Data - 250000 vs - 7PWei normalcase 370.68 us/op 399.82 us/op 0.93
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 8.2060 us/op 7.2210 us/op 1.14
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 45.453 us/op 48.042 us/op 0.95
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 15.580 us/op 10.049 us/op 1.55
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.8840 us/op 6.0940 us/op 1.29
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 185.52 us/op 151.19 us/op 1.23
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.9202 ms/op 1.9264 ms/op 1.00
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.3639 ms/op 2.3955 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.3963 ms/op 2.4099 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 5.3499 ms/op 4.5768 ms/op 1.17
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.4362 ms/op 2.3952 ms/op 1.02
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.8425 ms/op 4.5838 ms/op 1.06
Tree 40 250000 create 474.49 ms/op 423.05 ms/op 1.12
Tree 40 250000 get(125000) 159.16 ns/op 144.82 ns/op 1.10
Tree 40 250000 set(125000) 1.5111 us/op 1.4963 us/op 1.01
Tree 40 250000 toArray() 22.533 ms/op 15.803 ms/op 1.43
Tree 40 250000 iterate all - toArray() + loop 22.961 ms/op 16.664 ms/op 1.38
Tree 40 250000 iterate all - get(i) 60.733 ms/op 51.327 ms/op 1.18
Array 250000 create 2.6654 ms/op 2.8414 ms/op 0.94
Array 250000 clone - spread 1.5737 ms/op 815.35 us/op 1.93
Array 250000 get(125000) 0.45100 ns/op 0.40000 ns/op 1.13
Array 250000 set(125000) 0.48500 ns/op 0.43100 ns/op 1.13
Array 250000 iterate all - loop 81.751 us/op 100.31 us/op 0.81
phase0 afterProcessEpoch - 250000 vs - 7PWei 41.935 ms/op 41.508 ms/op 1.01
Array.fill - length 1000000 3.4840 ms/op 3.2936 ms/op 1.06
Array push - length 1000000 12.500 ms/op 12.866 ms/op 0.97
Array.get 0.26841 ns/op 0.27882 ns/op 0.96
Uint8Array.get 0.44621 ns/op 0.60963 ns/op 0.73
phase0 beforeProcessEpoch - 250000 vs - 7PWei 17.444 ms/op 18.194 ms/op 0.96
altair processEpoch - mainnet_e81889 233.35 ms/op 262.88 ms/op 0.89
mainnet_e81889 - altair beforeProcessEpoch 18.219 ms/op 19.074 ms/op 0.96
mainnet_e81889 - altair processJustificationAndFinalization 5.7240 us/op 5.4290 us/op 1.05
mainnet_e81889 - altair processInactivityUpdates 4.1598 ms/op 4.3922 ms/op 0.95
mainnet_e81889 - altair processRewardsAndPenalties 44.435 ms/op 38.039 ms/op 1.17
mainnet_e81889 - altair processRegistryUpdates 639.00 ns/op 696.00 ns/op 0.92
mainnet_e81889 - altair processSlashings 176.00 ns/op 192.00 ns/op 0.92
mainnet_e81889 - altair processEth1DataReset 172.00 ns/op 184.00 ns/op 0.93
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2559 ms/op 1.2501 ms/op 1.00
mainnet_e81889 - altair processSlashingsReset 1.7150 us/op 887.00 ns/op 1.93
mainnet_e81889 - altair processRandaoMixesReset 1.1290 us/op 1.1680 us/op 0.97
mainnet_e81889 - altair processHistoricalRootsUpdate 181.00 ns/op 184.00 ns/op 0.98
mainnet_e81889 - altair processParticipationFlagUpdates 517.00 ns/op 508.00 ns/op 1.02
mainnet_e81889 - altair processSyncCommitteeUpdates 137.00 ns/op 141.00 ns/op 0.97
mainnet_e81889 - altair afterProcessEpoch 44.715 ms/op 44.452 ms/op 1.01
capella processEpoch - mainnet_e217614 968.55 ms/op 870.32 ms/op 1.11
mainnet_e217614 - capella beforeProcessEpoch 58.380 ms/op 59.867 ms/op 0.98
mainnet_e217614 - capella processJustificationAndFinalization 5.4360 us/op 5.2430 us/op 1.04
mainnet_e217614 - capella processInactivityUpdates 14.974 ms/op 14.677 ms/op 1.02
mainnet_e217614 - capella processRewardsAndPenalties 189.09 ms/op 165.51 ms/op 1.14
mainnet_e217614 - capella processRegistryUpdates 8.3180 us/op 6.3550 us/op 1.31
mainnet_e217614 - capella processSlashings 186.00 ns/op 184.00 ns/op 1.01
mainnet_e217614 - capella processEth1DataReset 182.00 ns/op 183.00 ns/op 0.99
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.4234 ms/op 4.2410 ms/op 1.04
mainnet_e217614 - capella processSlashingsReset 1.0370 us/op 880.00 ns/op 1.18
mainnet_e217614 - capella processRandaoMixesReset 1.3390 us/op 1.1700 us/op 1.14
mainnet_e217614 - capella processHistoricalRootsUpdate 194.00 ns/op 186.00 ns/op 1.04
mainnet_e217614 - capella processParticipationFlagUpdates 539.00 ns/op 529.00 ns/op 1.02
mainnet_e217614 - capella afterProcessEpoch 119.09 ms/op 117.12 ms/op 1.02
phase0 processEpoch - mainnet_e58758 322.55 ms/op 275.78 ms/op 1.17
mainnet_e58758 - phase0 beforeProcessEpoch 84.746 ms/op 87.513 ms/op 0.97
mainnet_e58758 - phase0 processJustificationAndFinalization 6.7540 us/op 5.9720 us/op 1.13
mainnet_e58758 - phase0 processRewardsAndPenalties 38.375 ms/op 37.500 ms/op 1.02
mainnet_e58758 - phase0 processRegistryUpdates 3.4980 us/op 3.0980 us/op 1.13
mainnet_e58758 - phase0 processSlashings 193.00 ns/op 183.00 ns/op 1.05
mainnet_e58758 - phase0 processEth1DataReset 190.00 ns/op 184.00 ns/op 1.03
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 4.0885 ms/op 2.3490 ms/op 1.74
mainnet_e58758 - phase0 processSlashingsReset 1.1350 us/op 926.00 ns/op 1.23
mainnet_e58758 - phase0 processRandaoMixesReset 1.3480 us/op 1.2170 us/op 1.11
mainnet_e58758 - phase0 processHistoricalRootsUpdate 197.00 ns/op 184.00 ns/op 1.07
mainnet_e58758 - phase0 processParticipationRecordUpdates 960.00 ns/op 929.00 ns/op 1.03
mainnet_e58758 - phase0 afterProcessEpoch 37.016 ms/op 36.810 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3985 ms/op 1.3816 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 5.2143 ms/op 2.3811 ms/op 2.19
altair processInactivityUpdates - 250000 normalcase 21.213 ms/op 18.262 ms/op 1.16
altair processInactivityUpdates - 250000 worstcase 20.806 ms/op 18.492 ms/op 1.13
phase0 processRegistryUpdates - 250000 normalcase 7.6140 us/op 7.4280 us/op 1.03
phase0 processRegistryUpdates - 250000 badcase_full_deposits 315.73 us/op 293.06 us/op 1.08
phase0 processRegistryUpdates - 250000 worstcase 0.5 119.11 ms/op 105.35 ms/op 1.13
altair processRewardsAndPenalties - 250000 normalcase 30.461 ms/op 26.534 ms/op 1.15
altair processRewardsAndPenalties - 250000 worstcase 27.521 ms/op 27.486 ms/op 1.00
phase0 getAttestationDeltas - 250000 normalcase 6.2700 ms/op 9.8913 ms/op 0.63
phase0 getAttestationDeltas - 250000 worstcase 6.1584 ms/op 8.0341 ms/op 0.77
phase0 processSlashings - 250000 worstcase 121.15 us/op 102.56 us/op 1.18
altair processSyncCommitteeUpdates - 250000 12.872 ms/op 11.228 ms/op 1.15
BeaconState.hashTreeRoot - No change 244.00 ns/op 229.00 ns/op 1.07
BeaconState.hashTreeRoot - 1 full validator 101.92 us/op 76.475 us/op 1.33
BeaconState.hashTreeRoot - 32 full validator 1.1608 ms/op 842.02 us/op 1.38
BeaconState.hashTreeRoot - 512 full validator 13.388 ms/op 11.602 ms/op 1.15
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 137.39 us/op 109.61 us/op 1.25
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.1497 ms/op 1.5052 ms/op 1.43
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 28.466 ms/op 24.117 ms/op 1.18
BeaconState.hashTreeRoot - 1 balances 85.000 us/op 75.249 us/op 1.13
BeaconState.hashTreeRoot - 32 balances 1.1160 ms/op 800.72 us/op 1.39
BeaconState.hashTreeRoot - 512 balances 10.086 ms/op 8.5415 ms/op 1.18
BeaconState.hashTreeRoot - 250000 balances 212.53 ms/op 179.25 ms/op 1.19
aggregationBits - 2048 els - zipIndexesInBitList 25.843 us/op 22.205 us/op 1.16
byteArrayEquals 32 57.021 ns/op 54.892 ns/op 1.04
Buffer.compare 32 18.092 ns/op 17.743 ns/op 1.02
byteArrayEquals 1024 1.6514 us/op 1.6246 us/op 1.02
Buffer.compare 1024 26.711 ns/op 25.208 ns/op 1.06
byteArrayEquals 16384 26.228 us/op 25.920 us/op 1.01
Buffer.compare 16384 204.95 ns/op 209.08 ns/op 0.98
byteArrayEquals 123687377 197.58 ms/op 199.51 ms/op 0.99
Buffer.compare 123687377 9.3696 ms/op 10.150 ms/op 0.92
byteArrayEquals 32 - diff last byte 52.933 ns/op 56.596 ns/op 0.94
Buffer.compare 32 - diff last byte 17.418 ns/op 21.509 ns/op 0.81
byteArrayEquals 1024 - diff last byte 1.6106 us/op 1.7571 us/op 0.92
Buffer.compare 1024 - diff last byte 25.522 ns/op 39.053 ns/op 0.65
byteArrayEquals 16384 - diff last byte 25.675 us/op 27.745 us/op 0.93
Buffer.compare 16384 - diff last byte 204.42 ns/op 217.84 ns/op 0.94
byteArrayEquals 123687377 - diff last byte 197.47 ms/op 224.12 ms/op 0.88
Buffer.compare 123687377 - diff last byte 9.8981 ms/op 15.920 ms/op 0.62
byteArrayEquals 32 - random bytes 5.3800 ns/op 5.6710 ns/op 0.95
Buffer.compare 32 - random bytes 18.012 ns/op 19.508 ns/op 0.92
byteArrayEquals 1024 - random bytes 5.4230 ns/op 5.6230 ns/op 0.96
Buffer.compare 1024 - random bytes 17.902 ns/op 19.365 ns/op 0.92
byteArrayEquals 16384 - random bytes 5.2500 ns/op 5.7220 ns/op 0.92
Buffer.compare 16384 - random bytes 17.710 ns/op 19.144 ns/op 0.93
byteArrayEquals 123687377 - random bytes 6.9000 ns/op 7.3500 ns/op 0.94
Buffer.compare 123687377 - random bytes 18.660 ns/op 27.050 ns/op 0.69
regular array get 100000 times 33.178 us/op 37.062 us/op 0.90
wrappedArray get 100000 times 33.530 us/op 51.237 us/op 0.65
arrayWithProxy get 100000 times 13.001 ms/op 14.427 ms/op 0.90
ssz.Root.equals 48.221 ns/op 52.175 ns/op 0.92
byteArrayEquals 47.294 ns/op 53.071 ns/op 0.89
Buffer.compare 10.806 ns/op 11.847 ns/op 0.91
processSlot - 1 slots 14.940 us/op 15.132 us/op 0.99
processSlot - 32 slots 3.7843 ms/op 3.1981 ms/op 1.18
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 3.0922 ms/op 6.0269 ms/op 0.51
getCommitteeAssignments - req 1 vs - 250000 vc 2.1804 ms/op 2.4266 ms/op 0.90
getCommitteeAssignments - req 100 vs - 250000 vc 4.2431 ms/op 4.6894 ms/op 0.90
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4513 ms/op 4.9786 ms/op 0.89
findModifiedValidators - 10000 modified validators 747.17 ms/op 1.1987 s/op 0.62
findModifiedValidators - 1000 modified validators 718.83 ms/op 920.03 ms/op 0.78
findModifiedValidators - 100 modified validators 259.76 ms/op 442.22 ms/op 0.59
findModifiedValidators - 10 modified validators 143.00 ms/op 309.49 ms/op 0.46
findModifiedValidators - 1 modified validators 148.96 ms/op 330.89 ms/op 0.45
findModifiedValidators - no difference 148.19 ms/op 251.14 ms/op 0.59
compare ViewDUs 6.7998 s/op 10.052 s/op 0.68
compare each validator Uint8Array 1.7228 s/op 2.1609 s/op 0.80
compare ViewDU to Uint8Array 1.3219 s/op 1.6316 s/op 0.81
migrate state 1000000 validators, 24 modified, 0 new 983.71 ms/op 1.2119 s/op 0.81
migrate state 1000000 validators, 1700 modified, 1000 new 1.2462 s/op 1.3364 s/op 0.93
migrate state 1000000 validators, 3400 modified, 2000 new 1.4205 s/op 1.3090 s/op 1.09
migrate state 1500000 validators, 24 modified, 0 new 1.0101 s/op 802.93 ms/op 1.26
migrate state 1500000 validators, 1700 modified, 1000 new 1.1609 s/op 1.1278 s/op 1.03
migrate state 1500000 validators, 3400 modified, 2000 new 1.3119 s/op 1.4019 s/op 0.94
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3200 ns/op 4.4800 ns/op 0.96
state getBlockRootAtSlot - 250000 vs - 7PWei 568.20 ns/op 504.40 ns/op 1.13
naive computeProposerIndex 100000 validators 48.895 ms/op 60.762 ms/op 0.80
computeProposerIndex 100000 validators 1.5021 ms/op 1.5425 ms/op 0.97
naiveGetNextSyncCommitteeIndices 1000 validators 7.3783 s/op 7.5655 s/op 0.98
getNextSyncCommitteeIndices 1000 validators 111.30 ms/op 111.15 ms/op 1.00
naiveGetNextSyncCommitteeIndices 10000 validators 7.8201 s/op 7.3143 s/op 1.07
getNextSyncCommitteeIndices 10000 validators 108.03 ms/op 111.21 ms/op 0.97
naiveGetNextSyncCommitteeIndices 100000 validators 7.7275 s/op 6.8874 s/op 1.12
getNextSyncCommitteeIndices 100000 validators 114.63 ms/op 110.16 ms/op 1.04
naive computeShuffledIndex 100000 validators 24.751 s/op 21.716 s/op 1.14
cached computeShuffledIndex 100000 validators 561.19 ms/op 551.54 ms/op 1.02
naive computeShuffledIndex 2000000 validators 519.42 s/op 525.46 s/op 0.99
cached computeShuffledIndex 2000000 validators 79.661 s/op 41.188 s/op 1.93
computeProposers - vc 250000 691.19 us/op 622.46 us/op 1.11
computeEpochShuffling - vc 250000 49.552 ms/op 42.867 ms/op 1.16
getNextSyncCommittee - vc 250000 12.735 ms/op 10.605 ms/op 1.20
computeSigningRoot for AttestationData 62.256 us/op 23.018 us/op 2.70
hash AttestationData serialized data then Buffer.toString(base64) 2.0410 us/op 1.6273 us/op 1.25
toHexString serialized data 1.7564 us/op 1.2846 us/op 1.37
Buffer.toString(base64) 166.49 ns/op 161.03 ns/op 1.03
nodejs block root to RootHex using toHex 153.48 ns/op 194.14 ns/op 0.79
nodejs block root to RootHex using toRootHex 98.467 ns/op 89.687 ns/op 1.10
browser block root to RootHex using the deprecated toHexString 243.67 ns/op 230.55 ns/op 1.06
browser block root to RootHex using toHex 190.93 ns/op 185.10 ns/op 1.03
browser block root to RootHex using toRootHex 170.70 ns/op 167.80 ns/op 1.02

by benchmarkbot/action

github-actions[bot] avatar Jun 06 '25 10:06 github-actions[bot]

@twoeths what do you think about moving the "Aggregated Attestation Pool" row a bit further down in the dashboard?

sounds good to me @nflaig

twoeths avatar Jun 10 '25 02:06 twoeths

@twoeths what do you think about moving the "Aggregated Attestation Pool" row a bit further down in the dashboard?

sounds good to me @nflaig

I moved the panels down in the last commit, it shows a lot of changes but all I did was move the 3 panels down (see lodestar-block-production panel)

nflaig avatar Jun 16 '25 12:06 nflaig

:tada: This PR is included in v1.32.0 :tada:

wemeetagain avatar Jul 15 '25 19:07 wemeetagain