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: improve doppelganger protection logs #5987

Merged
merged 1 commit into from
Sep 23, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Sep 23, 2023

Motivation

Currently we do not log anything until doppelganger detection is complete. Logging the liveness check each epoch gives the user a bit more insights on what's going on, otherwise it feels a bit like the client is frozen / not doing anything.

Description

  • Adds more epoch information to existing dp logs, those were quite helpful to debug Doppelganger false positives #5675
  • Log doppelganger liveness check to info instead of debug, only log if there are indices to check

@nflaig nflaig requested a review from a team as a code owner September 23, 2023 12:46
@@ -118,11 +122,12 @@ export class DoppelgangerService {
}
}

this.logger.debug("doppelganger pollLiveness", {currentEpoch, indicesCount: indicesToCheckMap.size});
Copy link
Member Author

Choose a reason for hiding this comment

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

This means we won't be logging anything now if there are no indices to check but I don't see how that's useful anyways

@github-actions
Copy link
Contributor

github-actions bot commented Sep 23, 2023

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 91b8be6 Previous: 9618dd1 Ratio
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.7050 us/op 25.822 us/op 0.30
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.3870 us/op 24.124 us/op 0.31
Full benchmark results
Benchmark suite Current: 91b8be6 Previous: 9618dd1 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 716.40 us/op 814.25 us/op 0.88
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 76.060 us/op 109.28 us/op 0.70
BLS verify - blst-native 1.2919 ms/op 1.3630 ms/op 0.95
BLS verifyMultipleSignatures 3 - blst-native 2.7109 ms/op 2.8415 ms/op 0.95
BLS verifyMultipleSignatures 8 - blst-native 5.9598 ms/op 6.2390 ms/op 0.96
BLS verifyMultipleSignatures 32 - blst-native 21.766 ms/op 22.847 ms/op 0.95
BLS verifyMultipleSignatures 64 - blst-native 42.822 ms/op 44.905 ms/op 0.95
BLS verifyMultipleSignatures 128 - blst-native 85.028 ms/op 88.396 ms/op 0.96
BLS deserializing 10000 signatures 885.88 ms/op 918.63 ms/op 0.96
BLS deserializing 100000 signatures 8.7949 s/op 9.1709 s/op 0.96
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3254 ms/op 1.3601 ms/op 0.97
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4980 ms/op 1.6123 ms/op 0.93
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.2998 ms/op 2.3412 ms/op 0.98
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.3900 ms/op 3.5001 ms/op 0.97
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.5367 ms/op 5.6960 ms/op 0.97
BLS aggregatePubkeys 32 - blst-native 25.328 us/op 26.000 us/op 0.97
BLS aggregatePubkeys 128 - blst-native 99.788 us/op 102.50 us/op 0.97
getAttestationsForBlock 35.994 ms/op 44.286 ms/op 0.81
isKnown best case - 1 super set check 257.00 ns/op 360.00 ns/op 0.71
isKnown normal case - 2 super set checks 251.00 ns/op 453.00 ns/op 0.55
isKnown worse case - 16 super set checks 252.00 ns/op 441.00 ns/op 0.57
CheckpointStateCache - add get delete 4.8380 us/op 5.6820 us/op 0.85
validate api signedAggregateAndProof - struct 2.7026 ms/op 2.8749 ms/op 0.94
validate gossip signedAggregateAndProof - struct 2.7068 ms/op 2.8623 ms/op 0.95
validate gossip attestation - vc 640000 1.3244 ms/op 1.3890 ms/op 0.95
batch validate gossip attestation - vc 640000 - chunk 32 157.04 us/op 173.12 us/op 0.91
batch validate gossip attestation - vc 640000 - chunk 64 138.62 us/op 150.93 us/op 0.92
batch validate gossip attestation - vc 640000 - chunk 128 128.79 us/op 140.69 us/op 0.92
batch validate gossip attestation - vc 640000 - chunk 256 123.57 us/op 142.18 us/op 0.87
pickEth1Vote - no votes 1.1528 ms/op 1.5193 ms/op 0.76
pickEth1Vote - max votes 8.4364 ms/op 11.269 ms/op 0.75
pickEth1Vote - Eth1Data hashTreeRoot value x2048 16.083 ms/op 19.651 ms/op 0.82
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 24.323 ms/op 30.533 ms/op 0.80
pickEth1Vote - Eth1Data fastSerialize value x2048 550.11 us/op 680.83 us/op 0.81
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.0519 ms/op 7.3031 ms/op 0.83
bytes32 toHexString 443.00 ns/op 603.00 ns/op 0.73
bytes32 Buffer.toString(hex) 287.00 ns/op 319.00 ns/op 0.90
bytes32 Buffer.toString(hex) from Uint8Array 411.00 ns/op 531.00 ns/op 0.77
bytes32 Buffer.toString(hex) + 0x 289.00 ns/op 341.00 ns/op 0.85
Object access 1 prop 0.14200 ns/op 0.20800 ns/op 0.68
Map access 1 prop 0.14400 ns/op 0.17300 ns/op 0.83
Object get x1000 7.2270 ns/op 9.4670 ns/op 0.76
Map get x1000 0.59400 ns/op 0.79500 ns/op 0.75
Object set x1000 46.862 ns/op 65.441 ns/op 0.72
Map set x1000 38.554 ns/op 48.273 ns/op 0.80
Return object 10000 times 0.23710 ns/op 0.26940 ns/op 0.88
Throw Error 10000 times 3.7267 us/op 3.9723 us/op 0.94
fastMsgIdFn sha256 / 200 bytes 3.2200 us/op 3.4790 us/op 0.93
fastMsgIdFn h32 xxhash / 200 bytes 273.00 ns/op 320.00 ns/op 0.85
fastMsgIdFn h64 xxhash / 200 bytes 334.00 ns/op 379.00 ns/op 0.88
fastMsgIdFn sha256 / 1000 bytes 11.125 us/op 12.141 us/op 0.92
fastMsgIdFn h32 xxhash / 1000 bytes 393.00 ns/op 492.00 ns/op 0.80
fastMsgIdFn h64 xxhash / 1000 bytes 398.00 ns/op 465.00 ns/op 0.86
fastMsgIdFn sha256 / 10000 bytes 102.43 us/op 107.88 us/op 0.95
fastMsgIdFn h32 xxhash / 10000 bytes 1.9240 us/op 2.0480 us/op 0.94
fastMsgIdFn h64 xxhash / 10000 bytes 1.3290 us/op 1.4360 us/op 0.93
send data - 1000 256B messages 17.573 ms/op 19.762 ms/op 0.89
send data - 1000 512B messages 24.751 ms/op 28.649 ms/op 0.86
send data - 1000 1024B messages 39.202 ms/op 43.309 ms/op 0.91
send data - 1000 1200B messages 26.817 ms/op 33.923 ms/op 0.79
send data - 1000 2048B messages 31.139 ms/op 37.596 ms/op 0.83
send data - 1000 4096B messages 32.273 ms/op 33.552 ms/op 0.96
send data - 1000 16384B messages 70.794 ms/op 82.468 ms/op 0.86
send data - 1000 65536B messages 261.80 ms/op 297.83 ms/op 0.88
enrSubnets - fastDeserialize 64 bits 1.1490 us/op 1.3360 us/op 0.86
enrSubnets - ssz BitVector 64 bits 398.00 ns/op 457.00 ns/op 0.87
enrSubnets - fastDeserialize 4 bits 151.00 ns/op 177.00 ns/op 0.85
enrSubnets - ssz BitVector 4 bits 396.00 ns/op 502.00 ns/op 0.79
prioritizePeers score -10:0 att 32-0.1 sync 2-0 96.278 us/op 110.17 us/op 0.87
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 120.03 us/op 137.54 us/op 0.87
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 154.13 us/op 182.31 us/op 0.85
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 274.31 us/op 323.17 us/op 0.85
prioritizePeers score 0:0 att 64-1 sync 4-1 324.15 us/op 384.16 us/op 0.84
array of 16000 items push then shift 1.5612 us/op 1.8330 us/op 0.85
LinkedList of 16000 items push then shift 8.8000 ns/op 11.870 ns/op 0.74
array of 16000 items push then pop 77.340 ns/op 105.38 ns/op 0.73
LinkedList of 16000 items push then pop 8.5000 ns/op 10.157 ns/op 0.84
array of 24000 items push then shift 2.3340 us/op 2.8087 us/op 0.83
LinkedList of 24000 items push then shift 8.7270 ns/op 11.516 ns/op 0.76
array of 24000 items push then pop 101.70 ns/op 148.30 ns/op 0.69
LinkedList of 24000 items push then pop 8.4410 ns/op 9.9900 ns/op 0.84
intersect bitArray bitLen 8 6.6180 ns/op 7.2940 ns/op 0.91
intersect array and set length 8 51.958 ns/op 77.285 ns/op 0.67
intersect bitArray bitLen 128 31.066 ns/op 33.956 ns/op 0.91
intersect array and set length 128 726.49 ns/op 990.58 ns/op 0.73
bitArray.getTrueBitIndexes() bitLen 128 1.4500 us/op 1.8710 us/op 0.77
bitArray.getTrueBitIndexes() bitLen 248 2.4850 us/op 3.0380 us/op 0.82
bitArray.getTrueBitIndexes() bitLen 512 4.6700 us/op 6.3670 us/op 0.73
Buffer.concat 32 items 943.00 ns/op 1.1200 us/op 0.84
Uint8Array.set 32 items 2.1170 us/op 2.1630 us/op 0.98
Set add up to 64 items then delete first 4.1162 us/op 4.9342 us/op 0.83
OrderedSet add up to 64 items then delete first 5.1899 us/op 6.4115 us/op 0.81
Set add up to 64 items then delete last 4.4311 us/op 5.2377 us/op 0.85
OrderedSet add up to 64 items then delete last 5.5276 us/op 6.8059 us/op 0.81
Set add up to 64 items then delete middle 4.3780 us/op 5.2434 us/op 0.83
OrderedSet add up to 64 items then delete middle 6.7311 us/op 8.2281 us/op 0.82
Set add up to 128 items then delete first 9.0183 us/op 10.718 us/op 0.84
OrderedSet add up to 128 items then delete first 11.766 us/op 14.845 us/op 0.79
Set add up to 128 items then delete last 8.9409 us/op 10.670 us/op 0.84
OrderedSet add up to 128 items then delete last 11.255 us/op 13.819 us/op 0.81
Set add up to 128 items then delete middle 8.7982 us/op 10.516 us/op 0.84
OrderedSet add up to 128 items then delete middle 16.458 us/op 19.381 us/op 0.85
Set add up to 256 items then delete first 18.306 us/op 21.584 us/op 0.85
OrderedSet add up to 256 items then delete first 24.185 us/op 29.386 us/op 0.82
Set add up to 256 items then delete last 17.667 us/op 20.613 us/op 0.86
OrderedSet add up to 256 items then delete last 22.458 us/op 25.892 us/op 0.87
Set add up to 256 items then delete middle 17.529 us/op 20.589 us/op 0.85
OrderedSet add up to 256 items then delete middle 43.904 us/op 51.636 us/op 0.85
transfer serialized Status (84 B) 1.7510 us/op 1.8740 us/op 0.93
copy serialized Status (84 B) 1.4150 us/op 1.5680 us/op 0.90
transfer serialized SignedVoluntaryExit (112 B) 1.8510 us/op 2.1800 us/op 0.85
copy serialized SignedVoluntaryExit (112 B) 1.4710 us/op 1.7150 us/op 0.86
transfer serialized ProposerSlashing (416 B) 2.1400 us/op 3.1160 us/op 0.69
copy serialized ProposerSlashing (416 B) 2.3380 us/op 2.4560 us/op 0.95
transfer serialized Attestation (485 B) 2.4770 us/op 2.3640 us/op 1.05
copy serialized Attestation (485 B) 2.3500 us/op 2.0840 us/op 1.13
transfer serialized AttesterSlashing (33232 B) 2.5980 us/op 2.2330 us/op 1.16
copy serialized AttesterSlashing (33232 B) 5.1400 us/op 5.8190 us/op 0.88
transfer serialized Small SignedBeaconBlock (128000 B) 2.8210 us/op 2.5800 us/op 1.09
copy serialized Small SignedBeaconBlock (128000 B) 11.381 us/op 14.904 us/op 0.76
transfer serialized Avg SignedBeaconBlock (200000 B) 2.8040 us/op 2.9530 us/op 0.95
copy serialized Avg SignedBeaconBlock (200000 B) 16.113 us/op 20.919 us/op 0.77
transfer serialized BlobsSidecar (524380 B) 3.0580 us/op 2.7180 us/op 1.13
copy serialized BlobsSidecar (524380 B) 99.098 us/op 86.580 us/op 1.14
transfer serialized Big SignedBeaconBlock (1000000 B) 3.2580 us/op 2.9480 us/op 1.11
copy serialized Big SignedBeaconBlock (1000000 B) 152.69 us/op 155.85 us/op 0.98
pass gossip attestations to forkchoice per slot 3.7748 ms/op 3.9264 ms/op 0.96
forkChoice updateHead vc 100000 bc 64 eq 0 658.90 us/op 704.12 us/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 0 4.3982 ms/op 5.4246 ms/op 0.81
forkChoice updateHead vc 1000000 bc 64 eq 0 7.0006 ms/op 7.4188 ms/op 0.94
forkChoice updateHead vc 600000 bc 320 eq 0 4.1948 ms/op 4.3828 ms/op 0.96
forkChoice updateHead vc 600000 bc 1200 eq 0 4.3008 ms/op 4.4126 ms/op 0.97
forkChoice updateHead vc 600000 bc 7200 eq 0 5.2256 ms/op 5.2476 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 1000 11.275 ms/op 11.350 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 10000 12.073 ms/op 12.399 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 300000 15.875 ms/op 16.835 ms/op 0.94
computeDeltas 500000 validators 300 proto nodes 6.2375 ms/op 6.3579 ms/op 0.98
computeDeltas 500000 validators 1200 proto nodes 6.2090 ms/op 6.3056 ms/op 0.98
computeDeltas 500000 validators 7200 proto nodes 6.1748 ms/op 6.2615 ms/op 0.99
computeDeltas 750000 validators 300 proto nodes 9.2880 ms/op 9.4485 ms/op 0.98
computeDeltas 750000 validators 1200 proto nodes 9.3717 ms/op 9.4529 ms/op 0.99
computeDeltas 750000 validators 7200 proto nodes 9.3805 ms/op 9.5841 ms/op 0.98
computeDeltas 1400000 validators 300 proto nodes 17.675 ms/op 18.846 ms/op 0.94
computeDeltas 1400000 validators 1200 proto nodes 17.867 ms/op 24.066 ms/op 0.74
computeDeltas 1400000 validators 7200 proto nodes 17.388 ms/op 18.752 ms/op 0.93
computeDeltas 2100000 validators 300 proto nodes 26.148 ms/op 30.066 ms/op 0.87
computeDeltas 2100000 validators 1200 proto nodes 26.121 ms/op 32.135 ms/op 0.81
computeDeltas 2100000 validators 7200 proto nodes 26.199 ms/op 32.038 ms/op 0.82
computeProposerBoostScoreFromBalances 500000 validators 3.2068 ms/op 4.2541 ms/op 0.75
computeProposerBoostScoreFromBalances 750000 validators 3.1698 ms/op 4.1316 ms/op 0.77
computeProposerBoostScoreFromBalances 1400000 validators 3.1846 ms/op 4.1514 ms/op 0.77
computeProposerBoostScoreFromBalances 2100000 validators 3.1869 ms/op 4.1921 ms/op 0.76
altair processAttestation - 250000 vs - 7PWei normalcase 2.2706 ms/op 4.5945 ms/op 0.49
altair processAttestation - 250000 vs - 7PWei worstcase 3.0059 ms/op 5.9816 ms/op 0.50
altair processAttestation - setStatus - 1/6 committees join 166.99 us/op 290.31 us/op 0.58
altair processAttestation - setStatus - 1/3 committees join 322.51 us/op 538.54 us/op 0.60
altair processAttestation - setStatus - 1/2 committees join 438.42 us/op 742.67 us/op 0.59
altair processAttestation - setStatus - 2/3 committees join 550.80 us/op 1.0453 ms/op 0.53
altair processAttestation - setStatus - 4/5 committees join 748.76 us/op 1.5646 ms/op 0.48
altair processAttestation - setStatus - 100% committees join 873.12 us/op 1.7582 ms/op 0.50
altair processBlock - 250000 vs - 7PWei normalcase 6.9030 ms/op 11.524 ms/op 0.60
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.262 ms/op 50.702 ms/op 0.58
altair processBlock - 250000 vs - 7PWei worstcase 37.199 ms/op 51.292 ms/op 0.73
altair processBlock - 250000 vs - 7PWei worstcase hashState 89.021 ms/op 126.50 ms/op 0.70
phase0 processBlock - 250000 vs - 7PWei normalcase 2.2732 ms/op 3.9418 ms/op 0.58
phase0 processBlock - 250000 vs - 7PWei worstcase 29.530 ms/op 41.416 ms/op 0.71
altair processEth1Data - 250000 vs - 7PWei normalcase 472.28 us/op 806.05 us/op 0.59
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.7050 us/op 25.822 us/op 0.30
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 58.850 us/op 88.959 us/op 0.66
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 18.183 us/op 28.374 us/op 0.64
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.3870 us/op 24.124 us/op 0.31
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 154.35 us/op 226.39 us/op 0.68
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0116 ms/op 2.2306 ms/op 0.45
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4468 ms/op 2.4064 ms/op 0.60
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7168 ms/op 2.4304 ms/op 0.71
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.4792 ms/op 5.9644 ms/op 0.58
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2904 ms/op 4.2178 ms/op 0.54
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.0558 ms/op 10.601 ms/op 0.48
Tree 40 250000 create 308.13 ms/op 790.76 ms/op 0.39
Tree 40 250000 get(125000) 191.53 ns/op 250.28 ns/op 0.77
Tree 40 250000 set(125000) 883.97 ns/op 2.5086 us/op 0.35
Tree 40 250000 toArray() 16.658 ms/op 39.627 ms/op 0.42
Tree 40 250000 iterate all - toArray() + loop 16.950 ms/op 32.710 ms/op 0.52
Tree 40 250000 iterate all - get(i) 62.664 ms/op 87.468 ms/op 0.72
MutableVector 250000 create 9.8768 ms/op 21.337 ms/op 0.46
MutableVector 250000 get(125000) 6.6270 ns/op 7.6050 ns/op 0.87
MutableVector 250000 set(125000) 252.29 ns/op 496.28 ns/op 0.51
MutableVector 250000 toArray() 2.9947 ms/op 5.3180 ms/op 0.56
MutableVector 250000 iterate all - toArray() + loop 3.0912 ms/op 4.9952 ms/op 0.62
MutableVector 250000 iterate all - get(i) 1.5606 ms/op 1.8371 ms/op 0.85
Array 250000 create 2.7427 ms/op 4.5527 ms/op 0.60
Array 250000 clone - spread 1.1681 ms/op 1.7392 ms/op 0.67
Array 250000 get(125000) 0.55900 ns/op 1.0610 ns/op 0.53
Array 250000 set(125000) 0.63800 ns/op 1.1780 ns/op 0.54
Array 250000 iterate all - loop 86.517 us/op 95.757 us/op 0.90
effectiveBalanceIncrements clone Uint8Array 300000 23.325 us/op 57.477 us/op 0.41
effectiveBalanceIncrements clone MutableVector 300000 326.00 ns/op 455.00 ns/op 0.72
effectiveBalanceIncrements rw all Uint8Array 300000 173.39 us/op 198.32 us/op 0.87
effectiveBalanceIncrements rw all MutableVector 300000 77.940 ms/op 163.85 ms/op 0.48
phase0 afterProcessEpoch - 250000 vs - 7PWei 110.52 ms/op 143.48 ms/op 0.77
phase0 beforeProcessEpoch - 250000 vs - 7PWei 32.111 ms/op 59.538 ms/op 0.54
altair processEpoch - mainnet_e81889 446.24 ms/op 665.07 ms/op 0.67
mainnet_e81889 - altair beforeProcessEpoch 58.720 ms/op 108.50 ms/op 0.54
mainnet_e81889 - altair processJustificationAndFinalization 14.389 us/op 34.756 us/op 0.41
mainnet_e81889 - altair processInactivityUpdates 6.6247 ms/op 14.014 ms/op 0.47
mainnet_e81889 - altair processRewardsAndPenalties 52.973 ms/op 87.327 ms/op 0.61
mainnet_e81889 - altair processRegistryUpdates 2.2720 us/op 8.5140 us/op 0.27
mainnet_e81889 - altair processSlashings 522.00 ns/op 1.4210 us/op 0.37
mainnet_e81889 - altair processEth1DataReset 549.00 ns/op 1.3370 us/op 0.41
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2550 ms/op 1.8430 ms/op 0.68
mainnet_e81889 - altair processSlashingsReset 2.7530 us/op 9.3710 us/op 0.29
mainnet_e81889 - altair processRandaoMixesReset 3.9650 us/op 11.288 us/op 0.35
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0670 us/op 1.8550 us/op 0.58
mainnet_e81889 - altair processParticipationFlagUpdates 1.8600 us/op 6.2810 us/op 0.30
mainnet_e81889 - altair processSyncCommitteeUpdates 636.00 ns/op 2.0950 us/op 0.30
mainnet_e81889 - altair afterProcessEpoch 124.91 ms/op 165.05 ms/op 0.76
capella processEpoch - mainnet_e217614 1.3964 s/op 2.0508 s/op 0.68
mainnet_e217614 - capella beforeProcessEpoch 233.72 ms/op 351.50 ms/op 0.66
mainnet_e217614 - capella processJustificationAndFinalization 26.023 us/op 33.460 us/op 0.78
mainnet_e217614 - capella processInactivityUpdates 29.752 ms/op 34.725 ms/op 0.86
mainnet_e217614 - capella processRewardsAndPenalties 309.48 ms/op 357.13 ms/op 0.87
mainnet_e217614 - capella processRegistryUpdates 25.272 us/op 39.240 us/op 0.64
mainnet_e217614 - capella processSlashings 1.3970 us/op 1.6660 us/op 0.84
mainnet_e217614 - capella processEth1DataReset 1.7480 us/op 1.3560 us/op 1.29
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.0376 ms/op 6.1357 ms/op 0.98
mainnet_e217614 - capella processSlashingsReset 9.8760 us/op 8.8380 us/op 1.12
mainnet_e217614 - capella processRandaoMixesReset 14.158 us/op 11.478 us/op 1.23
mainnet_e217614 - capella processHistoricalRootsUpdate 1.5330 us/op 1.6760 us/op 0.91
mainnet_e217614 - capella processParticipationFlagUpdates 5.5420 us/op 7.2050 us/op 0.77
mainnet_e217614 - capella afterProcessEpoch 378.25 ms/op 421.97 ms/op 0.90
phase0 processEpoch - mainnet_e58758 524.92 ms/op 691.03 ms/op 0.76
mainnet_e58758 - phase0 beforeProcessEpoch 131.08 ms/op 199.65 ms/op 0.66
mainnet_e58758 - phase0 processJustificationAndFinalization 15.101 us/op 34.067 us/op 0.44
mainnet_e58758 - phase0 processRewardsAndPenalties 55.491 ms/op 58.271 ms/op 0.95
mainnet_e58758 - phase0 processRegistryUpdates 22.961 us/op 23.074 us/op 1.00
mainnet_e58758 - phase0 processSlashings 1.8580 us/op 1.5250 us/op 1.22
mainnet_e58758 - phase0 processEth1DataReset 1.2530 us/op 1.3960 us/op 0.90
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.9237 ms/op 1.8898 ms/op 1.02
mainnet_e58758 - phase0 processSlashingsReset 7.0250 us/op 6.6700 us/op 1.05
mainnet_e58758 - phase0 processRandaoMixesReset 13.085 us/op 11.969 us/op 1.09
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.3830 us/op 1.3700 us/op 1.01
mainnet_e58758 - phase0 processParticipationRecordUpdates 12.110 us/op 13.241 us/op 0.91
mainnet_e58758 - phase0 afterProcessEpoch 137.49 ms/op 146.46 ms/op 0.94
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.5905 ms/op 2.2265 ms/op 0.71
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.5201 ms/op 2.1124 ms/op 1.19
altair processInactivityUpdates - 250000 normalcase 33.673 ms/op 31.877 ms/op 1.06
altair processInactivityUpdates - 250000 worstcase 30.020 ms/op 35.846 ms/op 0.84
phase0 processRegistryUpdates - 250000 normalcase 18.963 us/op 25.659 us/op 0.74
phase0 processRegistryUpdates - 250000 badcase_full_deposits 704.39 us/op 540.09 us/op 1.30
phase0 processRegistryUpdates - 250000 worstcase 0.5 209.70 ms/op 260.53 ms/op 0.80
altair processRewardsAndPenalties - 250000 normalcase 73.650 ms/op 63.438 ms/op 1.16
altair processRewardsAndPenalties - 250000 worstcase 76.840 ms/op 78.232 ms/op 0.98
phase0 getAttestationDeltas - 250000 normalcase 14.756 ms/op 12.105 ms/op 1.22
phase0 getAttestationDeltas - 250000 worstcase 13.719 ms/op 13.690 ms/op 1.00
phase0 processSlashings - 250000 worstcase 5.4220 ms/op 3.9747 ms/op 1.36
altair processSyncCommitteeUpdates - 250000 309.24 ms/op 232.80 ms/op 1.33
BeaconState.hashTreeRoot - No change 501.00 ns/op 483.00 ns/op 1.04
BeaconState.hashTreeRoot - 1 full validator 293.54 us/op 236.32 us/op 1.24
BeaconState.hashTreeRoot - 32 full validator 3.4274 ms/op 2.7098 ms/op 1.26
BeaconState.hashTreeRoot - 512 full validator 36.649 ms/op 24.159 ms/op 1.52
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 367.90 us/op 242.92 us/op 1.51
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 5.0932 ms/op 3.2249 ms/op 1.58
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 45.730 ms/op 43.732 ms/op 1.05
BeaconState.hashTreeRoot - 1 balances 281.51 us/op 189.85 us/op 1.48
BeaconState.hashTreeRoot - 32 balances 2.2243 ms/op 1.7412 ms/op 1.28
BeaconState.hashTreeRoot - 512 balances 25.157 ms/op 19.888 ms/op 1.26
BeaconState.hashTreeRoot - 250000 balances 265.25 ms/op 315.34 ms/op 0.84
aggregationBits - 2048 els - zipIndexesInBitList 32.493 us/op 43.688 us/op 0.74
regular array get 100000 times 54.787 us/op 70.874 us/op 0.77
wrappedArray get 100000 times 53.198 us/op 71.376 us/op 0.75
arrayWithProxy get 100000 times 17.742 ms/op 18.318 ms/op 0.97
ssz.Root.equals 316.00 ns/op 355.00 ns/op 0.89
byteArrayEquals 314.00 ns/op 339.00 ns/op 0.93
shuffle list - 16384 els 9.1163 ms/op 8.5713 ms/op 1.06
shuffle list - 250000 els 126.79 ms/op 127.44 ms/op 0.99
processSlot - 1 slots 27.463 us/op 23.731 us/op 1.16
processSlot - 32 slots 4.9104 ms/op 4.9891 ms/op 0.98
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 61.581 ms/op 64.586 ms/op 0.95
getCommitteeAssignments - req 1 vs - 250000 vc 2.5233 ms/op 2.9018 ms/op 0.87
getCommitteeAssignments - req 100 vs - 250000 vc 3.7800 ms/op 4.2675 ms/op 0.89
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1182 ms/op 5.1379 ms/op 0.80
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.6500 ns/op 6.8300 ns/op 0.68
state getBlockRootAtSlot - 250000 vs - 7PWei 686.21 ns/op 720.37 ns/op 0.95
computeProposers - vc 250000 8.9254 ms/op 10.264 ms/op 0.87
computeEpochShuffling - vc 250000 105.91 ms/op 120.93 ms/op 0.88
getNextSyncCommittee - vc 250000 151.50 ms/op 177.55 ms/op 0.85
computeSigningRoot for AttestationData 29.912 us/op 31.778 us/op 0.94
hash AttestationData serialized data then Buffer.toString(base64) 2.2905 us/op 2.7157 us/op 0.84
toHexString serialized data 1.1123 us/op 2.0674 us/op 0.54
Buffer.toString(base64) 219.81 ns/op 305.32 ns/op 0.72

by benchmarkbot/action

@nflaig nflaig force-pushed the nflaig/improve-doppelganger-logs branch from ac28bbd to 8413947 Compare September 23, 2023 13:19
@wemeetagain wemeetagain merged commit 3903dc1 into unstable Sep 23, 2023
14 of 15 checks passed
@wemeetagain wemeetagain deleted the nflaig/improve-doppelganger-logs branch September 23, 2023 19:30
@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.

2 participants