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

chore: log precomputed checkpoint state hits #6097

Merged
merged 1 commit into from
Nov 8, 2023

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Nov 8, 2023

Motivation

Log precomputed checkpoint state hits

part of #6063

@twoeths twoeths requested a review from a team as a code owner November 8, 2023 11:16
Copy link
Contributor

github-actions bot commented Nov 8, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 562ae6f Previous: d3f40d2 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 567.69 us/op 888.11 us/op 0.64
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 81.156 us/op 84.837 us/op 0.96
BLS verify - blst-native 1.3165 ms/op 1.3413 ms/op 0.98
BLS verifyMultipleSignatures 3 - blst-native 2.8535 ms/op 2.8239 ms/op 1.01
BLS verifyMultipleSignatures 8 - blst-native 6.4788 ms/op 6.2079 ms/op 1.04
BLS verifyMultipleSignatures 32 - blst-native 23.793 ms/op 22.236 ms/op 1.07
BLS verifyMultipleSignatures 64 - blst-native 46.213 ms/op 43.796 ms/op 1.06
BLS verifyMultipleSignatures 128 - blst-native 90.375 ms/op 86.654 ms/op 1.04
BLS deserializing 10000 signatures 983.13 ms/op 914.53 ms/op 1.08
BLS deserializing 100000 signatures 9.1920 s/op 9.2262 s/op 1.00
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3198 ms/op 1.3390 ms/op 0.99
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5121 ms/op 1.5834 ms/op 0.95
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.2884 ms/op 2.6769 ms/op 0.85
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.3624 ms/op 3.4768 ms/op 0.97
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.5000 ms/op 5.6357 ms/op 0.98
BLS aggregatePubkeys 32 - blst-native 25.413 us/op 26.011 us/op 0.98
BLS aggregatePubkeys 128 - blst-native 98.963 us/op 101.19 us/op 0.98
getAttestationsForBlock 40.526 ms/op 41.427 ms/op 0.98
isKnown best case - 1 super set check 323.00 ns/op 306.00 ns/op 1.06
isKnown normal case - 2 super set checks 312.00 ns/op 300.00 ns/op 1.04
isKnown worse case - 16 super set checks 301.00 ns/op 299.00 ns/op 1.01
CheckpointStateCache - add get delete 5.4840 us/op 5.3830 us/op 1.02
validate api signedAggregateAndProof - struct 2.7702 ms/op 2.8629 ms/op 0.97
validate gossip signedAggregateAndProof - struct 2.7291 ms/op 2.8252 ms/op 0.97
validate gossip attestation - vc 640000 1.3329 ms/op 1.3917 ms/op 0.96
batch validate gossip attestation - vc 640000 - chunk 32 157.97 us/op 166.03 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 64 141.17 us/op 142.28 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 128 131.39 us/op 132.10 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 256 129.41 us/op 133.22 us/op 0.97
pickEth1Vote - no votes 1.1204 ms/op 1.3213 ms/op 0.85
pickEth1Vote - max votes 7.6962 ms/op 9.2465 ms/op 0.83
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.850 ms/op 19.025 ms/op 0.73
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.958 ms/op 34.116 ms/op 0.61
pickEth1Vote - Eth1Data fastSerialize value x2048 578.07 us/op 685.59 us/op 0.84
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.2612 ms/op 8.6556 ms/op 0.49
bytes32 toHexString 489.00 ns/op 569.00 ns/op 0.86
bytes32 Buffer.toString(hex) 297.00 ns/op 312.00 ns/op 0.95
bytes32 Buffer.toString(hex) from Uint8Array 433.00 ns/op 479.00 ns/op 0.90
bytes32 Buffer.toString(hex) + 0x 295.00 ns/op 306.00 ns/op 0.96
Object access 1 prop 0.17700 ns/op 0.17800 ns/op 0.99
Map access 1 prop 0.15100 ns/op 0.15300 ns/op 0.99
Object get x1000 7.7520 ns/op 8.0460 ns/op 0.96
Map get x1000 0.64500 ns/op 0.63200 ns/op 1.02
Object set x1000 49.927 ns/op 54.977 ns/op 0.91
Map set x1000 39.481 ns/op 42.354 ns/op 0.93
Return object 10000 times 0.23430 ns/op 0.25450 ns/op 0.92
Throw Error 10000 times 3.8453 us/op 4.0492 us/op 0.95
fastMsgIdFn sha256 / 200 bytes 3.3180 us/op 3.4600 us/op 0.96
fastMsgIdFn h32 xxhash / 200 bytes 288.00 ns/op 301.00 ns/op 0.96
fastMsgIdFn h64 xxhash / 200 bytes 339.00 ns/op 354.00 ns/op 0.96
fastMsgIdFn sha256 / 1000 bytes 11.631 us/op 12.129 us/op 0.96
fastMsgIdFn h32 xxhash / 1000 bytes 410.00 ns/op 462.00 ns/op 0.89
fastMsgIdFn h64 xxhash / 1000 bytes 416.00 ns/op 440.00 ns/op 0.95
fastMsgIdFn sha256 / 10000 bytes 102.99 us/op 108.15 us/op 0.95
fastMsgIdFn h32 xxhash / 10000 bytes 1.9530 us/op 2.0600 us/op 0.95
fastMsgIdFn h64 xxhash / 10000 bytes 1.3520 us/op 1.4120 us/op 0.96
send data - 1000 256B messages 18.627 ms/op 21.946 ms/op 0.85
send data - 1000 512B messages 27.346 ms/op 29.604 ms/op 0.92
send data - 1000 1024B messages 40.567 ms/op 43.501 ms/op 0.93
send data - 1000 1200B messages 35.918 ms/op 34.678 ms/op 1.04
send data - 1000 2048B messages 40.262 ms/op 44.499 ms/op 0.90
send data - 1000 4096B messages 41.406 ms/op 28.028 ms/op 1.48
send data - 1000 16384B messages 114.19 ms/op 104.54 ms/op 1.09
send data - 1000 65536B messages 394.54 ms/op 437.17 ms/op 0.90
enrSubnets - fastDeserialize 64 bits 1.3400 us/op 1.2980 us/op 1.03
enrSubnets - ssz BitVector 64 bits 492.00 ns/op 444.00 ns/op 1.11
enrSubnets - fastDeserialize 4 bits 215.00 ns/op 174.00 ns/op 1.24
enrSubnets - ssz BitVector 4 bits 525.00 ns/op 428.00 ns/op 1.23
prioritizePeers score -10:0 att 32-0.1 sync 2-0 113.99 us/op 113.55 us/op 1.00
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 177.96 us/op 143.95 us/op 1.24
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 201.95 us/op 181.27 us/op 1.11
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 341.56 us/op 350.58 us/op 0.97
prioritizePeers score 0:0 att 64-1 sync 4-1 384.54 us/op 394.53 us/op 0.97
array of 16000 items push then shift 1.6735 us/op 1.7079 us/op 0.98
LinkedList of 16000 items push then shift 9.3460 ns/op 9.7420 ns/op 0.96
array of 16000 items push then pop 111.35 ns/op 104.90 ns/op 1.06
LinkedList of 16000 items push then pop 8.9730 ns/op 9.3660 ns/op 0.96
array of 24000 items push then shift 2.6441 us/op 2.6884 us/op 0.98
LinkedList of 24000 items push then shift 9.6540 ns/op 9.8340 ns/op 0.98
array of 24000 items push then pop 163.02 ns/op 156.99 ns/op 1.04
LinkedList of 24000 items push then pop 9.1830 ns/op 10.085 ns/op 0.91
intersect bitArray bitLen 8 6.8750 ns/op 7.6410 ns/op 0.90
intersect array and set length 8 88.189 ns/op 86.982 ns/op 1.01
intersect bitArray bitLen 128 33.293 ns/op 33.916 ns/op 0.98
intersect array and set length 128 943.85 ns/op 899.84 ns/op 1.05
bitArray.getTrueBitIndexes() bitLen 128 1.8270 us/op 1.7650 us/op 1.04
bitArray.getTrueBitIndexes() bitLen 248 3.0460 us/op 2.8670 us/op 1.06
bitArray.getTrueBitIndexes() bitLen 512 6.2570 us/op 6.5840 us/op 0.95
Buffer.concat 32 items 1.0540 us/op 1.1170 us/op 0.94
Uint8Array.set 32 items 2.1650 us/op 1.9340 us/op 1.12
Set add up to 64 items then delete first 5.0115 us/op 4.9385 us/op 1.01
OrderedSet add up to 64 items then delete first 6.3660 us/op 6.9598 us/op 0.91
Set add up to 64 items then delete last 5.2236 us/op 5.3711 us/op 0.97
OrderedSet add up to 64 items then delete last 6.9508 us/op 6.9731 us/op 1.00
Set add up to 64 items then delete middle 5.2745 us/op 5.4592 us/op 0.97
OrderedSet add up to 64 items then delete middle 8.0776 us/op 8.3203 us/op 0.97
Set add up to 128 items then delete first 10.146 us/op 11.094 us/op 0.91
OrderedSet add up to 128 items then delete first 14.166 us/op 13.448 us/op 1.05
Set add up to 128 items then delete last 10.499 us/op 10.408 us/op 1.01
OrderedSet add up to 128 items then delete last 13.913 us/op 13.416 us/op 1.04
Set add up to 128 items then delete middle 10.065 us/op 10.725 us/op 0.94
OrderedSet add up to 128 items then delete middle 18.878 us/op 20.172 us/op 0.94
Set add up to 256 items then delete first 20.718 us/op 21.342 us/op 0.97
OrderedSet add up to 256 items then delete first 29.328 us/op 27.010 us/op 1.09
Set add up to 256 items then delete last 21.166 us/op 20.433 us/op 1.04
OrderedSet add up to 256 items then delete last 27.230 us/op 27.570 us/op 0.99
Set add up to 256 items then delete middle 21.103 us/op 21.577 us/op 0.98
OrderedSet add up to 256 items then delete middle 50.312 us/op 53.045 us/op 0.95
transfer serialized Status (84 B) 1.9710 us/op 1.9630 us/op 1.00
copy serialized Status (84 B) 1.7540 us/op 1.7470 us/op 1.00
transfer serialized SignedVoluntaryExit (112 B) 2.2340 us/op 2.0830 us/op 1.07
copy serialized SignedVoluntaryExit (112 B) 1.8590 us/op 1.8020 us/op 1.03
transfer serialized ProposerSlashing (416 B) 3.2020 us/op 2.4990 us/op 1.28
copy serialized ProposerSlashing (416 B) 3.2060 us/op 2.7060 us/op 1.18
transfer serialized Attestation (485 B) 3.3450 us/op 2.3590 us/op 1.42
copy serialized Attestation (485 B) 3.3630 us/op 2.4850 us/op 1.35
transfer serialized AttesterSlashing (33232 B) 3.1630 us/op 2.4300 us/op 1.30
copy serialized AttesterSlashing (33232 B) 8.1470 us/op 8.9020 us/op 0.92
transfer serialized Small SignedBeaconBlock (128000 B) 2.9350 us/op 2.9260 us/op 1.00
copy serialized Small SignedBeaconBlock (128000 B) 18.763 us/op 21.546 us/op 0.87
transfer serialized Avg SignedBeaconBlock (200000 B) 3.1450 us/op 4.1050 us/op 0.77
copy serialized Avg SignedBeaconBlock (200000 B) 28.243 us/op 27.564 us/op 1.02
transfer serialized BlobsSidecar (524380 B) 3.0530 us/op 3.9960 us/op 0.76
copy serialized BlobsSidecar (524380 B) 89.568 us/op 105.74 us/op 0.85
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3760 us/op 3.9370 us/op 0.86
copy serialized Big SignedBeaconBlock (1000000 B) 388.28 us/op 208.95 us/op 1.86
pass gossip attestations to forkchoice per slot 4.2337 ms/op 4.5569 ms/op 0.93
forkChoice updateHead vc 100000 bc 64 eq 0 683.34 us/op 726.46 us/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 0 4.8094 ms/op 5.6835 ms/op 0.85
forkChoice updateHead vc 1000000 bc 64 eq 0 7.2013 ms/op 7.6388 ms/op 0.94
forkChoice updateHead vc 600000 bc 320 eq 0 4.3226 ms/op 4.3885 ms/op 0.98
forkChoice updateHead vc 600000 bc 1200 eq 0 4.4035 ms/op 4.5517 ms/op 0.97
forkChoice updateHead vc 600000 bc 7200 eq 0 6.0749 ms/op 5.4937 ms/op 1.11
forkChoice updateHead vc 600000 bc 64 eq 1000 11.648 ms/op 11.988 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 10000 12.364 ms/op 12.766 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 300000 16.861 ms/op 18.523 ms/op 0.91
computeDeltas 500000 validators 300 proto nodes 6.5686 ms/op 7.0595 ms/op 0.93
computeDeltas 500000 validators 1200 proto nodes 6.6784 ms/op 6.7841 ms/op 0.98
computeDeltas 500000 validators 7200 proto nodes 6.6387 ms/op 6.8859 ms/op 0.96
computeDeltas 750000 validators 300 proto nodes 10.321 ms/op 10.063 ms/op 1.03
computeDeltas 750000 validators 1200 proto nodes 9.9674 ms/op 9.9386 ms/op 1.00
computeDeltas 750000 validators 7200 proto nodes 10.229 ms/op 9.9707 ms/op 1.03
computeDeltas 1400000 validators 300 proto nodes 19.585 ms/op 18.386 ms/op 1.07
computeDeltas 1400000 validators 1200 proto nodes 19.294 ms/op 18.455 ms/op 1.05
computeDeltas 1400000 validators 7200 proto nodes 19.536 ms/op 18.407 ms/op 1.06
computeDeltas 2100000 validators 300 proto nodes 28.679 ms/op 28.204 ms/op 1.02
computeDeltas 2100000 validators 1200 proto nodes 29.392 ms/op 28.930 ms/op 1.02
computeDeltas 2100000 validators 7200 proto nodes 29.453 ms/op 28.102 ms/op 1.05
computeProposerBoostScoreFromBalances 500000 validators 3.2603 ms/op 3.3113 ms/op 0.98
computeProposerBoostScoreFromBalances 750000 validators 3.2460 ms/op 3.2806 ms/op 0.99
computeProposerBoostScoreFromBalances 1400000 validators 3.2998 ms/op 3.1573 ms/op 1.05
computeProposerBoostScoreFromBalances 2100000 validators 3.2566 ms/op 3.1522 ms/op 1.03
altair processAttestation - 250000 vs - 7PWei normalcase 2.4112 ms/op 2.3229 ms/op 1.04
altair processAttestation - 250000 vs - 7PWei worstcase 3.2308 ms/op 3.2123 ms/op 1.01
altair processAttestation - setStatus - 1/6 committees join 148.38 us/op 179.16 us/op 0.83
altair processAttestation - setStatus - 1/3 committees join 280.27 us/op 339.82 us/op 0.82
altair processAttestation - setStatus - 1/2 committees join 369.07 us/op 471.04 us/op 0.78
altair processAttestation - setStatus - 2/3 committees join 464.70 us/op 601.67 us/op 0.77
altair processAttestation - setStatus - 4/5 committees join 652.53 us/op 820.71 us/op 0.80
altair processAttestation - setStatus - 100% committees join 764.86 us/op 932.07 us/op 0.82
altair processBlock - 250000 vs - 7PWei normalcase 10.703 ms/op 10.958 ms/op 0.98
altair processBlock - 250000 vs - 7PWei normalcase hashState 33.734 ms/op 36.657 ms/op 0.92
altair processBlock - 250000 vs - 7PWei worstcase 41.551 ms/op 38.883 ms/op 1.07
altair processBlock - 250000 vs - 7PWei worstcase hashState 104.53 ms/op 99.961 ms/op 1.05
phase0 processBlock - 250000 vs - 7PWei normalcase 4.0066 ms/op 3.6589 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei worstcase 33.708 ms/op 33.045 ms/op 1.02
altair processEth1Data - 250000 vs - 7PWei normalcase 704.36 us/op 639.75 us/op 1.10
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 11.073 us/op 18.541 us/op 0.60
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 42.995 us/op 105.37 us/op 0.41
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 23.468 us/op 28.853 us/op 0.81
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 16.410 us/op 20.805 us/op 0.79
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 196.05 us/op 270.36 us/op 0.73
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.7024 ms/op 2.1662 ms/op 0.79
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.9877 ms/op 2.8398 ms/op 0.70
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.9859 ms/op 2.3337 ms/op 0.85
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.5049 ms/op 4.0779 ms/op 1.10
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.2141 ms/op 2.2554 ms/op 1.43
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.6533 ms/op 5.2375 ms/op 1.08
Tree 40 250000 create 450.34 ms/op 367.45 ms/op 1.23
Tree 40 250000 get(125000) 213.26 ns/op 193.20 ns/op 1.10
Tree 40 250000 set(125000) 1.0751 us/op 946.68 ns/op 1.14
Tree 40 250000 toArray() 22.201 ms/op 17.531 ms/op 1.27
Tree 40 250000 iterate all - toArray() + loop 21.267 ms/op 17.715 ms/op 1.20
Tree 40 250000 iterate all - get(i) 70.647 ms/op 65.169 ms/op 1.08
MutableVector 250000 create 16.283 ms/op 19.264 ms/op 0.85
MutableVector 250000 get(125000) 6.6670 ns/op 6.4170 ns/op 1.04
MutableVector 250000 set(125000) 291.99 ns/op 250.94 ns/op 1.16
MutableVector 250000 toArray() 2.9342 ms/op 2.6152 ms/op 1.12
MutableVector 250000 iterate all - toArray() + loop 3.9879 ms/op 3.1334 ms/op 1.27
MutableVector 250000 iterate all - get(i) 1.5253 ms/op 1.5240 ms/op 1.00
Array 250000 create 2.9499 ms/op 2.7189 ms/op 1.08
Array 250000 clone - spread 1.2255 ms/op 1.1953 ms/op 1.03
Array 250000 get(125000) 0.60900 ns/op 0.57900 ns/op 1.05
Array 250000 set(125000) 0.65000 ns/op 0.65300 ns/op 1.00
Array 250000 iterate all - loop 81.774 us/op 80.926 us/op 1.01
effectiveBalanceIncrements clone Uint8Array 300000 35.177 us/op 28.516 us/op 1.23
effectiveBalanceIncrements clone MutableVector 300000 345.00 ns/op 351.00 ns/op 0.98
effectiveBalanceIncrements rw all Uint8Array 300000 178.52 us/op 176.24 us/op 1.01
effectiveBalanceIncrements rw all MutableVector 300000 85.190 ms/op 81.851 ms/op 1.04
phase0 afterProcessEpoch - 250000 vs - 7PWei 117.93 ms/op 111.61 ms/op 1.06
phase0 beforeProcessEpoch - 250000 vs - 7PWei 52.887 ms/op 54.891 ms/op 0.96
altair processEpoch - mainnet_e81889 544.28 ms/op 522.50 ms/op 1.04
mainnet_e81889 - altair beforeProcessEpoch 79.550 ms/op 81.278 ms/op 0.98
mainnet_e81889 - altair processJustificationAndFinalization 17.478 us/op 20.459 us/op 0.85
mainnet_e81889 - altair processInactivityUpdates 5.7460 ms/op 5.3360 ms/op 1.08
mainnet_e81889 - altair processRewardsAndPenalties 85.486 ms/op 73.515 ms/op 1.16
mainnet_e81889 - altair processRegistryUpdates 2.6830 us/op 4.3880 us/op 0.61
mainnet_e81889 - altair processSlashings 471.00 ns/op 744.00 ns/op 0.63
mainnet_e81889 - altair processEth1DataReset 522.00 ns/op 943.00 ns/op 0.55
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2782 ms/op 2.3765 ms/op 0.54
mainnet_e81889 - altair processSlashingsReset 3.7400 us/op 6.3490 us/op 0.59
mainnet_e81889 - altair processRandaoMixesReset 6.9560 us/op 6.6950 us/op 1.04
mainnet_e81889 - altair processHistoricalRootsUpdate 734.00 ns/op 821.00 ns/op 0.89
mainnet_e81889 - altair processParticipationFlagUpdates 2.1080 us/op 2.0640 us/op 1.02
mainnet_e81889 - altair processSyncCommitteeUpdates 776.00 ns/op 942.00 ns/op 0.82
mainnet_e81889 - altair afterProcessEpoch 120.29 ms/op 120.15 ms/op 1.00
capella processEpoch - mainnet_e217614 2.1283 s/op 2.2823 s/op 0.93
mainnet_e217614 - capella beforeProcessEpoch 463.92 ms/op 447.96 ms/op 1.04
mainnet_e217614 - capella processJustificationAndFinalization 19.939 us/op 19.744 us/op 1.01
mainnet_e217614 - capella processInactivityUpdates 21.729 ms/op 20.978 ms/op 1.04
mainnet_e217614 - capella processRewardsAndPenalties 539.74 ms/op 568.16 ms/op 0.95
mainnet_e217614 - capella processRegistryUpdates 37.070 us/op 34.205 us/op 1.08
mainnet_e217614 - capella processSlashings 630.00 ns/op 904.00 ns/op 0.70
mainnet_e217614 - capella processEth1DataReset 518.00 ns/op 1.1130 us/op 0.47
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.0984 ms/op 3.9441 ms/op 1.04
mainnet_e217614 - capella processSlashingsReset 2.9080 us/op 3.9010 us/op 0.75
mainnet_e217614 - capella processRandaoMixesReset 6.5850 us/op 8.5360 us/op 0.77
mainnet_e217614 - capella processHistoricalRootsUpdate 810.00 ns/op 1.0490 us/op 0.77
mainnet_e217614 - capella processParticipationFlagUpdates 2.0760 us/op 3.7280 us/op 0.56
mainnet_e217614 - capella afterProcessEpoch 325.43 ms/op 327.76 ms/op 0.99
phase0 processEpoch - mainnet_e58758 480.45 ms/op 524.55 ms/op 0.92
mainnet_e58758 - phase0 beforeProcessEpoch 145.45 ms/op 133.36 ms/op 1.09
mainnet_e58758 - phase0 processJustificationAndFinalization 15.664 us/op 24.420 us/op 0.64
mainnet_e58758 - phase0 processRewardsAndPenalties 70.307 ms/op 81.781 ms/op 0.86
mainnet_e58758 - phase0 processRegistryUpdates 12.842 us/op 11.687 us/op 1.10
mainnet_e58758 - phase0 processSlashings 755.00 ns/op 626.00 ns/op 1.21
mainnet_e58758 - phase0 processEth1DataReset 597.00 ns/op 559.00 ns/op 1.07
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.9566 ms/op 1.5314 ms/op 1.28
mainnet_e58758 - phase0 processSlashingsReset 3.6390 us/op 3.6440 us/op 1.00
mainnet_e58758 - phase0 processRandaoMixesReset 7.1590 us/op 6.7930 us/op 1.05
mainnet_e58758 - phase0 processHistoricalRootsUpdate 869.00 ns/op 704.00 ns/op 1.23
mainnet_e58758 - phase0 processParticipationRecordUpdates 7.1620 us/op 6.3490 us/op 1.13
mainnet_e58758 - phase0 afterProcessEpoch 99.474 ms/op 103.45 ms/op 0.96
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.5686 ms/op 1.2005 ms/op 1.31
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.7801 ms/op 1.3685 ms/op 1.30
altair processInactivityUpdates - 250000 normalcase 23.827 ms/op 27.394 ms/op 0.87
altair processInactivityUpdates - 250000 worstcase 26.369 ms/op 30.060 ms/op 0.88
phase0 processRegistryUpdates - 250000 normalcase 14.719 us/op 13.654 us/op 1.08
phase0 processRegistryUpdates - 250000 badcase_full_deposits 291.36 us/op 635.46 us/op 0.46
phase0 processRegistryUpdates - 250000 worstcase 0.5 130.60 ms/op 152.75 ms/op 0.85
altair processRewardsAndPenalties - 250000 normalcase 71.535 ms/op 89.272 ms/op 0.80
altair processRewardsAndPenalties - 250000 worstcase 80.655 ms/op 83.597 ms/op 0.96
phase0 getAttestationDeltas - 250000 normalcase 10.426 ms/op 8.0838 ms/op 1.29
phase0 getAttestationDeltas - 250000 worstcase 10.936 ms/op 8.0002 ms/op 1.37
phase0 processSlashings - 250000 worstcase 2.4724 ms/op 2.3320 ms/op 1.06
altair processSyncCommitteeUpdates - 250000 170.24 ms/op 150.88 ms/op 1.13
BeaconState.hashTreeRoot - No change 321.00 ns/op 258.00 ns/op 1.24
BeaconState.hashTreeRoot - 1 full validator 174.11 us/op 166.94 us/op 1.04
BeaconState.hashTreeRoot - 32 full validator 1.7995 ms/op 1.6287 ms/op 1.10
BeaconState.hashTreeRoot - 512 full validator 19.281 ms/op 17.214 ms/op 1.12
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 189.87 us/op 198.48 us/op 0.96
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.5573 ms/op 2.3406 ms/op 1.09
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 28.777 ms/op 35.306 ms/op 0.82
BeaconState.hashTreeRoot - 1 balances 147.42 us/op 170.80 us/op 0.86
BeaconState.hashTreeRoot - 32 balances 1.2140 ms/op 1.6229 ms/op 0.75
BeaconState.hashTreeRoot - 512 balances 11.377 ms/op 14.964 ms/op 0.76
BeaconState.hashTreeRoot - 250000 balances 236.06 ms/op 227.20 ms/op 1.04
aggregationBits - 2048 els - zipIndexesInBitList 18.918 us/op 16.274 us/op 1.16
byteArrayEquals 32 50.831 ns/op 50.409 ns/op 1.01
Buffer.compare 32 55.874 ns/op 56.151 ns/op 1.00
byteArrayEquals 1024 1.4756 us/op 1.4647 us/op 1.01
Buffer.compare 1024 70.184 ns/op 72.335 ns/op 0.97
byteArrayEquals 16384 23.125 us/op 23.306 us/op 0.99
Buffer.compare 16384 270.69 ns/op 272.73 ns/op 0.99
byteArrayEquals 123687377 177.83 ms/op 176.97 ms/op 1.00
Buffer.compare 123687377 6.5857 ms/op 6.0607 ms/op 1.09
byteArrayEquals 32 - diff last byte 49.651 ns/op 49.493 ns/op 1.00
Buffer.compare 32 - diff last byte 57.233 ns/op 62.239 ns/op 0.92
byteArrayEquals 1024 - diff last byte 1.4640 us/op 1.4811 us/op 0.99
Buffer.compare 1024 - diff last byte 73.498 ns/op 72.134 ns/op 1.02
byteArrayEquals 16384 - diff last byte 23.319 us/op 23.595 us/op 0.99
Buffer.compare 16384 - diff last byte 269.46 ns/op 247.62 ns/op 1.09
byteArrayEquals 123687377 - diff last byte 177.58 ms/op 182.26 ms/op 0.97
Buffer.compare 123687377 - diff last byte 6.7330 ms/op 7.4971 ms/op 0.90
byteArrayEquals 32 - random bytes 5.9750 ns/op 6.3240 ns/op 0.94
Buffer.compare 32 - random bytes 60.346 ns/op 64.871 ns/op 0.93
byteArrayEquals 1024 - random bytes 5.7660 ns/op 6.3200 ns/op 0.91
Buffer.compare 1024 - random bytes 59.732 ns/op 64.284 ns/op 0.93
byteArrayEquals 16384 - random bytes 5.7430 ns/op 6.1530 ns/op 0.93
Buffer.compare 16384 - random bytes 59.621 ns/op 61.665 ns/op 0.97
byteArrayEquals 123687377 - random bytes 8.8400 ns/op 9.0400 ns/op 0.98
Buffer.compare 123687377 - random bytes 62.720 ns/op 65.930 ns/op 0.95
regular array get 100000 times 33.374 us/op 33.816 us/op 0.99
wrappedArray get 100000 times 34.854 us/op 33.601 us/op 1.04
arrayWithProxy get 100000 times 14.191 ms/op 16.170 ms/op 0.88
ssz.Root.equals 50.127 ns/op 52.017 ns/op 0.96
byteArrayEquals 49.168 ns/op 50.436 ns/op 0.97
Buffer.compare 11.693 ns/op 11.038 ns/op 1.06
shuffle list - 16384 els 7.0338 ms/op 7.0388 ms/op 1.00
shuffle list - 250000 els 103.02 ms/op 103.30 ms/op 1.00
processSlot - 1 slots 19.337 us/op 20.488 us/op 0.94
processSlot - 32 slots 2.8866 ms/op 3.9780 ms/op 0.73
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.256 ms/op 61.266 ms/op 0.93
getCommitteeAssignments - req 1 vs - 250000 vc 2.4931 ms/op 2.4876 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 3.6812 ms/op 3.6838 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0702 ms/op 4.0098 ms/op 1.02
findModifiedValidators - 10000 modified validators 545.27 ms/op 559.36 ms/op 0.97
findModifiedValidators - 1000 modified validators 428.51 ms/op 437.74 ms/op 0.98
findModifiedValidators - 100 modified validators 438.97 ms/op 401.00 ms/op 1.09
findModifiedValidators - 10 modified validators 464.18 ms/op 408.45 ms/op 1.14
findModifiedValidators - 1 modified validators 433.30 ms/op 401.34 ms/op 1.08
findModifiedValidators - no difference 425.80 ms/op 389.69 ms/op 1.09
compare ViewDUs 5.0546 s/op 4.9036 s/op 1.03
compare each validator Uint8Array 2.1724 s/op 1.9838 s/op 1.10
compare ViewDU to Uint8Array 1.2187 s/op 1.1152 s/op 1.09
migrate state 1000000 validators, 24 modified, 0 new 824.46 ms/op 865.57 ms/op 0.95
migrate state 1000000 validators, 1700 modified, 1000 new 1.0829 s/op 1.1869 s/op 0.91
migrate state 1000000 validators, 3400 modified, 2000 new 1.3995 s/op 1.4395 s/op 0.97
migrate state 1500000 validators, 24 modified, 0 new 843.18 ms/op 892.99 ms/op 0.94
migrate state 1500000 validators, 1700 modified, 1000 new 1.1669 s/op 1.1574 s/op 1.01
migrate state 1500000 validators, 3400 modified, 2000 new 1.3967 s/op 1.4923 s/op 0.94
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3900 ns/op 4.1300 ns/op 1.06
state getBlockRootAtSlot - 250000 vs - 7PWei 723.93 ns/op 973.62 ns/op 0.74
computeProposers - vc 250000 8.9625 ms/op 10.233 ms/op 0.88
computeEpochShuffling - vc 250000 107.36 ms/op 106.83 ms/op 1.00
getNextSyncCommittee - vc 250000 157.72 ms/op 153.23 ms/op 1.03
computeSigningRoot for AttestationData 20.658 us/op 26.409 us/op 0.78
hash AttestationData serialized data then Buffer.toString(base64) 2.2953 us/op 2.3777 us/op 0.97
toHexString serialized data 1.0566 us/op 1.0784 us/op 0.98
Buffer.toString(base64) 218.75 ns/op 220.30 ns/op 0.99

by benchmarkbot/action

@twoeths twoeths enabled auto-merge (squash) November 8, 2023 12:01
@twoeths twoeths merged commit 55817cd into unstable Nov 8, 2023
15 checks passed
@twoeths twoeths deleted the tuyen/log_previous_hits branch November 8, 2023 12:12
@wemeetagain
Copy link
Member

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

3 participants