Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add metric for slot of next scheduled attestation duty #5954

Merged
merged 6 commits into from
Sep 15, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Sep 12, 2023

Motivation

Closes #5477

Description

Adds metric to track slot of next scheduled attestation duty. Works with Rocket Pool Dashboard v1.3.0 without requiring any modification to the dashboard as the metric name is the same as Lighthouse uses for this.

@nflaig nflaig requested a review from a team as a code owner September 12, 2023 22:02
@github-actions
Copy link
Contributor

github-actions bot commented Sep 12, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 424ca45 Previous: 6d8b42c Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 827.51 us/op 613.18 us/op 1.35
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 76.068 us/op 82.642 us/op 0.92
BLS verify - blst-native 1.2647 ms/op 1.3529 ms/op 0.93
BLS verifyMultipleSignatures 3 - blst-native 2.7299 ms/op 2.8486 ms/op 0.96
BLS verifyMultipleSignatures 8 - blst-native 5.9889 ms/op 6.2868 ms/op 0.95
BLS verifyMultipleSignatures 32 - blst-native 21.873 ms/op 23.055 ms/op 0.95
BLS verifyMultipleSignatures 64 - blst-native 43.139 ms/op 44.887 ms/op 0.96
BLS verifyMultipleSignatures 128 - blst-native 85.532 ms/op 92.004 ms/op 0.93
BLS deserializing 10000 signatures 876.17 ms/op 921.28 ms/op 0.95
BLS deserializing 100000 signatures 8.6336 s/op 9.2245 s/op 0.94
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2710 ms/op 1.4445 ms/op 0.88
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4197 ms/op 1.6141 ms/op 0.88
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.4520 ms/op 3.0034 ms/op 0.82
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.2998 ms/op 3.8253 ms/op 0.86
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.4134 ms/op 6.2184 ms/op 0.87
BLS aggregatePubkeys 32 - blst-native 24.718 us/op 27.622 us/op 0.89
BLS aggregatePubkeys 128 - blst-native 97.013 us/op 107.88 us/op 0.90
getAttestationsForBlock 33.776 ms/op 63.914 ms/op 0.53
isKnown best case - 1 super set check 268.00 ns/op 614.00 ns/op 0.44
isKnown normal case - 2 super set checks 270.00 ns/op 612.00 ns/op 0.44
isKnown worse case - 16 super set checks 262.00 ns/op 590.00 ns/op 0.44
CheckpointStateCache - add get delete 4.8470 us/op 6.8730 us/op 0.71
validate api signedAggregateAndProof - struct 2.7658 ms/op 3.1484 ms/op 0.88
validate gossip signedAggregateAndProof - struct 2.6264 ms/op 3.0835 ms/op 0.85
validate gossip attestation - vc 640000 1.2806 ms/op 1.5222 ms/op 0.84
batch validate gossip attestation - vc 640000 - chunk 32 161.31 us/op 201.32 us/op 0.80
batch validate gossip attestation - vc 640000 - chunk 64 146.47 us/op 159.11 us/op 0.92
batch validate gossip attestation - vc 640000 - chunk 128 141.36 us/op 145.23 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 256 133.19 us/op 138.11 us/op 0.96
pickEth1Vote - no votes 1.2366 ms/op 1.2858 ms/op 0.96
pickEth1Vote - max votes 10.042 ms/op 11.790 ms/op 0.85
pickEth1Vote - Eth1Data hashTreeRoot value x2048 16.775 ms/op 20.825 ms/op 0.81
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 25.316 ms/op 33.741 ms/op 0.75
pickEth1Vote - Eth1Data fastSerialize value x2048 574.62 us/op 607.60 us/op 0.95
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.9990 ms/op 8.1536 ms/op 0.74
bytes32 toHexString 470.00 ns/op 507.00 ns/op 0.93
bytes32 Buffer.toString(hex) 304.00 ns/op 305.00 ns/op 1.00
bytes32 Buffer.toString(hex) from Uint8Array 450.00 ns/op 444.00 ns/op 1.01
bytes32 Buffer.toString(hex) + 0x 293.00 ns/op 300.00 ns/op 0.98
Object access 1 prop 0.15600 ns/op 0.17000 ns/op 0.92
Map access 1 prop 0.15100 ns/op 0.15100 ns/op 1.00
Object get x1000 7.8310 ns/op 7.4760 ns/op 1.05
Map get x1000 0.52700 ns/op 0.68100 ns/op 0.77
Object set x1000 49.878 ns/op 59.242 ns/op 0.84
Map set x1000 38.912 ns/op 46.544 ns/op 0.84
Return object 10000 times 0.23750 ns/op 0.24970 ns/op 0.95
Throw Error 10000 times 3.8765 us/op 3.9703 us/op 0.98
fastMsgIdFn sha256 / 200 bytes 3.3330 us/op 3.3940 us/op 0.98
fastMsgIdFn h32 xxhash / 200 bytes 305.00 ns/op 290.00 ns/op 1.05
fastMsgIdFn h64 xxhash / 200 bytes 355.00 ns/op 363.00 ns/op 0.98
fastMsgIdFn sha256 / 1000 bytes 11.598 us/op 11.881 us/op 0.98
fastMsgIdFn h32 xxhash / 1000 bytes 424.00 ns/op 435.00 ns/op 0.97
fastMsgIdFn h64 xxhash / 1000 bytes 424.00 ns/op 452.00 ns/op 0.94
fastMsgIdFn sha256 / 10000 bytes 103.25 us/op 106.34 us/op 0.97
fastMsgIdFn h32 xxhash / 10000 bytes 1.9450 us/op 2.0190 us/op 0.96
fastMsgIdFn h64 xxhash / 10000 bytes 1.3220 us/op 1.3970 us/op 0.95
enrSubnets - fastDeserialize 64 bits 1.1960 us/op 1.3070 us/op 0.92
enrSubnets - ssz BitVector 64 bits 426.00 ns/op 455.00 ns/op 0.94
enrSubnets - fastDeserialize 4 bits 168.00 ns/op 189.00 ns/op 0.89
enrSubnets - ssz BitVector 4 bits 423.00 ns/op 457.00 ns/op 0.93
prioritizePeers score -10:0 att 32-0.1 sync 2-0 105.12 us/op 108.02 us/op 0.97
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 129.48 us/op 125.58 us/op 1.03
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 165.60 us/op 177.47 us/op 0.93
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 299.29 us/op 315.26 us/op 0.95
prioritizePeers score 0:0 att 64-1 sync 4-1 351.47 us/op 360.38 us/op 0.98
array of 16000 items push then shift 1.6987 us/op 1.6943 us/op 1.00
LinkedList of 16000 items push then shift 9.2520 ns/op 9.6130 ns/op 0.96
array of 16000 items push then pop 89.427 ns/op 98.313 ns/op 0.91
LinkedList of 16000 items push then pop 8.7510 ns/op 9.3420 ns/op 0.94
array of 24000 items push then shift 2.5446 us/op 2.5022 us/op 1.02
LinkedList of 24000 items push then shift 9.7560 ns/op 9.6660 ns/op 1.01
array of 24000 items push then pop 146.91 ns/op 129.78 ns/op 1.13
LinkedList of 24000 items push then pop 9.2880 ns/op 8.9000 ns/op 1.04
intersect bitArray bitLen 8 7.1430 ns/op 7.0390 ns/op 1.01
intersect array and set length 8 62.097 ns/op 58.725 ns/op 1.06
intersect bitArray bitLen 128 34.154 ns/op 32.848 ns/op 1.04
intersect array and set length 128 885.84 ns/op 794.25 ns/op 1.12
bitArray.getTrueBitIndexes() bitLen 128 1.8770 us/op 1.6270 us/op 1.15
bitArray.getTrueBitIndexes() bitLen 248 2.9410 us/op 2.7790 us/op 1.06
bitArray.getTrueBitIndexes() bitLen 512 6.0080 us/op 5.5870 us/op 1.08
Buffer.concat 32 items 1.1080 us/op 1.0200 us/op 1.09
Uint8Array.set 32 items 2.2080 us/op 1.6750 us/op 1.32
Set add up to 64 items then delete first 4.8252 us/op 4.7923 us/op 1.01
OrderedSet add up to 64 items then delete first 6.0693 us/op 5.8869 us/op 1.03
Set add up to 64 items then delete last 5.2058 us/op 5.0153 us/op 1.04
OrderedSet add up to 64 items then delete last 6.5124 us/op 6.2727 us/op 1.04
Set add up to 64 items then delete middle 5.1327 us/op 4.9859 us/op 1.03
OrderedSet add up to 64 items then delete middle 7.8718 us/op 7.7191 us/op 1.02
Set add up to 128 items then delete first 10.565 us/op 10.261 us/op 1.03
OrderedSet add up to 128 items then delete first 14.318 us/op 13.951 us/op 1.03
Set add up to 128 items then delete last 10.344 us/op 10.108 us/op 1.02
OrderedSet add up to 128 items then delete last 13.991 us/op 13.091 us/op 1.07
Set add up to 128 items then delete middle 10.534 us/op 9.9373 us/op 1.06
OrderedSet add up to 128 items then delete middle 19.546 us/op 18.766 us/op 1.04
Set add up to 256 items then delete first 22.044 us/op 20.251 us/op 1.09
OrderedSet add up to 256 items then delete first 29.626 us/op 28.227 us/op 1.05
Set add up to 256 items then delete last 20.868 us/op 19.705 us/op 1.06
OrderedSet add up to 256 items then delete last 26.835 us/op 25.728 us/op 1.04
Set add up to 256 items then delete middle 20.945 us/op 19.889 us/op 1.05
OrderedSet add up to 256 items then delete middle 52.267 us/op 49.478 us/op 1.06
transfer serialized Status (84 B) 2.1610 us/op 1.9450 us/op 1.11
copy serialized Status (84 B) 1.8570 us/op 1.7800 us/op 1.04
transfer serialized SignedVoluntaryExit (112 B) 2.3980 us/op 2.2120 us/op 1.08
copy serialized SignedVoluntaryExit (112 B) 1.8830 us/op 1.8890 us/op 1.00
transfer serialized ProposerSlashing (416 B) 2.9080 us/op 2.5940 us/op 1.12
copy serialized ProposerSlashing (416 B) 2.3440 us/op 2.6230 us/op 0.89
transfer serialized Attestation (485 B) 2.4820 us/op 2.5950 us/op 0.96
copy serialized Attestation (485 B) 2.3810 us/op 2.5620 us/op 0.93
transfer serialized AttesterSlashing (33232 B) 2.6100 us/op 2.8240 us/op 0.92
copy serialized AttesterSlashing (33232 B) 7.8380 us/op 7.8990 us/op 0.99
transfer serialized Small SignedBeaconBlock (128000 B) 2.8870 us/op 3.1210 us/op 0.93
copy serialized Small SignedBeaconBlock (128000 B) 24.230 us/op 22.747 us/op 1.07
transfer serialized Avg SignedBeaconBlock (200000 B) 3.4900 us/op 3.2330 us/op 1.08
copy serialized Avg SignedBeaconBlock (200000 B) 33.774 us/op 27.784 us/op 1.22
transfer serialized BlobsSidecar (524380 B) 3.5580 us/op 3.3330 us/op 1.07
copy serialized BlobsSidecar (524380 B) 130.14 us/op 100.61 us/op 1.29
transfer serialized Big SignedBeaconBlock (1000000 B) 3.6540 us/op 3.7610 us/op 0.97
copy serialized Big SignedBeaconBlock (1000000 B) 184.61 us/op 185.85 us/op 0.99
pass gossip attestations to forkchoice per slot 4.0397 ms/op 3.9378 ms/op 1.03
forkChoice updateHead vc 100000 bc 64 eq 0 705.52 us/op 685.91 us/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 0 5.9742 ms/op 5.4887 ms/op 1.09
forkChoice updateHead vc 1000000 bc 64 eq 0 7.9174 ms/op 7.8028 ms/op 1.01
forkChoice updateHead vc 600000 bc 320 eq 0 4.8308 ms/op 4.6287 ms/op 1.04
forkChoice updateHead vc 600000 bc 1200 eq 0 4.9366 ms/op 4.5654 ms/op 1.08
forkChoice updateHead vc 600000 bc 7200 eq 0 6.1919 ms/op 5.7597 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 1000 12.247 ms/op 11.695 ms/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 10000 13.133 ms/op 12.589 ms/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 300000 23.280 ms/op 20.355 ms/op 1.14
computeDeltas 500000 validators 300 proto nodes 6.7718 ms/op 6.6288 ms/op 1.02
computeDeltas 500000 validators 1200 proto nodes 6.6358 ms/op 6.4567 ms/op 1.03
computeDeltas 500000 validators 7200 proto nodes 6.4929 ms/op 6.6112 ms/op 0.98
computeDeltas 750000 validators 300 proto nodes 9.6947 ms/op 9.8548 ms/op 0.98
computeDeltas 750000 validators 1200 proto nodes 10.048 ms/op 9.7206 ms/op 1.03
computeDeltas 750000 validators 7200 proto nodes 9.9572 ms/op 9.9092 ms/op 1.00
computeDeltas 1400000 validators 300 proto nodes 19.101 ms/op 18.528 ms/op 1.03
computeDeltas 1400000 validators 1200 proto nodes 19.452 ms/op 18.440 ms/op 1.05
computeDeltas 1400000 validators 7200 proto nodes 18.725 ms/op 18.615 ms/op 1.01
computeDeltas 2100000 validators 300 proto nodes 27.728 ms/op 27.971 ms/op 0.99
computeDeltas 2100000 validators 1200 proto nodes 28.629 ms/op 27.738 ms/op 1.03
computeDeltas 2100000 validators 7200 proto nodes 29.078 ms/op 27.435 ms/op 1.06
computeProposerBoostScoreFromBalances 500000 validators 3.5792 ms/op 3.3251 ms/op 1.08
computeProposerBoostScoreFromBalances 750000 validators 3.6145 ms/op 3.3157 ms/op 1.09
computeProposerBoostScoreFromBalances 1400000 validators 3.4634 ms/op 3.3652 ms/op 1.03
computeProposerBoostScoreFromBalances 2100000 validators 3.4529 ms/op 3.3325 ms/op 1.04
altair processAttestation - 250000 vs - 7PWei normalcase 3.4540 ms/op 2.6165 ms/op 1.32
altair processAttestation - 250000 vs - 7PWei worstcase 3.7142 ms/op 3.3520 ms/op 1.11
altair processAttestation - setStatus - 1/6 committees join 141.29 us/op 184.87 us/op 0.76
altair processAttestation - setStatus - 1/3 committees join 278.20 us/op 337.97 us/op 0.82
altair processAttestation - setStatus - 1/2 committees join 397.96 us/op 462.75 us/op 0.86
altair processAttestation - setStatus - 2/3 committees join 542.95 us/op 582.79 us/op 0.93
altair processAttestation - setStatus - 4/5 committees join 689.91 us/op 793.61 us/op 0.87
altair processAttestation - setStatus - 100% committees join 862.70 us/op 908.71 us/op 0.95
altair processBlock - 250000 vs - 7PWei normalcase 7.7444 ms/op 8.1269 ms/op 0.95
altair processBlock - 250000 vs - 7PWei normalcase hashState 35.848 ms/op 32.756 ms/op 1.09
altair processBlock - 250000 vs - 7PWei worstcase 40.514 ms/op 40.913 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase hashState 97.730 ms/op 91.805 ms/op 1.06
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5059 ms/op 2.8176 ms/op 0.89
phase0 processBlock - 250000 vs - 7PWei worstcase 34.405 ms/op 34.750 ms/op 0.99
altair processEth1Data - 250000 vs - 7PWei normalcase 632.31 us/op 524.74 us/op 1.21
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 14.602 us/op 10.285 us/op 1.42
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 77.309 us/op 81.925 us/op 0.94
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 20.987 us/op 20.198 us/op 1.04
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 12.682 us/op 10.627 us/op 1.19
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 204.73 us/op 161.84 us/op 1.27
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3002 ms/op 1.1191 ms/op 1.16
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.0398 ms/op 1.9814 ms/op 1.03
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6837 ms/op 1.6511 ms/op 1.02
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.9950 ms/op 3.6033 ms/op 1.11
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.7052 ms/op 2.4811 ms/op 1.09
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.7685 ms/op 5.4321 ms/op 1.06
Tree 40 250000 create 394.98 ms/op 326.37 ms/op 1.21
Tree 40 250000 get(125000) 219.54 ns/op 204.41 ns/op 1.07
Tree 40 250000 set(125000) 1.0696 us/op 934.65 ns/op 1.14
Tree 40 250000 toArray() 22.875 ms/op 20.197 ms/op 1.13
Tree 40 250000 iterate all - toArray() + loop 23.868 ms/op 21.747 ms/op 1.10
Tree 40 250000 iterate all - get(i) 73.100 ms/op 73.471 ms/op 0.99
MutableVector 250000 create 10.455 ms/op 13.536 ms/op 0.77
MutableVector 250000 get(125000) 6.6390 ns/op 6.5360 ns/op 1.02
MutableVector 250000 set(125000) 270.65 ns/op 257.04 ns/op 1.05
MutableVector 250000 toArray() 3.1887 ms/op 3.2546 ms/op 0.98
MutableVector 250000 iterate all - toArray() + loop 3.3333 ms/op 3.3008 ms/op 1.01
MutableVector 250000 iterate all - get(i) 1.5061 ms/op 1.5887 ms/op 0.95
Array 250000 create 2.7055 ms/op 3.2399 ms/op 0.84
Array 250000 clone - spread 1.1950 ms/op 1.1271 ms/op 1.06
Array 250000 get(125000) 0.58900 ns/op 0.55800 ns/op 1.06
Array 250000 set(125000) 0.65600 ns/op 0.63400 ns/op 1.03
Array 250000 iterate all - loop 81.668 us/op 84.551 us/op 0.97
effectiveBalanceIncrements clone Uint8Array 300000 28.554 us/op 35.651 us/op 0.80
effectiveBalanceIncrements clone MutableVector 300000 361.00 ns/op 303.00 ns/op 1.19
effectiveBalanceIncrements rw all Uint8Array 300000 181.32 us/op 179.80 us/op 1.01
effectiveBalanceIncrements rw all MutableVector 300000 82.370 ms/op 86.116 ms/op 0.96
phase0 afterProcessEpoch - 250000 vs - 7PWei 113.66 ms/op 116.21 ms/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 33.227 ms/op 40.002 ms/op 0.83
altair processEpoch - mainnet_e81889 456.31 ms/op 427.70 ms/op 1.07
mainnet_e81889 - altair beforeProcessEpoch 47.958 ms/op 61.787 ms/op 0.78
mainnet_e81889 - altair processJustificationAndFinalization 14.284 us/op 16.639 us/op 0.86
mainnet_e81889 - altair processInactivityUpdates 7.0029 ms/op 7.7269 ms/op 0.91
mainnet_e81889 - altair processRewardsAndPenalties 59.654 ms/op 59.902 ms/op 1.00
mainnet_e81889 - altair processRegistryUpdates 2.5490 us/op 7.3530 us/op 0.35
mainnet_e81889 - altair processSlashings 485.00 ns/op 1.5170 us/op 0.32
mainnet_e81889 - altair processEth1DataReset 517.00 ns/op 560.00 ns/op 0.92
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3169 ms/op 1.2843 ms/op 1.03
mainnet_e81889 - altair processSlashingsReset 3.2420 us/op 6.5640 us/op 0.49
mainnet_e81889 - altair processRandaoMixesReset 5.5210 us/op 6.0000 us/op 0.92
mainnet_e81889 - altair processHistoricalRootsUpdate 972.00 ns/op 858.00 ns/op 1.13
mainnet_e81889 - altair processParticipationFlagUpdates 4.6350 us/op 2.0820 us/op 2.23
mainnet_e81889 - altair processSyncCommitteeUpdates 502.00 ns/op 868.00 ns/op 0.58
mainnet_e81889 - altair afterProcessEpoch 128.07 ms/op 127.29 ms/op 1.01
capella processEpoch - mainnet_e217614 1.4106 s/op 1.4493 s/op 0.97
mainnet_e217614 - capella beforeProcessEpoch 224.52 ms/op 245.87 ms/op 0.91
mainnet_e217614 - capella processJustificationAndFinalization 13.185 us/op 14.291 us/op 0.92
mainnet_e217614 - capella processInactivityUpdates 20.550 ms/op 21.814 ms/op 0.94
mainnet_e217614 - capella processRewardsAndPenalties 263.63 ms/op 266.49 ms/op 0.99
mainnet_e217614 - capella processRegistryUpdates 21.569 us/op 22.915 us/op 0.94
mainnet_e217614 - capella processSlashings 508.00 ns/op 943.00 ns/op 0.54
mainnet_e217614 - capella processEth1DataReset 431.00 ns/op 461.00 ns/op 0.93
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.2126 ms/op 4.1840 ms/op 1.01
mainnet_e217614 - capella processSlashingsReset 2.8020 us/op 3.2190 us/op 0.87
mainnet_e217614 - capella processRandaoMixesReset 5.0950 us/op 6.1170 us/op 0.83
mainnet_e217614 - capella processHistoricalRootsUpdate 605.00 ns/op 1.0170 us/op 0.59
mainnet_e217614 - capella processParticipationFlagUpdates 2.0740 us/op 2.1730 us/op 0.95
mainnet_e217614 - capella afterProcessEpoch 309.12 ms/op 307.48 ms/op 1.01
phase0 processEpoch - mainnet_e58758 427.56 ms/op 467.60 ms/op 0.91
mainnet_e58758 - phase0 beforeProcessEpoch 108.49 ms/op 112.86 ms/op 0.96
mainnet_e58758 - phase0 processJustificationAndFinalization 18.366 us/op 17.163 us/op 1.07
mainnet_e58758 - phase0 processRewardsAndPenalties 40.375 ms/op 54.107 ms/op 0.75
mainnet_e58758 - phase0 processRegistryUpdates 9.6280 us/op 12.028 us/op 0.80
mainnet_e58758 - phase0 processSlashings 522.00 ns/op 518.00 ns/op 1.01
mainnet_e58758 - phase0 processEth1DataReset 398.00 ns/op 548.00 ns/op 0.73
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0440 ms/op 1.0443 ms/op 1.00
mainnet_e58758 - phase0 processSlashingsReset 2.4520 us/op 4.4170 us/op 0.56
mainnet_e58758 - phase0 processRandaoMixesReset 4.3190 us/op 6.6660 us/op 0.65
mainnet_e58758 - phase0 processHistoricalRootsUpdate 811.00 ns/op 715.00 ns/op 1.13
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.4810 us/op 4.4110 us/op 1.02
mainnet_e58758 - phase0 afterProcessEpoch 105.89 ms/op 104.57 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.9538 ms/op 1.3607 ms/op 1.44
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5017 ms/op 1.4878 ms/op 1.01
altair processInactivityUpdates - 250000 normalcase 23.677 ms/op 24.084 ms/op 0.98
altair processInactivityUpdates - 250000 worstcase 22.787 ms/op 23.488 ms/op 0.97
phase0 processRegistryUpdates - 250000 normalcase 10.284 us/op 9.8380 us/op 1.05
phase0 processRegistryUpdates - 250000 badcase_full_deposits 360.64 us/op 446.18 us/op 0.81
phase0 processRegistryUpdates - 250000 worstcase 0.5 140.39 ms/op 159.64 ms/op 0.88
altair processRewardsAndPenalties - 250000 normalcase 64.610 ms/op 67.835 ms/op 0.95
altair processRewardsAndPenalties - 250000 worstcase 65.572 ms/op 63.894 ms/op 1.03
phase0 getAttestationDeltas - 250000 normalcase 8.9204 ms/op 8.2109 ms/op 1.09
phase0 getAttestationDeltas - 250000 worstcase 8.3187 ms/op 9.6497 ms/op 0.86
phase0 processSlashings - 250000 worstcase 2.4321 ms/op 2.4689 ms/op 0.99
altair processSyncCommitteeUpdates - 250000 161.82 ms/op 167.67 ms/op 0.97
BeaconState.hashTreeRoot - No change 360.00 ns/op 347.00 ns/op 1.04
BeaconState.hashTreeRoot - 1 full validator 158.68 us/op 153.00 us/op 1.04
BeaconState.hashTreeRoot - 32 full validator 1.7242 ms/op 1.7073 ms/op 1.01
BeaconState.hashTreeRoot - 512 full validator 19.609 ms/op 16.136 ms/op 1.22
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 196.25 us/op 177.53 us/op 1.11
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.2888 ms/op 2.3438 ms/op 0.98
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 26.846 ms/op 35.091 ms/op 0.77
BeaconState.hashTreeRoot - 1 balances 137.45 us/op 153.33 us/op 0.90
BeaconState.hashTreeRoot - 32 balances 1.4803 ms/op 1.6414 ms/op 0.90
BeaconState.hashTreeRoot - 512 balances 13.245 ms/op 12.836 ms/op 1.03
BeaconState.hashTreeRoot - 250000 balances 222.37 ms/op 232.57 ms/op 0.96
aggregationBits - 2048 els - zipIndexesInBitList 16.003 us/op 16.883 us/op 0.95
regular array get 100000 times 34.037 us/op 44.125 us/op 0.77
wrappedArray get 100000 times 33.915 us/op 33.858 us/op 1.00
arrayWithProxy get 100000 times 14.507 ms/op 14.755 ms/op 0.98
ssz.Root.equals 229.00 ns/op 235.00 ns/op 0.97
byteArrayEquals 237.00 ns/op 231.00 ns/op 1.03
shuffle list - 16384 els 7.0334 ms/op 7.1696 ms/op 0.98
shuffle list - 250000 els 103.37 ms/op 104.48 ms/op 0.99
processSlot - 1 slots 18.035 us/op 18.912 us/op 0.95
processSlot - 32 slots 3.7112 ms/op 4.3849 ms/op 0.85
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 53.594 ms/op 56.141 ms/op 0.95
getCommitteeAssignments - req 1 vs - 250000 vc 2.6420 ms/op 2.5986 ms/op 1.02
getCommitteeAssignments - req 100 vs - 250000 vc 3.8594 ms/op 3.8613 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1879 ms/op 4.2717 ms/op 0.98
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.1600 ns/op 5.3100 ns/op 0.97
state getBlockRootAtSlot - 250000 vs - 7PWei 538.28 ns/op 614.29 ns/op 0.88
computeProposers - vc 250000 9.3599 ms/op 9.3913 ms/op 1.00
computeEpochShuffling - vc 250000 112.02 ms/op 109.38 ms/op 1.02
getNextSyncCommittee - vc 250000 156.80 ms/op 163.38 ms/op 0.96
computeSigningRoot for AttestationData 24.002 us/op 25.301 us/op 0.95
hash AttestationData serialized data then Buffer.toString(base64) 2.4260 us/op 2.4042 us/op 1.01
toHexString serialized data 1.0990 us/op 1.1470 us/op 0.96
Buffer.toString(base64) 237.99 ns/op 238.73 ns/op 1.00

by benchmarkbot/action

@nflaig nflaig requested a review from twoeths September 13, 2023 08:20
@nflaig nflaig requested a review from twoeths September 14, 2023 07:37
@wemeetagain wemeetagain merged commit 37f404f into unstable Sep 15, 2023
11 checks passed
@wemeetagain wemeetagain deleted the nflaig/next-attestation-slot branch September 15, 2023 01:35
@wemeetagain
Copy link
Member

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

Expose VC metric to determine timing of next attestation
3 participants