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

docs: add section about metrics to style guide #6048

Merged
merged 1 commit into from
Oct 19, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Oct 18, 2023

Motivation

Based on discussions in PR #5800 I think we need more clarity on how metrics should be defined in Lodestar. This is especially important for new contributors.

Description

Adds section about metrics to style guide. @wemeetagain I referenced your talk because it is great, hope you don't mind 🤞

@nflaig nflaig requested a review from a team as a code owner October 18, 2023 16:19
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: b5b4529 Previous: 724c79a Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 628.42 us/op 825.35 us/op 0.76
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 82.108 us/op 84.889 us/op 0.97
BLS verify - blst-native 1.3522 ms/op 1.3582 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 2.8416 ms/op 2.8202 ms/op 1.01
BLS verifyMultipleSignatures 8 - blst-native 6.2126 ms/op 6.3585 ms/op 0.98
BLS verifyMultipleSignatures 32 - blst-native 22.970 ms/op 23.528 ms/op 0.98
BLS verifyMultipleSignatures 64 - blst-native 45.056 ms/op 44.953 ms/op 1.00
BLS verifyMultipleSignatures 128 - blst-native 90.007 ms/op 91.204 ms/op 0.99
BLS deserializing 10000 signatures 906.96 ms/op 926.84 ms/op 0.98
BLS deserializing 100000 signatures 9.2582 s/op 9.1192 s/op 1.02
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3628 ms/op 1.3462 ms/op 1.01
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5329 ms/op 1.5123 ms/op 1.01
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.5341 ms/op 2.3409 ms/op 1.08
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.4509 ms/op 3.4484 ms/op 1.00
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.4617 ms/op 5.6324 ms/op 1.15
BLS aggregatePubkeys 32 - blst-native 27.507 us/op 25.996 us/op 1.06
BLS aggregatePubkeys 128 - blst-native 103.52 us/op 101.29 us/op 1.02
getAttestationsForBlock 44.196 ms/op 46.025 ms/op 0.96
isKnown best case - 1 super set check 328.00 ns/op 327.00 ns/op 1.00
isKnown normal case - 2 super set checks 316.00 ns/op 272.00 ns/op 1.16
isKnown worse case - 16 super set checks 292.00 ns/op 284.00 ns/op 1.03
CheckpointStateCache - add get delete 5.3870 us/op 5.4240 us/op 0.99
validate api signedAggregateAndProof - struct 2.8443 ms/op 2.8264 ms/op 1.01
validate gossip signedAggregateAndProof - struct 2.9452 ms/op 2.8103 ms/op 1.05
validate gossip attestation - vc 640000 1.4391 ms/op 1.3705 ms/op 1.05
batch validate gossip attestation - vc 640000 - chunk 32 175.98 us/op 166.76 us/op 1.06
batch validate gossip attestation - vc 640000 - chunk 64 156.55 us/op 146.00 us/op 1.07
batch validate gossip attestation - vc 640000 - chunk 128 149.95 us/op 170.17 us/op 0.88
batch validate gossip attestation - vc 640000 - chunk 256 136.95 us/op 140.29 us/op 0.98
pickEth1Vote - no votes 1.2764 ms/op 1.2569 ms/op 1.02
pickEth1Vote - max votes 9.0098 ms/op 11.687 ms/op 0.77
pickEth1Vote - Eth1Data hashTreeRoot value x2048 18.582 ms/op 19.089 ms/op 0.97
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.008 ms/op 24.481 ms/op 1.06
pickEth1Vote - Eth1Data fastSerialize value x2048 651.14 us/op 621.52 us/op 1.05
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.9285 ms/op 4.2950 ms/op 1.15
bytes32 toHexString 492.00 ns/op 497.00 ns/op 0.99
bytes32 Buffer.toString(hex) 310.00 ns/op 281.00 ns/op 1.10
bytes32 Buffer.toString(hex) from Uint8Array 460.00 ns/op 459.00 ns/op 1.00
bytes32 Buffer.toString(hex) + 0x 302.00 ns/op 287.00 ns/op 1.05
Object access 1 prop 0.18000 ns/op 0.15500 ns/op 1.16
Map access 1 prop 0.16900 ns/op 0.14500 ns/op 1.17
Object get x1000 8.0380 ns/op 7.0110 ns/op 1.15
Map get x1000 0.69500 ns/op 0.54800 ns/op 1.27
Object set x1000 54.734 ns/op 54.004 ns/op 1.01
Map set x1000 43.925 ns/op 45.945 ns/op 0.96
Return object 10000 times 0.24980 ns/op 0.24400 ns/op 1.02
Throw Error 10000 times 3.9735 us/op 3.8005 us/op 1.05
fastMsgIdFn sha256 / 200 bytes 3.4030 us/op 3.3600 us/op 1.01
fastMsgIdFn h32 xxhash / 200 bytes 298.00 ns/op 306.00 ns/op 0.97
fastMsgIdFn h64 xxhash / 200 bytes 348.00 ns/op 364.00 ns/op 0.96
fastMsgIdFn sha256 / 1000 bytes 11.631 us/op 11.580 us/op 1.00
fastMsgIdFn h32 xxhash / 1000 bytes 432.00 ns/op 432.00 ns/op 1.00
fastMsgIdFn h64 xxhash / 1000 bytes 433.00 ns/op 430.00 ns/op 1.01
fastMsgIdFn sha256 / 10000 bytes 106.73 us/op 105.83 us/op 1.01
fastMsgIdFn h32 xxhash / 10000 bytes 1.9980 us/op 1.9510 us/op 1.02
fastMsgIdFn h64 xxhash / 10000 bytes 1.3490 us/op 1.3370 us/op 1.01
send data - 1000 256B messages 19.652 ms/op 20.422 ms/op 0.96
send data - 1000 512B messages 27.436 ms/op 27.712 ms/op 0.99
send data - 1000 1024B messages 42.511 ms/op 41.366 ms/op 1.03
send data - 1000 1200B messages 29.235 ms/op 23.047 ms/op 1.27
send data - 1000 2048B messages 34.805 ms/op 33.664 ms/op 1.03
send data - 1000 4096B messages 33.270 ms/op 35.442 ms/op 0.94
send data - 1000 16384B messages 78.224 ms/op 77.239 ms/op 1.01
send data - 1000 65536B messages 285.56 ms/op 289.93 ms/op 0.98
enrSubnets - fastDeserialize 64 bits 1.4700 us/op 1.2690 us/op 1.16
enrSubnets - ssz BitVector 64 bits 469.00 ns/op 417.00 ns/op 1.12
enrSubnets - fastDeserialize 4 bits 204.00 ns/op 161.00 ns/op 1.27
enrSubnets - ssz BitVector 4 bits 475.00 ns/op 425.00 ns/op 1.12
prioritizePeers score -10:0 att 32-0.1 sync 2-0 112.66 us/op 99.019 us/op 1.14
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 132.10 us/op 121.36 us/op 1.09
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 171.16 us/op 156.03 us/op 1.10
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 300.57 us/op 299.11 us/op 1.00
prioritizePeers score 0:0 att 64-1 sync 4-1 364.47 us/op 351.06 us/op 1.04
array of 16000 items push then shift 1.7026 us/op 1.6538 us/op 1.03
LinkedList of 16000 items push then shift 9.5440 ns/op 9.1640 ns/op 1.04
array of 16000 items push then pop 95.987 ns/op 79.265 ns/op 1.21
LinkedList of 16000 items push then pop 9.4310 ns/op 8.7640 ns/op 1.08
array of 24000 items push then shift 2.6252 us/op 2.3942 us/op 1.10
LinkedList of 24000 items push then shift 9.5780 ns/op 8.8710 ns/op 1.08
array of 24000 items push then pop 125.11 ns/op 117.46 ns/op 1.07
LinkedList of 24000 items push then pop 9.9080 ns/op 8.8060 ns/op 1.13
intersect bitArray bitLen 8 7.2530 ns/op 7.0970 ns/op 1.02
intersect array and set length 8 67.127 ns/op 55.785 ns/op 1.20
intersect bitArray bitLen 128 34.883 ns/op 32.360 ns/op 1.08
intersect array and set length 128 847.28 ns/op 753.57 ns/op 1.12
bitArray.getTrueBitIndexes() bitLen 128 1.7840 us/op 1.3940 us/op 1.28
bitArray.getTrueBitIndexes() bitLen 248 2.9770 us/op 2.3430 us/op 1.27
bitArray.getTrueBitIndexes() bitLen 512 5.6770 us/op 4.7280 us/op 1.20
Buffer.concat 32 items 1.1980 us/op 948.00 ns/op 1.26
Uint8Array.set 32 items 1.8490 us/op 1.6050 us/op 1.15
Set add up to 64 items then delete first 4.7950 us/op 4.3045 us/op 1.11
OrderedSet add up to 64 items then delete first 5.7582 us/op 5.4424 us/op 1.06
Set add up to 64 items then delete last 5.0672 us/op 5.0037 us/op 1.01
OrderedSet add up to 64 items then delete last 6.0114 us/op 6.3699 us/op 0.94
Set add up to 64 items then delete middle 4.8884 us/op 4.9036 us/op 1.00
OrderedSet add up to 64 items then delete middle 7.4151 us/op 7.5267 us/op 0.99
Set add up to 128 items then delete first 9.7823 us/op 9.8797 us/op 0.99
OrderedSet add up to 128 items then delete first 13.215 us/op 12.781 us/op 1.03
Set add up to 128 items then delete last 9.8998 us/op 9.4378 us/op 1.05
OrderedSet add up to 128 items then delete last 12.376 us/op 11.576 us/op 1.07
Set add up to 128 items then delete middle 9.5694 us/op 9.2021 us/op 1.04
OrderedSet add up to 128 items then delete middle 17.945 us/op 17.595 us/op 1.02
Set add up to 256 items then delete first 20.044 us/op 19.421 us/op 1.03
OrderedSet add up to 256 items then delete first 26.608 us/op 25.962 us/op 1.02
Set add up to 256 items then delete last 19.410 us/op 18.436 us/op 1.05
OrderedSet add up to 256 items then delete last 24.427 us/op 23.831 us/op 1.03
Set add up to 256 items then delete middle 19.056 us/op 19.231 us/op 0.99
OrderedSet add up to 256 items then delete middle 47.646 us/op 46.956 us/op 1.01
transfer serialized Status (84 B) 1.8420 us/op 1.7840 us/op 1.03
copy serialized Status (84 B) 1.5210 us/op 1.6020 us/op 0.95
transfer serialized SignedVoluntaryExit (112 B) 2.0560 us/op 2.0480 us/op 1.00
copy serialized SignedVoluntaryExit (112 B) 1.6330 us/op 1.7430 us/op 0.94
transfer serialized ProposerSlashing (416 B) 2.1740 us/op 2.6290 us/op 0.83
copy serialized ProposerSlashing (416 B) 2.2630 us/op 2.3960 us/op 0.94
transfer serialized Attestation (485 B) 2.4540 us/op 2.2340 us/op 1.10
copy serialized Attestation (485 B) 2.5680 us/op 3.3680 us/op 0.76
transfer serialized AttesterSlashing (33232 B) 2.6230 us/op 2.8800 us/op 0.91
copy serialized AttesterSlashing (33232 B) 5.8160 us/op 7.7170 us/op 0.75
transfer serialized Small SignedBeaconBlock (128000 B) 3.0510 us/op 3.4170 us/op 0.89
copy serialized Small SignedBeaconBlock (128000 B) 14.699 us/op 48.838 us/op 0.30
transfer serialized Avg SignedBeaconBlock (200000 B) 3.6950 us/op 3.4860 us/op 1.06
copy serialized Avg SignedBeaconBlock (200000 B) 24.230 us/op 27.011 us/op 0.90
transfer serialized BlobsSidecar (524380 B) 3.5240 us/op 3.4550 us/op 1.02
copy serialized BlobsSidecar (524380 B) 84.056 us/op 105.92 us/op 0.79
transfer serialized Big SignedBeaconBlock (1000000 B) 3.8600 us/op 3.5370 us/op 1.09
copy serialized Big SignedBeaconBlock (1000000 B) 162.51 us/op 144.65 us/op 1.12
pass gossip attestations to forkchoice per slot 3.9378 ms/op 4.2303 ms/op 0.93
forkChoice updateHead vc 100000 bc 64 eq 0 795.27 us/op 727.94 us/op 1.09
forkChoice updateHead vc 600000 bc 64 eq 0 4.7018 ms/op 5.2548 ms/op 0.89
forkChoice updateHead vc 1000000 bc 64 eq 0 7.4870 ms/op 7.3134 ms/op 1.02
forkChoice updateHead vc 600000 bc 320 eq 0 4.4933 ms/op 4.4576 ms/op 1.01
forkChoice updateHead vc 600000 bc 1200 eq 0 4.5050 ms/op 4.5023 ms/op 1.00
forkChoice updateHead vc 600000 bc 7200 eq 0 5.7301 ms/op 5.2823 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 1000 11.690 ms/op 11.470 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 10000 12.492 ms/op 12.487 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 300000 16.523 ms/op 16.639 ms/op 0.99
computeDeltas 500000 validators 300 proto nodes 6.5883 ms/op 6.5140 ms/op 1.01
computeDeltas 500000 validators 1200 proto nodes 6.6451 ms/op 6.5351 ms/op 1.02
computeDeltas 500000 validators 7200 proto nodes 6.4942 ms/op 6.4481 ms/op 1.01
computeDeltas 750000 validators 300 proto nodes 9.8617 ms/op 9.9355 ms/op 0.99
computeDeltas 750000 validators 1200 proto nodes 9.8774 ms/op 9.8121 ms/op 1.01
computeDeltas 750000 validators 7200 proto nodes 9.8628 ms/op 10.000 ms/op 0.99
computeDeltas 1400000 validators 300 proto nodes 18.491 ms/op 19.273 ms/op 0.96
computeDeltas 1400000 validators 1200 proto nodes 18.475 ms/op 19.216 ms/op 0.96
computeDeltas 1400000 validators 7200 proto nodes 18.710 ms/op 18.514 ms/op 1.01
computeDeltas 2100000 validators 300 proto nodes 27.652 ms/op 28.329 ms/op 0.98
computeDeltas 2100000 validators 1200 proto nodes 27.760 ms/op 31.518 ms/op 0.88
computeDeltas 2100000 validators 7200 proto nodes 27.471 ms/op 31.740 ms/op 0.87
computeProposerBoostScoreFromBalances 500000 validators 3.5983 ms/op 3.7501 ms/op 0.96
computeProposerBoostScoreFromBalances 750000 validators 3.3399 ms/op 3.4541 ms/op 0.97
computeProposerBoostScoreFromBalances 1400000 validators 3.3495 ms/op 3.3643 ms/op 1.00
computeProposerBoostScoreFromBalances 2100000 validators 3.3819 ms/op 3.3634 ms/op 1.01
altair processAttestation - 250000 vs - 7PWei normalcase 2.5625 ms/op 2.3912 ms/op 1.07
altair processAttestation - 250000 vs - 7PWei worstcase 3.5956 ms/op 3.9872 ms/op 0.90
altair processAttestation - setStatus - 1/6 committees join 186.81 us/op 182.21 us/op 1.03
altair processAttestation - setStatus - 1/3 committees join 362.59 us/op 355.14 us/op 1.02
altair processAttestation - setStatus - 1/2 committees join 486.88 us/op 493.51 us/op 0.99
altair processAttestation - setStatus - 2/3 committees join 612.77 us/op 624.24 us/op 0.98
altair processAttestation - setStatus - 4/5 committees join 819.09 us/op 847.21 us/op 0.97
altair processAttestation - setStatus - 100% committees join 1.0058 ms/op 986.65 us/op 1.02
altair processBlock - 250000 vs - 7PWei normalcase 9.8374 ms/op 10.456 ms/op 0.94
altair processBlock - 250000 vs - 7PWei normalcase hashState 32.008 ms/op 33.190 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase 42.004 ms/op 43.359 ms/op 0.97
altair processBlock - 250000 vs - 7PWei worstcase hashState 89.061 ms/op 93.977 ms/op 0.95
phase0 processBlock - 250000 vs - 7PWei normalcase 2.6140 ms/op 2.8706 ms/op 0.91
phase0 processBlock - 250000 vs - 7PWei worstcase 31.776 ms/op 34.412 ms/op 0.92
altair processEth1Data - 250000 vs - 7PWei normalcase 556.62 us/op 646.05 us/op 0.86
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.733 us/op 13.063 us/op 0.82
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 81.703 us/op 74.724 us/op 1.09
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 18.814 us/op 25.440 us/op 0.74
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 13.845 us/op 11.836 us/op 1.17
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 173.74 us/op 215.14 us/op 0.81
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.5104 ms/op 1.2542 ms/op 2.00
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.7453 ms/op 1.6701 ms/op 1.64
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5840 ms/op 1.6779 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.8123 ms/op 3.9269 ms/op 0.97
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.1214 ms/op 2.6425 ms/op 0.80
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.1178 ms/op 6.3545 ms/op 0.81
Tree 40 250000 create 313.20 ms/op 453.42 ms/op 0.69
Tree 40 250000 get(125000) 211.11 ns/op 211.63 ns/op 1.00
Tree 40 250000 set(125000) 949.74 ns/op 1.0738 us/op 0.88
Tree 40 250000 toArray() 20.209 ms/op 23.181 ms/op 0.87
Tree 40 250000 iterate all - toArray() + loop 19.540 ms/op 25.385 ms/op 0.77
Tree 40 250000 iterate all - get(i) 77.956 ms/op 77.760 ms/op 1.00
MutableVector 250000 create 12.314 ms/op 11.320 ms/op 1.09
MutableVector 250000 get(125000) 6.9510 ns/op 6.7110 ns/op 1.04
MutableVector 250000 set(125000) 287.25 ns/op 305.04 ns/op 0.94
MutableVector 250000 toArray() 3.8330 ms/op 4.0421 ms/op 0.95
MutableVector 250000 iterate all - toArray() + loop 3.6319 ms/op 4.1586 ms/op 0.87
MutableVector 250000 iterate all - get(i) 1.5627 ms/op 1.5523 ms/op 1.01
Array 250000 create 2.3739 ms/op 4.2148 ms/op 0.56
Array 250000 clone - spread 1.0189 ms/op 1.1164 ms/op 0.91
Array 250000 get(125000) 0.50300 ns/op 0.52400 ns/op 0.96
Array 250000 set(125000) 0.58000 ns/op 0.62100 ns/op 0.93
Array 250000 iterate all - loop 88.672 us/op 88.473 us/op 1.00
effectiveBalanceIncrements clone Uint8Array 300000 24.035 us/op 50.912 us/op 0.47
effectiveBalanceIncrements clone MutableVector 300000 277.00 ns/op 264.00 ns/op 1.05
effectiveBalanceIncrements rw all Uint8Array 300000 182.03 us/op 174.06 us/op 1.05
effectiveBalanceIncrements rw all MutableVector 300000 77.016 ms/op 110.55 ms/op 0.70
phase0 afterProcessEpoch - 250000 vs - 7PWei 118.67 ms/op 127.18 ms/op 0.93
phase0 beforeProcessEpoch - 250000 vs - 7PWei 46.339 ms/op 43.733 ms/op 1.06
altair processEpoch - mainnet_e81889 473.24 ms/op 471.21 ms/op 1.00
mainnet_e81889 - altair beforeProcessEpoch 73.839 ms/op 68.845 ms/op 1.07
mainnet_e81889 - altair processJustificationAndFinalization 28.388 us/op 16.666 us/op 1.70
mainnet_e81889 - altair processInactivityUpdates 8.8256 ms/op 6.2096 ms/op 1.42
mainnet_e81889 - altair processRewardsAndPenalties 95.419 ms/op 50.489 ms/op 1.89
mainnet_e81889 - altair processRegistryUpdates 9.0200 us/op 3.7110 us/op 2.43
mainnet_e81889 - altair processSlashings 1.9160 us/op 567.00 ns/op 3.38
mainnet_e81889 - altair processEth1DataReset 1.0300 us/op 890.00 ns/op 1.16
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9109 ms/op 1.3325 ms/op 1.43
mainnet_e81889 - altair processSlashingsReset 9.2130 us/op 5.0290 us/op 1.83
mainnet_e81889 - altair processRandaoMixesReset 13.494 us/op 5.2980 us/op 2.55
mainnet_e81889 - altair processHistoricalRootsUpdate 2.6970 us/op 874.00 ns/op 3.09
mainnet_e81889 - altair processParticipationFlagUpdates 5.3920 us/op 2.6140 us/op 2.06
mainnet_e81889 - altair processSyncCommitteeUpdates 1.9680 us/op 766.00 ns/op 2.57
mainnet_e81889 - altair afterProcessEpoch 149.61 ms/op 131.34 ms/op 1.14
capella processEpoch - mainnet_e217614 1.8626 s/op 1.5019 s/op 1.24
mainnet_e217614 - capella beforeProcessEpoch 255.44 ms/op 263.50 ms/op 0.97
mainnet_e217614 - capella processJustificationAndFinalization 15.796 us/op 21.178 us/op 0.75
mainnet_e217614 - capella processInactivityUpdates 21.292 ms/op 16.642 ms/op 1.28
mainnet_e217614 - capella processRewardsAndPenalties 338.29 ms/op 297.92 ms/op 1.14
mainnet_e217614 - capella processRegistryUpdates 37.619 us/op 22.654 us/op 1.66
mainnet_e217614 - capella processSlashings 1.8900 us/op 611.00 ns/op 3.09
mainnet_e217614 - capella processEth1DataReset 1.6820 us/op 511.00 ns/op 3.29
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.6967 ms/op 4.3159 ms/op 1.32
mainnet_e217614 - capella processSlashingsReset 2.5880 us/op 2.4660 us/op 1.05
mainnet_e217614 - capella processRandaoMixesReset 4.6160 us/op 6.9660 us/op 0.66
mainnet_e217614 - capella processHistoricalRootsUpdate 2.0920 us/op 719.00 ns/op 2.91
mainnet_e217614 - capella processParticipationFlagUpdates 2.3290 us/op 3.2410 us/op 0.72
mainnet_e217614 - capella afterProcessEpoch 385.20 ms/op 307.62 ms/op 1.25
phase0 processEpoch - mainnet_e58758 514.31 ms/op 425.16 ms/op 1.21
mainnet_e58758 - phase0 beforeProcessEpoch 147.35 ms/op 122.96 ms/op 1.20
mainnet_e58758 - phase0 processJustificationAndFinalization 30.347 us/op 15.824 us/op 1.92
mainnet_e58758 - phase0 processRewardsAndPenalties 62.300 ms/op 52.863 ms/op 1.18
mainnet_e58758 - phase0 processRegistryUpdates 12.145 us/op 10.999 us/op 1.10
mainnet_e58758 - phase0 processSlashings 619.00 ns/op 508.00 ns/op 1.22
mainnet_e58758 - phase0 processEth1DataReset 566.00 ns/op 559.00 ns/op 1.01
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2862 ms/op 1.0149 ms/op 1.27
mainnet_e58758 - phase0 processSlashingsReset 4.2930 us/op 2.6110 us/op 1.64
mainnet_e58758 - phase0 processRandaoMixesReset 12.459 us/op 5.8680 us/op 2.12
mainnet_e58758 - phase0 processHistoricalRootsUpdate 2.1680 us/op 732.00 ns/op 2.96
mainnet_e58758 - phase0 processParticipationRecordUpdates 7.8820 us/op 4.1590 us/op 1.90
mainnet_e58758 - phase0 afterProcessEpoch 114.91 ms/op 104.83 ms/op 1.10
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.4081 ms/op 2.0418 ms/op 1.18
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.4046 ms/op 1.4727 ms/op 1.63
altair processInactivityUpdates - 250000 normalcase 26.626 ms/op 26.302 ms/op 1.01
altair processInactivityUpdates - 250000 worstcase 29.579 ms/op 25.906 ms/op 1.14
phase0 processRegistryUpdates - 250000 normalcase 15.282 us/op 10.362 us/op 1.47
phase0 processRegistryUpdates - 250000 badcase_full_deposits 439.10 us/op 341.78 us/op 1.28
phase0 processRegistryUpdates - 250000 worstcase 0.5 152.12 ms/op 137.15 ms/op 1.11
altair processRewardsAndPenalties - 250000 normalcase 68.409 ms/op 72.840 ms/op 0.94
altair processRewardsAndPenalties - 250000 worstcase 68.033 ms/op 73.114 ms/op 0.93
phase0 getAttestationDeltas - 250000 normalcase 11.021 ms/op 7.9746 ms/op 1.38
phase0 getAttestationDeltas - 250000 worstcase 11.314 ms/op 7.7413 ms/op 1.46
phase0 processSlashings - 250000 worstcase 2.6292 ms/op 2.2825 ms/op 1.15
altair processSyncCommitteeUpdates - 250000 170.77 ms/op 147.42 ms/op 1.16
BeaconState.hashTreeRoot - No change 293.00 ns/op 259.00 ns/op 1.13
BeaconState.hashTreeRoot - 1 full validator 182.08 us/op 111.09 us/op 1.64
BeaconState.hashTreeRoot - 32 full validator 1.9400 ms/op 1.1642 ms/op 1.67
BeaconState.hashTreeRoot - 512 full validator 20.539 ms/op 15.070 ms/op 1.36
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 222.64 us/op 171.56 us/op 1.30
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.6222 ms/op 2.0344 ms/op 1.29
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 28.657 ms/op 22.452 ms/op 1.28
BeaconState.hashTreeRoot - 1 balances 120.85 us/op 137.42 us/op 0.88
BeaconState.hashTreeRoot - 32 balances 1.2832 ms/op 1.2534 ms/op 1.02
BeaconState.hashTreeRoot - 512 balances 11.035 ms/op 13.866 ms/op 0.80
BeaconState.hashTreeRoot - 250000 balances 197.92 ms/op 185.00 ms/op 1.07
aggregationBits - 2048 els - zipIndexesInBitList 16.639 us/op 13.879 us/op 1.20
regular array get 100000 times 33.712 us/op 33.214 us/op 1.01
wrappedArray get 100000 times 45.658 us/op 32.989 us/op 1.38
arrayWithProxy get 100000 times 15.315 ms/op 14.390 ms/op 1.06
ssz.Root.equals 223.00 ns/op 209.00 ns/op 1.07
byteArrayEquals 223.00 ns/op 206.00 ns/op 1.08
shuffle list - 16384 els 7.1556 ms/op 6.9136 ms/op 1.04
shuffle list - 250000 els 104.11 ms/op 100.88 ms/op 1.03
processSlot - 1 slots 16.307 us/op 15.124 us/op 1.08
processSlot - 32 slots 3.1074 ms/op 3.0002 ms/op 1.04
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 49.911 ms/op 56.343 ms/op 0.89
getCommitteeAssignments - req 1 vs - 250000 vc 2.5264 ms/op 2.5863 ms/op 0.98
getCommitteeAssignments - req 100 vs - 250000 vc 3.7163 ms/op 3.7741 ms/op 0.98
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0743 ms/op 4.0874 ms/op 1.00
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.9300 ns/op 5.2100 ns/op 0.95
state getBlockRootAtSlot - 250000 vs - 7PWei 519.04 ns/op 575.56 ns/op 0.90
computeProposers - vc 250000 9.4755 ms/op 9.8589 ms/op 0.96
computeEpochShuffling - vc 250000 107.61 ms/op 108.84 ms/op 0.99
getNextSyncCommittee - vc 250000 154.83 ms/op 172.26 ms/op 0.90
computeSigningRoot for AttestationData 22.145 us/op 28.091 us/op 0.79
hash AttestationData serialized data then Buffer.toString(base64) 2.3477 us/op 2.3939 us/op 0.98
toHexString serialized data 1.1336 us/op 1.1189 us/op 1.01
Buffer.toString(base64) 212.70 ns/op 248.40 ns/op 0.86

by benchmarkbot/action

@philknows philknows merged commit c50db8f into unstable Oct 19, 2023
15 checks passed
@philknows philknows deleted the nflaig/metrics-style-guide branch October 19, 2023 08:09
@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.

4 participants