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

fix: gossipsub pre_validation metrics #6562

Merged
merged 1 commit into from
Mar 19, 2024

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Mar 19, 2024

Motivation

Some panels have no data because it has wrong metrics

Description

Fix gossipsub pre_validation metrics

Screenshot 2024-03-19 at 09 19 20

@twoeths twoeths requested a review from a team as a code owner March 19, 2024 02:20
Copy link

codecov bot commented Mar 19, 2024

Codecov Report

Merging #6562 (b327857) into unstable (e840ea0) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6562   +/-   ##
=========================================
  Coverage     61.46%   61.46%           
=========================================
  Files           556      556           
  Lines         58850    58850           
  Branches       1850     1850           
=========================================
  Hits          36171    36171           
  Misses        22638    22638           
  Partials         41       41           

Copy link
Contributor

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: d42db99 Previous: e840ea0 Ratio
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 9.3910 us/op 29.524 us/op 0.32
Full benchmark results
Benchmark suite Current: d42db99 Previous: e840ea0 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 858.07 us/op 675.97 us/op 1.27
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 87.178 us/op 146.09 us/op 0.60
BLS verify - blst-native 1.2764 ms/op 1.4865 ms/op 0.86
BLS verifyMultipleSignatures 3 - blst-native 2.6990 ms/op 3.5509 ms/op 0.76
BLS verifyMultipleSignatures 8 - blst-native 6.0311 ms/op 7.0712 ms/op 0.85
BLS verifyMultipleSignatures 32 - blst-native 22.818 ms/op 27.119 ms/op 0.84
BLS verifyMultipleSignatures 64 - blst-native 43.917 ms/op 49.296 ms/op 0.89
BLS verifyMultipleSignatures 128 - blst-native 93.494 ms/op 119.99 ms/op 0.78
BLS deserializing 10000 signatures 928.81 ms/op 1.0595 s/op 0.88
BLS deserializing 100000 signatures 9.1824 s/op 9.9573 s/op 0.92
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2713 ms/op 1.5742 ms/op 0.81
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5516 ms/op 1.7211 ms/op 0.90
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.9200 ms/op 2.6327 ms/op 1.11
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.7027 ms/op 3.8282 ms/op 1.23
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.3466 ms/op 6.5426 ms/op 0.82
BLS aggregatePubkeys 32 - blst-native 24.519 us/op 29.366 us/op 0.83
BLS aggregatePubkeys 128 - blst-native 95.956 us/op 110.89 us/op 0.87
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 57.478 ms/op 86.506 ms/op 0.66
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 57.206 ms/op 79.836 ms/op 0.72
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 35.916 ms/op 63.903 ms/op 0.56
getSlashingsAndExits - default max 213.46 us/op 336.44 us/op 0.63
getSlashingsAndExits - 2k 394.11 us/op 708.66 us/op 0.56
proposeBlockBody type=full, size=empty 5.6079 ms/op 8.0713 ms/op 0.69
isKnown best case - 1 super set check 306.00 ns/op 689.00 ns/op 0.44
isKnown normal case - 2 super set checks 284.00 ns/op 707.00 ns/op 0.40
isKnown worse case - 16 super set checks 294.00 ns/op 710.00 ns/op 0.41
CheckpointStateCache - add get delete 6.1400 us/op 8.2800 us/op 0.74
validate api signedAggregateAndProof - struct 2.7146 ms/op 3.0693 ms/op 0.88
validate gossip signedAggregateAndProof - struct 2.7296 ms/op 3.3025 ms/op 0.83
validate gossip attestation - vc 640000 1.3052 ms/op 1.5606 ms/op 0.84
batch validate gossip attestation - vc 640000 - chunk 32 156.86 us/op 210.31 us/op 0.75
batch validate gossip attestation - vc 640000 - chunk 64 143.40 us/op 186.19 us/op 0.77
batch validate gossip attestation - vc 640000 - chunk 128 139.47 us/op 168.63 us/op 0.83
batch validate gossip attestation - vc 640000 - chunk 256 126.52 us/op 148.94 us/op 0.85
pickEth1Vote - no votes 1.2010 ms/op 1.5482 ms/op 0.78
pickEth1Vote - max votes 9.3621 ms/op 12.485 ms/op 0.75
pickEth1Vote - Eth1Data hashTreeRoot value x2048 18.365 ms/op 20.224 ms/op 0.91
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 29.576 ms/op 27.504 ms/op 1.08
pickEth1Vote - Eth1Data fastSerialize value x2048 591.37 us/op 775.46 us/op 0.76
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.3507 ms/op 5.3884 ms/op 1.36
bytes32 toHexString 476.00 ns/op 649.00 ns/op 0.73
bytes32 Buffer.toString(hex) 279.00 ns/op 340.00 ns/op 0.82
bytes32 Buffer.toString(hex) from Uint8Array 403.00 ns/op 558.00 ns/op 0.72
bytes32 Buffer.toString(hex) + 0x 280.00 ns/op 332.00 ns/op 0.84
Object access 1 prop 0.14800 ns/op 0.22500 ns/op 0.66
Map access 1 prop 0.14800 ns/op 0.16800 ns/op 0.88
Object get x1000 7.1950 ns/op 8.4450 ns/op 0.85
Map get x1000 0.72400 ns/op 0.94700 ns/op 0.76
Object set x1000 49.154 ns/op 74.935 ns/op 0.66
Map set x1000 38.165 ns/op 55.839 ns/op 0.68
Return object 10000 times 0.23400 ns/op 0.27380 ns/op 0.85
Throw Error 10000 times 3.7603 us/op 4.3656 us/op 0.86
fastMsgIdFn sha256 / 200 bytes 3.2060 us/op 3.8480 us/op 0.83
fastMsgIdFn h32 xxhash / 200 bytes 275.00 ns/op 373.00 ns/op 0.74
fastMsgIdFn h64 xxhash / 200 bytes 330.00 ns/op 422.00 ns/op 0.78
fastMsgIdFn sha256 / 1000 bytes 11.109 us/op 12.630 us/op 0.88
fastMsgIdFn h32 xxhash / 1000 bytes 398.00 ns/op 518.00 ns/op 0.77
fastMsgIdFn h64 xxhash / 1000 bytes 399.00 ns/op 519.00 ns/op 0.77
fastMsgIdFn sha256 / 10000 bytes 101.18 us/op 115.46 us/op 0.88
fastMsgIdFn h32 xxhash / 10000 bytes 1.8540 us/op 2.2540 us/op 0.82
fastMsgIdFn h64 xxhash / 10000 bytes 1.2710 us/op 1.4660 us/op 0.87
send data - 1000 256B messages 18.860 ms/op 24.311 ms/op 0.78
send data - 1000 512B messages 23.588 ms/op 26.947 ms/op 0.88
send data - 1000 1024B messages 40.784 ms/op 48.477 ms/op 0.84
send data - 1000 1200B messages 38.540 ms/op 45.135 ms/op 0.85
send data - 1000 2048B messages 47.215 ms/op 58.508 ms/op 0.81
send data - 1000 4096B messages 41.630 ms/op 50.055 ms/op 0.83
send data - 1000 16384B messages 108.34 ms/op 135.06 ms/op 0.80
send data - 1000 65536B messages 436.87 ms/op 511.16 ms/op 0.85
enrSubnets - fastDeserialize 64 bits 1.2190 us/op 1.6940 us/op 0.72
enrSubnets - ssz BitVector 64 bits 406.00 ns/op 617.00 ns/op 0.66
enrSubnets - fastDeserialize 4 bits 171.00 ns/op 277.00 ns/op 0.62
enrSubnets - ssz BitVector 4 bits 403.00 ns/op 661.00 ns/op 0.61
prioritizePeers score -10:0 att 32-0.1 sync 2-0 97.297 us/op 164.58 us/op 0.59
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 122.41 us/op 198.71 us/op 0.62
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 158.30 us/op 259.76 us/op 0.61
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 286.08 us/op 509.37 us/op 0.56
prioritizePeers score 0:0 att 64-1 sync 4-1 332.12 us/op 630.20 us/op 0.53
array of 16000 items push then shift 1.6449 us/op 1.9403 us/op 0.85
LinkedList of 16000 items push then shift 8.6940 ns/op 13.833 ns/op 0.63
array of 16000 items push then pop 83.525 ns/op 181.76 ns/op 0.46
LinkedList of 16000 items push then pop 8.5500 ns/op 13.879 ns/op 0.62
array of 24000 items push then shift 2.3278 us/op 3.3008 us/op 0.71
LinkedList of 24000 items push then shift 8.6890 ns/op 16.600 ns/op 0.52
array of 24000 items push then pop 98.116 ns/op 252.01 ns/op 0.39
LinkedList of 24000 items push then pop 8.4440 ns/op 11.585 ns/op 0.73
intersect bitArray bitLen 8 5.5880 ns/op 7.0190 ns/op 0.80
intersect array and set length 8 61.797 ns/op 124.97 ns/op 0.49
intersect bitArray bitLen 128 34.846 ns/op 69.506 ns/op 0.50
intersect array and set length 128 840.54 ns/op 1.3294 us/op 0.63
bitArray.getTrueBitIndexes() bitLen 128 1.5580 us/op 2.8340 us/op 0.55
bitArray.getTrueBitIndexes() bitLen 248 2.4840 us/op 4.9640 us/op 0.50
bitArray.getTrueBitIndexes() bitLen 512 4.7930 us/op 9.2270 us/op 0.52
Buffer.concat 32 items 995.00 ns/op 1.4180 us/op 0.70
Uint8Array.set 32 items 2.4210 us/op 2.8550 us/op 0.85
Set add up to 64 items then delete first 4.2924 us/op 6.1391 us/op 0.70
OrderedSet add up to 64 items then delete first 5.3409 us/op 8.6880 us/op 0.61
Set add up to 64 items then delete last 4.5661 us/op 7.0903 us/op 0.64
OrderedSet add up to 64 items then delete last 5.6645 us/op 8.8774 us/op 0.64
Set add up to 64 items then delete middle 4.5413 us/op 6.2942 us/op 0.72
OrderedSet add up to 64 items then delete middle 6.9768 us/op 9.6866 us/op 0.72
Set add up to 128 items then delete first 9.2710 us/op 12.472 us/op 0.74
OrderedSet add up to 128 items then delete first 12.404 us/op 18.515 us/op 0.67
Set add up to 128 items then delete last 9.0904 us/op 12.260 us/op 0.74
OrderedSet add up to 128 items then delete last 11.437 us/op 16.507 us/op 0.69
Set add up to 128 items then delete middle 9.0435 us/op 12.029 us/op 0.75
OrderedSet add up to 128 items then delete middle 16.740 us/op 22.175 us/op 0.75
Set add up to 256 items then delete first 18.682 us/op 23.894 us/op 0.78
OrderedSet add up to 256 items then delete first 25.127 us/op 35.128 us/op 0.72
Set add up to 256 items then delete last 18.180 us/op 24.629 us/op 0.74
OrderedSet add up to 256 items then delete last 22.893 us/op 33.416 us/op 0.69
Set add up to 256 items then delete middle 18.073 us/op 26.034 us/op 0.69
OrderedSet add up to 256 items then delete middle 44.668 us/op 62.749 us/op 0.71
transfer serialized Status (84 B) 1.8000 us/op 2.4880 us/op 0.72
copy serialized Status (84 B) 1.3380 us/op 1.8060 us/op 0.74
transfer serialized SignedVoluntaryExit (112 B) 1.8950 us/op 2.6170 us/op 0.72
copy serialized SignedVoluntaryExit (112 B) 1.4790 us/op 1.7470 us/op 0.85
transfer serialized ProposerSlashing (416 B) 3.0560 us/op 3.2430 us/op 0.94
copy serialized ProposerSlashing (416 B) 2.8370 us/op 2.7550 us/op 1.03
transfer serialized Attestation (485 B) 3.2290 us/op 3.3640 us/op 0.96
copy serialized Attestation (485 B) 2.8280 us/op 3.0640 us/op 0.92
transfer serialized AttesterSlashing (33232 B) 3.0530 us/op 3.4270 us/op 0.89
copy serialized AttesterSlashing (33232 B) 6.7150 us/op 8.5040 us/op 0.79
transfer serialized Small SignedBeaconBlock (128000 B) 3.2910 us/op 3.3250 us/op 0.99
copy serialized Small SignedBeaconBlock (128000 B) 14.800 us/op 22.564 us/op 0.66
transfer serialized Avg SignedBeaconBlock (200000 B) 3.4440 us/op 3.8560 us/op 0.89
copy serialized Avg SignedBeaconBlock (200000 B) 21.437 us/op 32.056 us/op 0.67
transfer serialized BlobsSidecar (524380 B) 3.4360 us/op 4.4950 us/op 0.76
copy serialized BlobsSidecar (524380 B) 79.859 us/op 237.91 us/op 0.34
transfer serialized Big SignedBeaconBlock (1000000 B) 3.5760 us/op 4.4520 us/op 0.80
copy serialized Big SignedBeaconBlock (1000000 B) 356.26 us/op 196.28 us/op 1.82
pass gossip attestations to forkchoice per slot 3.8180 ms/op 4.6734 ms/op 0.82
forkChoice updateHead vc 100000 bc 64 eq 0 761.23 us/op 900.39 us/op 0.85
forkChoice updateHead vc 600000 bc 64 eq 0 4.3274 ms/op 6.2111 ms/op 0.70
forkChoice updateHead vc 1000000 bc 64 eq 0 8.3013 ms/op 8.6938 ms/op 0.95
forkChoice updateHead vc 600000 bc 320 eq 0 4.2086 ms/op 5.2938 ms/op 0.79
forkChoice updateHead vc 600000 bc 1200 eq 0 4.2797 ms/op 5.6730 ms/op 0.75
forkChoice updateHead vc 600000 bc 7200 eq 0 5.2619 ms/op 7.1034 ms/op 0.74
forkChoice updateHead vc 600000 bc 64 eq 1000 11.247 ms/op 13.504 ms/op 0.83
forkChoice updateHead vc 600000 bc 64 eq 10000 12.114 ms/op 17.151 ms/op 0.71
forkChoice updateHead vc 600000 bc 64 eq 300000 15.760 ms/op 25.672 ms/op 0.61
computeDeltas 500000 validators 300 proto nodes 6.6486 ms/op 8.1426 ms/op 0.82
computeDeltas 500000 validators 1200 proto nodes 6.3941 ms/op 7.7912 ms/op 0.82
computeDeltas 500000 validators 7200 proto nodes 6.3575 ms/op 7.5976 ms/op 0.84
computeDeltas 750000 validators 300 proto nodes 9.4475 ms/op 10.957 ms/op 0.86
computeDeltas 750000 validators 1200 proto nodes 9.5004 ms/op 10.709 ms/op 0.89
computeDeltas 750000 validators 7200 proto nodes 9.4344 ms/op 10.624 ms/op 0.89
computeDeltas 1400000 validators 300 proto nodes 18.514 ms/op 21.728 ms/op 0.85
computeDeltas 1400000 validators 1200 proto nodes 18.859 ms/op 20.579 ms/op 0.92
computeDeltas 1400000 validators 7200 proto nodes 18.941 ms/op 21.716 ms/op 0.87
computeDeltas 2100000 validators 300 proto nodes 28.243 ms/op 35.248 ms/op 0.80
computeDeltas 2100000 validators 1200 proto nodes 28.059 ms/op 35.516 ms/op 0.79
computeDeltas 2100000 validators 7200 proto nodes 28.800 ms/op 33.218 ms/op 0.87
altair processAttestation - 250000 vs - 7PWei normalcase 2.3879 ms/op 4.3262 ms/op 0.55
altair processAttestation - 250000 vs - 7PWei worstcase 3.7300 ms/op 5.6205 ms/op 0.66
altair processAttestation - setStatus - 1/6 committees join 189.26 us/op 191.56 us/op 0.99
altair processAttestation - setStatus - 1/3 committees join 359.06 us/op 362.49 us/op 0.99
altair processAttestation - setStatus - 1/2 committees join 469.83 us/op 546.28 us/op 0.86
altair processAttestation - setStatus - 2/3 committees join 587.90 us/op 673.77 us/op 0.87
altair processAttestation - setStatus - 4/5 committees join 802.80 us/op 792.34 us/op 1.01
altair processAttestation - setStatus - 100% committees join 934.24 us/op 935.73 us/op 1.00
altair processBlock - 250000 vs - 7PWei normalcase 10.152 ms/op 12.137 ms/op 0.84
altair processBlock - 250000 vs - 7PWei normalcase hashState 35.242 ms/op 52.822 ms/op 0.67
altair processBlock - 250000 vs - 7PWei worstcase 43.797 ms/op 50.475 ms/op 0.87
altair processBlock - 250000 vs - 7PWei worstcase hashState 92.760 ms/op 123.76 ms/op 0.75
phase0 processBlock - 250000 vs - 7PWei normalcase 2.6349 ms/op 3.4234 ms/op 0.77
phase0 processBlock - 250000 vs - 7PWei worstcase 30.710 ms/op 37.864 ms/op 0.81
altair processEth1Data - 250000 vs - 7PWei normalcase 550.12 us/op 866.83 us/op 0.63
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 13.407 us/op 18.346 us/op 0.73
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 73.157 us/op 88.727 us/op 0.82
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 27.382 us/op 50.103 us/op 0.55
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 9.3910 us/op 29.524 us/op 0.32
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 162.65 us/op 286.83 us/op 0.57
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2810 ms/op 2.0444 ms/op 0.63
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.9677 ms/op 2.7970 ms/op 0.70
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7812 ms/op 2.7607 ms/op 0.65
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.2496 ms/op 7.8261 ms/op 0.54
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.9658 ms/op 4.6310 ms/op 0.64
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.8256 ms/op 12.293 ms/op 0.47
Tree 40 250000 create 376.79 ms/op 822.00 ms/op 0.46
Tree 40 250000 get(125000) 202.82 ns/op 252.47 ns/op 0.80
Tree 40 250000 set(125000) 989.23 ns/op 2.7069 us/op 0.37
Tree 40 250000 toArray() 18.427 ms/op 27.493 ms/op 0.67
Tree 40 250000 iterate all - toArray() + loop 18.601 ms/op 28.166 ms/op 0.66
Tree 40 250000 iterate all - get(i) 64.905 ms/op 95.570 ms/op 0.68
MutableVector 250000 create 14.151 ms/op 27.743 ms/op 0.51
MutableVector 250000 get(125000) 6.9360 ns/op 8.4040 ns/op 0.83
MutableVector 250000 set(125000) 281.50 ns/op 652.17 ns/op 0.43
MutableVector 250000 toArray() 3.2474 ms/op 5.5028 ms/op 0.59
MutableVector 250000 iterate all - toArray() + loop 3.3656 ms/op 5.4164 ms/op 0.62
MutableVector 250000 iterate all - get(i) 1.5429 ms/op 1.8226 ms/op 0.85
Array 250000 create 2.7622 ms/op 4.7460 ms/op 0.58
Array 250000 clone - spread 1.3547 ms/op 1.8015 ms/op 0.75
Array 250000 get(125000) 1.1240 ns/op 2.0090 ns/op 0.56
Array 250000 set(125000) 4.1850 ns/op 6.0780 ns/op 0.69
Array 250000 iterate all - loop 166.84 us/op 208.03 us/op 0.80
effectiveBalanceIncrements clone Uint8Array 300000 32.115 us/op 54.636 us/op 0.59
effectiveBalanceIncrements clone MutableVector 300000 423.00 ns/op 476.00 ns/op 0.89
effectiveBalanceIncrements rw all Uint8Array 300000 199.12 us/op 239.03 us/op 0.83
effectiveBalanceIncrements rw all MutableVector 300000 91.073 ms/op 192.15 ms/op 0.47
phase0 afterProcessEpoch - 250000 vs - 7PWei 111.25 ms/op 143.18 ms/op 0.78
phase0 beforeProcessEpoch - 250000 vs - 7PWei 52.251 ms/op 67.939 ms/op 0.77
altair processEpoch - mainnet_e81889 481.20 ms/op 635.29 ms/op 0.76
mainnet_e81889 - altair beforeProcessEpoch 84.724 ms/op 110.69 ms/op 0.77
mainnet_e81889 - altair processJustificationAndFinalization 15.314 us/op 34.186 us/op 0.45
mainnet_e81889 - altair processInactivityUpdates 6.2166 ms/op 10.547 ms/op 0.59
mainnet_e81889 - altair processRewardsAndPenalties 52.145 ms/op 73.632 ms/op 0.71
mainnet_e81889 - altair processRegistryUpdates 2.6140 us/op 5.1120 us/op 0.51
mainnet_e81889 - altair processSlashings 614.00 ns/op 1.5400 us/op 0.40
mainnet_e81889 - altair processEth1DataReset 550.00 ns/op 1.7330 us/op 0.32
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.5011 ms/op 1.8448 ms/op 0.81
mainnet_e81889 - altair processSlashingsReset 3.5190 us/op 6.3520 us/op 0.55
mainnet_e81889 - altair processRandaoMixesReset 6.3030 us/op 10.081 us/op 0.63
mainnet_e81889 - altair processHistoricalRootsUpdate 736.00 ns/op 1.6130 us/op 0.46
mainnet_e81889 - altair processParticipationFlagUpdates 1.5820 us/op 4.8620 us/op 0.33
mainnet_e81889 - altair processSyncCommitteeUpdates 715.00 ns/op 1.7260 us/op 0.41
mainnet_e81889 - altair afterProcessEpoch 119.26 ms/op 149.25 ms/op 0.80
capella processEpoch - mainnet_e217614 2.1000 s/op 2.8321 s/op 0.74
mainnet_e217614 - capella beforeProcessEpoch 472.63 ms/op 638.26 ms/op 0.74
mainnet_e217614 - capella processJustificationAndFinalization 15.604 us/op 22.169 us/op 0.70
mainnet_e217614 - capella processInactivityUpdates 24.164 ms/op 21.839 ms/op 1.11
mainnet_e217614 - capella processRewardsAndPenalties 544.08 ms/op 700.46 ms/op 0.78
mainnet_e217614 - capella processRegistryUpdates 26.362 us/op 50.972 us/op 0.52
mainnet_e217614 - capella processSlashings 822.00 ns/op 1.5250 us/op 0.54
mainnet_e217614 - capella processEth1DataReset 717.00 ns/op 1.1900 us/op 0.60
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.5867 ms/op 5.9209 ms/op 0.77
mainnet_e217614 - capella processSlashingsReset 3.0830 us/op 11.080 us/op 0.28
mainnet_e217614 - capella processRandaoMixesReset 6.6230 us/op 14.687 us/op 0.45
mainnet_e217614 - capella processHistoricalRootsUpdate 748.00 ns/op 1.8280 us/op 0.41
mainnet_e217614 - capella processParticipationFlagUpdates 2.2010 us/op 5.4100 us/op 0.41
mainnet_e217614 - capella afterProcessEpoch 325.75 ms/op 445.12 ms/op 0.73
phase0 processEpoch - mainnet_e58758 544.84 ms/op 739.95 ms/op 0.74
mainnet_e58758 - phase0 beforeProcessEpoch 159.85 ms/op 223.10 ms/op 0.72
mainnet_e58758 - phase0 processJustificationAndFinalization 20.267 us/op 40.720 us/op 0.50
mainnet_e58758 - phase0 processRewardsAndPenalties 65.927 ms/op 80.374 ms/op 0.82
mainnet_e58758 - phase0 processRegistryUpdates 11.094 us/op 20.778 us/op 0.53
mainnet_e58758 - phase0 processSlashings 593.00 ns/op 946.00 ns/op 0.63
mainnet_e58758 - phase0 processEth1DataReset 902.00 ns/op 1.0050 us/op 0.90
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2312 ms/op 1.3492 ms/op 0.91
mainnet_e58758 - phase0 processSlashingsReset 2.8880 us/op 5.0740 us/op 0.57
mainnet_e58758 - phase0 processRandaoMixesReset 3.9560 us/op 8.3000 us/op 0.48
mainnet_e58758 - phase0 processHistoricalRootsUpdate 639.00 ns/op 1.1060 us/op 0.58
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.7460 us/op 6.8320 us/op 0.84
mainnet_e58758 - phase0 afterProcessEpoch 103.63 ms/op 109.92 ms/op 0.94
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3829 ms/op 1.4782 ms/op 0.94
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4867 ms/op 1.6087 ms/op 0.92
altair processInactivityUpdates - 250000 normalcase 24.666 ms/op 36.622 ms/op 0.67
altair processInactivityUpdates - 250000 worstcase 29.127 ms/op 34.098 ms/op 0.85
phase0 processRegistryUpdates - 250000 normalcase 11.537 us/op 15.344 us/op 0.75
phase0 processRegistryUpdates - 250000 badcase_full_deposits 491.37 us/op 513.92 us/op 0.96
phase0 processRegistryUpdates - 250000 worstcase 0.5 167.92 ms/op 196.31 ms/op 0.86
altair processRewardsAndPenalties - 250000 normalcase 72.975 ms/op 90.435 ms/op 0.81
altair processRewardsAndPenalties - 250000 worstcase 47.006 ms/op 87.568 ms/op 0.54
phase0 getAttestationDeltas - 250000 normalcase 11.066 ms/op 14.736 ms/op 0.75
phase0 getAttestationDeltas - 250000 worstcase 10.641 ms/op 13.891 ms/op 0.77
phase0 processSlashings - 250000 worstcase 104.58 us/op 113.20 us/op 0.92
altair processSyncCommitteeUpdates - 250000 172.30 ms/op 187.70 ms/op 0.92
BeaconState.hashTreeRoot - No change 502.00 ns/op 791.00 ns/op 0.63
BeaconState.hashTreeRoot - 1 full validator 162.08 us/op 179.65 us/op 0.90
BeaconState.hashTreeRoot - 32 full validator 1.7039 ms/op 1.6831 ms/op 1.01
BeaconState.hashTreeRoot - 512 full validator 14.935 ms/op 18.318 ms/op 0.82
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 161.47 us/op 195.42 us/op 0.83
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.1829 ms/op 2.7075 ms/op 0.81
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 36.431 ms/op 35.175 ms/op 1.04
BeaconState.hashTreeRoot - 1 balances 135.54 us/op 160.90 us/op 0.84
BeaconState.hashTreeRoot - 32 balances 1.1752 ms/op 1.4473 ms/op 0.81
BeaconState.hashTreeRoot - 512 balances 10.781 ms/op 17.441 ms/op 0.62
BeaconState.hashTreeRoot - 250000 balances 224.49 ms/op 279.63 ms/op 0.80
aggregationBits - 2048 els - zipIndexesInBitList 36.768 us/op 46.089 us/op 0.80
byteArrayEquals 32 80.492 ns/op 83.909 ns/op 0.96
Buffer.compare 32 58.375 ns/op 66.911 ns/op 0.87
byteArrayEquals 1024 2.1485 us/op 2.3734 us/op 0.91
Buffer.compare 1024 75.427 ns/op 82.054 ns/op 0.92
byteArrayEquals 16384 35.499 us/op 40.271 us/op 0.88
Buffer.compare 16384 291.38 ns/op 300.40 ns/op 0.97
byteArrayEquals 123687377 262.12 ms/op 291.71 ms/op 0.90
Buffer.compare 123687377 7.7641 ms/op 9.8322 ms/op 0.79
byteArrayEquals 32 - diff last byte 90.501 ns/op 95.149 ns/op 0.95
Buffer.compare 32 - diff last byte 64.696 ns/op 73.416 ns/op 0.88
byteArrayEquals 1024 - diff last byte 2.3063 us/op 2.7092 us/op 0.85
Buffer.compare 1024 - diff last byte 84.475 ns/op 93.871 ns/op 0.90
byteArrayEquals 16384 - diff last byte 35.916 us/op 43.313 us/op 0.83
Buffer.compare 16384 - diff last byte 273.98 ns/op 319.60 ns/op 0.86
byteArrayEquals 123687377 - diff last byte 275.01 ms/op 307.11 ms/op 0.90
Buffer.compare 123687377 - diff last byte 7.9502 ms/op 11.712 ms/op 0.68
byteArrayEquals 32 - random bytes 6.5390 ns/op 7.3980 ns/op 0.88
Buffer.compare 32 - random bytes 67.107 ns/op 74.119 ns/op 0.91
byteArrayEquals 1024 - random bytes 6.0750 ns/op 7.2010 ns/op 0.84
Buffer.compare 1024 - random bytes 64.035 ns/op 72.346 ns/op 0.89
byteArrayEquals 16384 - random bytes 5.4480 ns/op 7.1070 ns/op 0.77
Buffer.compare 16384 - random bytes 62.415 ns/op 72.205 ns/op 0.86
byteArrayEquals 123687377 - random bytes 8.6400 ns/op 14.090 ns/op 0.61
Buffer.compare 123687377 - random bytes 66.560 ns/op 91.860 ns/op 0.72
regular array get 100000 times 46.978 us/op 54.212 us/op 0.87
wrappedArray get 100000 times 46.901 us/op 51.353 us/op 0.91
arrayWithProxy get 100000 times 14.401 ms/op 16.374 ms/op 0.88
ssz.Root.equals 58.121 ns/op 62.111 ns/op 0.94
byteArrayEquals 54.575 ns/op 60.900 ns/op 0.90
Buffer.compare 11.451 ns/op 13.583 ns/op 0.84
shuffle list - 16384 els 8.9705 ms/op 9.9780 ms/op 0.90
shuffle list - 250000 els 132.37 ms/op 139.27 ms/op 0.95
processSlot - 1 slots 17.938 us/op 20.455 us/op 0.88
processSlot - 32 slots 4.4971 ms/op 4.9322 ms/op 0.91
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 59.908 ms/op 72.525 ms/op 0.83
getCommitteeAssignments - req 1 vs - 250000 vc 2.8283 ms/op 3.0102 ms/op 0.94
getCommitteeAssignments - req 100 vs - 250000 vc 4.0660 ms/op 4.6477 ms/op 0.87
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3126 ms/op 4.7810 ms/op 0.90
findModifiedValidators - 10000 modified validators 531.52 ms/op 669.72 ms/op 0.79
findModifiedValidators - 1000 modified validators 425.06 ms/op 511.92 ms/op 0.83
findModifiedValidators - 100 modified validators 410.04 ms/op 535.24 ms/op 0.77
findModifiedValidators - 10 modified validators 415.63 ms/op 522.53 ms/op 0.80
findModifiedValidators - 1 modified validators 415.72 ms/op 502.93 ms/op 0.83
findModifiedValidators - no difference 498.67 ms/op 522.25 ms/op 0.95
compare ViewDUs 5.7484 s/op 5.0615 s/op 1.14
compare each validator Uint8Array 1.9843 s/op 1.9853 s/op 1.00
compare ViewDU to Uint8Array 1.5848 s/op 1.5070 s/op 1.05
migrate state 1000000 validators, 24 modified, 0 new 1.0055 s/op 885.32 ms/op 1.14
migrate state 1000000 validators, 1700 modified, 1000 new 1.4161 s/op 1.2633 s/op 1.12
migrate state 1000000 validators, 3400 modified, 2000 new 1.6695 s/op 1.7837 s/op 0.94
migrate state 1500000 validators, 24 modified, 0 new 939.64 ms/op 1.1208 s/op 0.84
migrate state 1500000 validators, 1700 modified, 1000 new 1.1606 s/op 1.2467 s/op 0.93
migrate state 1500000 validators, 3400 modified, 2000 new 1.3548 s/op 1.4651 s/op 0.92
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3500 ns/op 4.9300 ns/op 0.88
state getBlockRootAtSlot - 250000 vs - 7PWei 636.24 ns/op 706.42 ns/op 0.90
computeProposers - vc 250000 9.5555 ms/op 10.377 ms/op 0.92
computeEpochShuffling - vc 250000 129.02 ms/op 135.73 ms/op 0.95
getNextSyncCommittee - vc 250000 157.10 ms/op 182.42 ms/op 0.86
computeSigningRoot for AttestationData 27.574 us/op 38.848 us/op 0.71
hash AttestationData serialized data then Buffer.toString(base64) 2.5370 us/op 3.2269 us/op 0.79
toHexString serialized data 1.4490 us/op 2.2591 us/op 0.64
Buffer.toString(base64) 290.72 ns/op 343.32 ns/op 0.85

by benchmarkbot/action

@wemeetagain wemeetagain merged commit f9676f1 into unstable Mar 19, 2024
18 of 20 checks passed
@wemeetagain wemeetagain deleted the tuyen/fix_gossipsub_pre_validation_metrics branch March 19, 2024 14:30
@wemeetagain
Copy link
Member

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