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: n historical states metrics #6608

Merged
merged 2 commits into from Mar 28, 2024
Merged

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Mar 28, 2024

Motivation

Description

  • Also persist n-historical states to grafana
Screenshot 2024-03-28 at 16 20 44

cc @nflaig

@twoeths twoeths requested a review from a team as a code owner March 28, 2024 09:21
Copy link

codecov bot commented Mar 28, 2024

Codecov Report

Merging #6608 (fa56f83) into unstable (20bc193) will increase coverage by 0.00%.
Report is 2 commits behind head on unstable.
The diff coverage is 0.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6608   +/-   ##
=========================================
  Coverage     61.61%   61.61%           
=========================================
  Files           556      556           
  Lines         58561    58566    +5     
  Branches       1859     1859           
=========================================
+ Hits          36080    36084    +4     
- Misses        22440    22441    +1     
  Partials         41       41           

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 815aefb Previous: ecc8f8b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 495.07 us/op 661.06 us/op 0.75
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 85.409 us/op 94.786 us/op 0.90
BLS verify - blst-native 1.3403 ms/op 1.3366 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 2.8077 ms/op 2.8118 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst-native 6.1261 ms/op 6.1674 ms/op 0.99
BLS verifyMultipleSignatures 32 - blst-native 22.626 ms/op 22.636 ms/op 1.00
BLS verifyMultipleSignatures 64 - blst-native 44.271 ms/op 44.618 ms/op 0.99
BLS verifyMultipleSignatures 128 - blst-native 89.360 ms/op 88.289 ms/op 1.01
BLS deserializing 10000 signatures 939.26 ms/op 913.12 ms/op 1.03
BLS deserializing 100000 signatures 9.4861 s/op 9.6217 s/op 0.99
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3592 ms/op 1.3576 ms/op 1.00
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.6404 ms/op 1.5065 ms/op 1.09
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.8558 ms/op 2.5273 ms/op 1.13
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.2531 ms/op 4.6436 ms/op 0.92
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.6428 ms/op 8.2389 ms/op 0.68
BLS aggregatePubkeys 32 - blst-native 25.515 us/op 28.959 us/op 0.88
BLS aggregatePubkeys 128 - blst-native 99.081 us/op 103.07 us/op 0.96
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 62.392 ms/op 67.837 ms/op 0.92
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 60.410 ms/op 71.311 ms/op 0.85
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 36.393 ms/op 41.421 ms/op 0.88
getSlashingsAndExits - default max 224.96 us/op 223.91 us/op 1.00
getSlashingsAndExits - 2k 466.58 us/op 510.00 us/op 0.91
proposeBlockBody type=full, size=empty 5.6623 ms/op 6.0473 ms/op 0.94
isKnown best case - 1 super set check 427.00 ns/op 338.00 ns/op 1.26
isKnown normal case - 2 super set checks 366.00 ns/op 356.00 ns/op 1.03
isKnown worse case - 16 super set checks 331.00 ns/op 308.00 ns/op 1.07
InMemoryCheckpointStateCache - add get delete 6.5190 us/op 6.4600 us/op 1.01
validate api signedAggregateAndProof - struct 2.7489 ms/op 2.8737 ms/op 0.96
validate gossip signedAggregateAndProof - struct 2.7288 ms/op 2.8552 ms/op 0.96
validate gossip attestation - vc 640000 1.3527 ms/op 1.3957 ms/op 0.97
batch validate gossip attestation - vc 640000 - chunk 32 164.31 us/op 165.86 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 64 141.24 us/op 147.76 us/op 0.96
batch validate gossip attestation - vc 640000 - chunk 128 136.49 us/op 140.94 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 256 136.87 us/op 139.28 us/op 0.98
pickEth1Vote - no votes 1.3731 ms/op 1.3178 ms/op 1.04
pickEth1Vote - max votes 10.719 ms/op 8.3078 ms/op 1.29
pickEth1Vote - Eth1Data hashTreeRoot value x2048 20.744 ms/op 18.209 ms/op 1.14
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 32.141 ms/op 27.825 ms/op 1.16
pickEth1Vote - Eth1Data fastSerialize value x2048 676.37 us/op 696.49 us/op 0.97
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.4422 ms/op 5.4216 ms/op 1.56
bytes32 toHexString 598.00 ns/op 618.00 ns/op 0.97
bytes32 Buffer.toString(hex) 315.00 ns/op 309.00 ns/op 1.02
bytes32 Buffer.toString(hex) from Uint8Array 531.00 ns/op 562.00 ns/op 0.94
bytes32 Buffer.toString(hex) + 0x 311.00 ns/op 315.00 ns/op 0.99
Object access 1 prop 0.18200 ns/op 0.23200 ns/op 0.78
Map access 1 prop 0.15300 ns/op 0.15600 ns/op 0.98
Object get x1000 7.4990 ns/op 7.7760 ns/op 0.96
Map get x1000 0.87500 ns/op 0.88800 ns/op 0.99
Object set x1000 58.708 ns/op 64.321 ns/op 0.91
Map set x1000 54.019 ns/op 53.367 ns/op 1.01
Return object 10000 times 0.24800 ns/op 0.25490 ns/op 0.97
Throw Error 10000 times 3.9764 us/op 3.9736 us/op 1.00
fastMsgIdFn sha256 / 200 bytes 3.3430 us/op 3.4610 us/op 0.97
fastMsgIdFn h32 xxhash / 200 bytes 304.00 ns/op 361.00 ns/op 0.84
fastMsgIdFn h64 xxhash / 200 bytes 360.00 ns/op 392.00 ns/op 0.92
fastMsgIdFn sha256 / 1000 bytes 11.698 us/op 11.789 us/op 0.99
fastMsgIdFn h32 xxhash / 1000 bytes 489.00 ns/op 483.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 1000 bytes 459.00 ns/op 468.00 ns/op 0.98
fastMsgIdFn sha256 / 10000 bytes 104.55 us/op 105.87 us/op 0.99
fastMsgIdFn h32 xxhash / 10000 bytes 2.0320 us/op 2.0840 us/op 0.98
fastMsgIdFn h64 xxhash / 10000 bytes 1.3690 us/op 1.4270 us/op 0.96
send data - 1000 256B messages 17.352 ms/op 20.279 ms/op 0.86
send data - 1000 512B messages 29.276 ms/op 29.717 ms/op 0.99
send data - 1000 1024B messages 39.164 ms/op 46.019 ms/op 0.85
send data - 1000 1200B messages 39.362 ms/op 40.793 ms/op 0.96
send data - 1000 2048B messages 47.373 ms/op 52.991 ms/op 0.89
send data - 1000 4096B messages 45.346 ms/op 49.962 ms/op 0.91
send data - 1000 16384B messages 115.02 ms/op 120.98 ms/op 0.95
send data - 1000 65536B messages 489.54 ms/op 426.91 ms/op 1.15
enrSubnets - fastDeserialize 64 bits 1.2010 us/op 1.5870 us/op 0.76
enrSubnets - ssz BitVector 64 bits 417.00 ns/op 531.00 ns/op 0.79
enrSubnets - fastDeserialize 4 bits 174.00 ns/op 259.00 ns/op 0.67
enrSubnets - ssz BitVector 4 bits 414.00 ns/op 563.00 ns/op 0.74
prioritizePeers score -10:0 att 32-0.1 sync 2-0 100.02 us/op 121.81 us/op 0.82
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 127.83 us/op 147.43 us/op 0.87
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 161.83 us/op 208.25 us/op 0.78
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 284.97 us/op 360.26 us/op 0.79
prioritizePeers score 0:0 att 64-1 sync 4-1 338.53 us/op 381.29 us/op 0.89
array of 16000 items push then shift 1.5952 us/op 1.6947 us/op 0.94
LinkedList of 16000 items push then shift 8.9140 ns/op 10.109 ns/op 0.88
array of 16000 items push then pop 74.949 ns/op 124.14 ns/op 0.60
LinkedList of 16000 items push then pop 8.6620 ns/op 9.4620 ns/op 0.92
array of 24000 items push then shift 2.3611 us/op 2.7595 us/op 0.86
LinkedList of 24000 items push then shift 8.7130 ns/op 10.673 ns/op 0.82
array of 24000 items push then pop 102.13 ns/op 153.62 ns/op 0.66
LinkedList of 24000 items push then pop 8.4690 ns/op 9.0450 ns/op 0.94
intersect bitArray bitLen 8 5.6310 ns/op 6.0740 ns/op 0.93
intersect array and set length 8 60.746 ns/op 77.531 ns/op 0.78
intersect bitArray bitLen 128 34.452 ns/op 36.326 ns/op 0.95
intersect array and set length 128 836.42 ns/op 1.0557 us/op 0.79
bitArray.getTrueBitIndexes() bitLen 128 1.4120 us/op 1.7130 us/op 0.82
bitArray.getTrueBitIndexes() bitLen 248 2.4110 us/op 3.0710 us/op 0.79
bitArray.getTrueBitIndexes() bitLen 512 4.5220 us/op 6.1810 us/op 0.73
Buffer.concat 32 items 926.00 ns/op 1.0380 us/op 0.89
Uint8Array.set 32 items 1.7810 us/op 1.8390 us/op 0.97
Set add up to 64 items then delete first 4.1764 us/op 4.8727 us/op 0.86
OrderedSet add up to 64 items then delete first 5.3664 us/op 5.9115 us/op 0.91
Set add up to 64 items then delete last 4.5468 us/op 5.2676 us/op 0.86
OrderedSet add up to 64 items then delete last 5.6692 us/op 6.2451 us/op 0.91
Set add up to 64 items then delete middle 4.5215 us/op 4.8367 us/op 0.93
OrderedSet add up to 64 items then delete middle 6.9192 us/op 8.0578 us/op 0.86
Set add up to 128 items then delete first 9.1512 us/op 9.9999 us/op 0.92
OrderedSet add up to 128 items then delete first 12.115 us/op 13.154 us/op 0.92
Set add up to 128 items then delete last 9.0684 us/op 11.474 us/op 0.79
OrderedSet add up to 128 items then delete last 11.473 us/op 13.629 us/op 0.84
Set add up to 128 items then delete middle 8.9975 us/op 10.563 us/op 0.85
OrderedSet add up to 128 items then delete middle 16.674 us/op 18.462 us/op 0.90
Set add up to 256 items then delete first 18.269 us/op 20.424 us/op 0.89
OrderedSet add up to 256 items then delete first 24.804 us/op 26.732 us/op 0.93
Set add up to 256 items then delete last 18.013 us/op 20.000 us/op 0.90
OrderedSet add up to 256 items then delete last 22.793 us/op 24.928 us/op 0.91
Set add up to 256 items then delete middle 17.956 us/op 19.408 us/op 0.93
OrderedSet add up to 256 items then delete middle 44.395 us/op 50.772 us/op 0.87
transfer serialized Status (84 B) 1.6090 us/op 1.8920 us/op 0.85
copy serialized Status (84 B) 1.2250 us/op 1.3870 us/op 0.88
transfer serialized SignedVoluntaryExit (112 B) 1.7120 us/op 1.9670 us/op 0.87
copy serialized SignedVoluntaryExit (112 B) 1.2660 us/op 1.4320 us/op 0.88
transfer serialized ProposerSlashing (416 B) 2.4180 us/op 2.2620 us/op 1.07
copy serialized ProposerSlashing (416 B) 1.7540 us/op 2.2650 us/op 0.77
transfer serialized Attestation (485 B) 2.3680 us/op 2.5780 us/op 0.92
copy serialized Attestation (485 B) 2.0290 us/op 2.3930 us/op 0.85
transfer serialized AttesterSlashing (33232 B) 2.4400 us/op 3.0230 us/op 0.81
copy serialized AttesterSlashing (33232 B) 5.4160 us/op 7.4510 us/op 0.73
transfer serialized Small SignedBeaconBlock (128000 B) 2.7310 us/op 2.4980 us/op 1.09
copy serialized Small SignedBeaconBlock (128000 B) 16.804 us/op 19.311 us/op 0.87
transfer serialized Avg SignedBeaconBlock (200000 B) 3.0930 us/op 2.9930 us/op 1.03
copy serialized Avg SignedBeaconBlock (200000 B) 21.067 us/op 25.996 us/op 0.81
transfer serialized BlobsSidecar (524380 B) 3.0350 us/op 2.9540 us/op 1.03
copy serialized BlobsSidecar (524380 B) 107.01 us/op 93.173 us/op 1.15
transfer serialized Big SignedBeaconBlock (1000000 B) 3.7630 us/op 3.1890 us/op 1.18
copy serialized Big SignedBeaconBlock (1000000 B) 166.13 us/op 176.40 us/op 0.94
pass gossip attestations to forkchoice per slot 4.2481 ms/op 4.4979 ms/op 0.94
forkChoice updateHead vc 100000 bc 64 eq 0 685.67 us/op 704.70 us/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 0 4.9483 ms/op 4.6436 ms/op 1.07
forkChoice updateHead vc 1000000 bc 64 eq 0 7.2643 ms/op 7.7654 ms/op 0.94
forkChoice updateHead vc 600000 bc 320 eq 0 4.3401 ms/op 4.3826 ms/op 0.99
forkChoice updateHead vc 600000 bc 1200 eq 0 4.4606 ms/op 4.4971 ms/op 0.99
forkChoice updateHead vc 600000 bc 7200 eq 0 5.5377 ms/op 5.7320 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 1000 11.384 ms/op 11.962 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 10000 12.023 ms/op 12.802 ms/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 300000 15.567 ms/op 19.358 ms/op 0.80
computeDeltas 500000 validators 300 proto nodes 6.5911 ms/op 6.8976 ms/op 0.96
computeDeltas 500000 validators 1200 proto nodes 6.9030 ms/op 6.7824 ms/op 1.02
computeDeltas 500000 validators 7200 proto nodes 6.5154 ms/op 8.4558 ms/op 0.77
computeDeltas 750000 validators 300 proto nodes 9.7834 ms/op 14.954 ms/op 0.65
computeDeltas 750000 validators 1200 proto nodes 9.7660 ms/op 13.080 ms/op 0.75
computeDeltas 750000 validators 7200 proto nodes 9.7418 ms/op 13.792 ms/op 0.71
computeDeltas 1400000 validators 300 proto nodes 19.432 ms/op 33.114 ms/op 0.59
computeDeltas 1400000 validators 1200 proto nodes 18.916 ms/op 28.376 ms/op 0.67
computeDeltas 1400000 validators 7200 proto nodes 20.995 ms/op 31.044 ms/op 0.68
computeDeltas 2100000 validators 300 proto nodes 29.896 ms/op 45.821 ms/op 0.65
computeDeltas 2100000 validators 1200 proto nodes 32.039 ms/op 48.897 ms/op 0.66
computeDeltas 2100000 validators 7200 proto nodes 29.928 ms/op 61.744 ms/op 0.48
altair processAttestation - 250000 vs - 7PWei normalcase 3.7452 ms/op 2.3636 ms/op 1.58
altair processAttestation - 250000 vs - 7PWei worstcase 4.9255 ms/op 3.9443 ms/op 1.25
altair processAttestation - setStatus - 1/6 committees join 209.81 us/op 168.12 us/op 1.25
altair processAttestation - setStatus - 1/3 committees join 394.12 us/op 335.30 us/op 1.18
altair processAttestation - setStatus - 1/2 committees join 551.35 us/op 460.21 us/op 1.20
altair processAttestation - setStatus - 2/3 committees join 652.44 us/op 548.40 us/op 1.19
altair processAttestation - setStatus - 4/5 committees join 972.62 us/op 809.63 us/op 1.20
altair processAttestation - setStatus - 100% committees join 1.0624 ms/op 966.20 us/op 1.10
altair processBlock - 250000 vs - 7PWei normalcase 9.4191 ms/op 9.1323 ms/op 1.03
altair processBlock - 250000 vs - 7PWei normalcase hashState 43.521 ms/op 41.058 ms/op 1.06
altair processBlock - 250000 vs - 7PWei worstcase 43.708 ms/op 47.563 ms/op 0.92
altair processBlock - 250000 vs - 7PWei worstcase hashState 103.08 ms/op 104.45 ms/op 0.99
phase0 processBlock - 250000 vs - 7PWei normalcase 3.0597 ms/op 3.1576 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei worstcase 33.896 ms/op 32.856 ms/op 1.03
altair processEth1Data - 250000 vs - 7PWei normalcase 527.11 us/op 798.30 us/op 0.66
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 13.639 us/op 10.760 us/op 1.27
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 81.928 us/op 80.558 us/op 1.02
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 24.886 us/op 24.029 us/op 1.04
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 14.370 us/op 14.080 us/op 1.02
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 210.83 us/op 237.51 us/op 0.89
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.6345 ms/op 1.7627 ms/op 0.93
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.2916 ms/op 2.4431 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.2014 ms/op 2.1603 ms/op 1.02
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.7765 ms/op 4.6775 ms/op 0.81
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.1167 ms/op 3.3157 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.3141 ms/op 6.7658 ms/op 0.93
Tree 40 250000 create 490.84 ms/op 424.49 ms/op 1.16
Tree 40 250000 get(125000) 222.73 ns/op 220.38 ns/op 1.01
Tree 40 250000 set(125000) 1.4741 us/op 1.1973 us/op 1.23
Tree 40 250000 toArray() 24.970 ms/op 24.938 ms/op 1.00
Tree 40 250000 iterate all - toArray() + loop 25.541 ms/op 24.470 ms/op 1.04
Tree 40 250000 iterate all - get(i) 79.911 ms/op 78.809 ms/op 1.01
MutableVector 250000 create 19.744 ms/op 17.923 ms/op 1.10
MutableVector 250000 get(125000) 7.0440 ns/op 7.5200 ns/op 0.94
MutableVector 250000 set(125000) 468.55 ns/op 311.18 ns/op 1.51
MutableVector 250000 toArray() 4.2471 ms/op 4.4690 ms/op 0.95
MutableVector 250000 iterate all - toArray() + loop 4.3887 ms/op 4.5179 ms/op 0.97
MutableVector 250000 iterate all - get(i) 1.6412 ms/op 1.6297 ms/op 1.01
Array 250000 create 3.8165 ms/op 3.9900 ms/op 0.96
Array 250000 clone - spread 1.5246 ms/op 1.3220 ms/op 1.15
Array 250000 get(125000) 1.8100 ns/op 1.2310 ns/op 1.47
Array 250000 set(125000) 5.8330 ns/op 4.7970 ns/op 1.22
Array 250000 iterate all - loop 190.58 us/op 174.88 us/op 1.09
effectiveBalanceIncrements clone Uint8Array 300000 56.518 us/op 45.831 us/op 1.23
effectiveBalanceIncrements clone MutableVector 300000 481.00 ns/op 394.00 ns/op 1.22
effectiveBalanceIncrements rw all Uint8Array 300000 216.49 us/op 214.66 us/op 1.01
effectiveBalanceIncrements rw all MutableVector 300000 142.69 ms/op 92.131 ms/op 1.55
phase0 afterProcessEpoch - 250000 vs - 7PWei 120.87 ms/op 119.48 ms/op 1.01
phase0 beforeProcessEpoch - 250000 vs - 7PWei 59.833 ms/op 61.066 ms/op 0.98
altair processEpoch - mainnet_e81889 567.58 ms/op 518.04 ms/op 1.10
mainnet_e81889 - altair beforeProcessEpoch 90.011 ms/op 88.016 ms/op 1.02
mainnet_e81889 - altair processJustificationAndFinalization 17.660 us/op 14.902 us/op 1.19
mainnet_e81889 - altair processInactivityUpdates 6.7452 ms/op 6.0035 ms/op 1.12
mainnet_e81889 - altair processRewardsAndPenalties 59.273 ms/op 84.130 ms/op 0.70
mainnet_e81889 - altair processRegistryUpdates 2.1540 us/op 2.1180 us/op 1.02
mainnet_e81889 - altair processSlashings 645.00 ns/op 502.00 ns/op 1.28
mainnet_e81889 - altair processEth1DataReset 1.1560 us/op 461.00 ns/op 2.51
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4154 ms/op 1.6430 ms/op 0.86
mainnet_e81889 - altair processSlashingsReset 4.6050 us/op 3.3370 us/op 1.38
mainnet_e81889 - altair processRandaoMixesReset 9.6270 us/op 4.0030 us/op 2.40
mainnet_e81889 - altair processHistoricalRootsUpdate 920.00 ns/op 644.00 ns/op 1.43
mainnet_e81889 - altair processParticipationFlagUpdates 2.0310 us/op 1.7790 us/op 1.14
mainnet_e81889 - altair processSyncCommitteeUpdates 1.4170 us/op 931.00 ns/op 1.52
mainnet_e81889 - altair afterProcessEpoch 129.29 ms/op 120.18 ms/op 1.08
capella processEpoch - mainnet_e217614 2.1413 s/op 1.9862 s/op 1.08
mainnet_e217614 - capella beforeProcessEpoch 499.48 ms/op 500.21 ms/op 1.00
mainnet_e217614 - capella processJustificationAndFinalization 14.291 us/op 23.558 us/op 0.61
mainnet_e217614 - capella processInactivityUpdates 21.798 ms/op 18.775 ms/op 1.16
mainnet_e217614 - capella processRewardsAndPenalties 528.77 ms/op 602.58 ms/op 0.88
mainnet_e217614 - capella processRegistryUpdates 22.049 us/op 22.730 us/op 0.97
mainnet_e217614 - capella processSlashings 613.00 ns/op 776.00 ns/op 0.79
mainnet_e217614 - capella processEth1DataReset 412.00 ns/op 538.00 ns/op 0.77
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.5844 ms/op 12.307 ms/op 0.37
mainnet_e217614 - capella processSlashingsReset 3.5320 us/op 4.2400 us/op 0.83
mainnet_e217614 - capella processRandaoMixesReset 5.6370 us/op 7.2900 us/op 0.77
mainnet_e217614 - capella processHistoricalRootsUpdate 517.00 ns/op 673.00 ns/op 0.77
mainnet_e217614 - capella processParticipationFlagUpdates 1.7260 us/op 3.8070 us/op 0.45
mainnet_e217614 - capella afterProcessEpoch 315.55 ms/op 359.79 ms/op 0.88
phase0 processEpoch - mainnet_e58758 500.25 ms/op 499.75 ms/op 1.00
mainnet_e58758 - phase0 beforeProcessEpoch 133.80 ms/op 152.88 ms/op 0.88
mainnet_e58758 - phase0 processJustificationAndFinalization 17.803 us/op 23.616 us/op 0.75
mainnet_e58758 - phase0 processRewardsAndPenalties 66.660 ms/op 78.838 ms/op 0.85
mainnet_e58758 - phase0 processRegistryUpdates 10.586 us/op 20.108 us/op 0.53
mainnet_e58758 - phase0 processSlashings 702.00 ns/op 1.2590 us/op 0.56
mainnet_e58758 - phase0 processEth1DataReset 564.00 ns/op 1.1560 us/op 0.49
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2076 ms/op 2.4448 ms/op 0.49
mainnet_e58758 - phase0 processSlashingsReset 2.9360 us/op 10.121 us/op 0.29
mainnet_e58758 - phase0 processRandaoMixesReset 5.1180 us/op 13.339 us/op 0.38
mainnet_e58758 - phase0 processHistoricalRootsUpdate 538.00 ns/op 1.9750 us/op 0.27
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.0780 us/op 13.248 us/op 0.31
mainnet_e58758 - phase0 afterProcessEpoch 104.68 ms/op 127.41 ms/op 0.82
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3843 ms/op 2.7191 ms/op 0.51
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4856 ms/op 2.3888 ms/op 0.62
altair processInactivityUpdates - 250000 normalcase 25.651 ms/op 34.924 ms/op 0.73
altair processInactivityUpdates - 250000 worstcase 27.279 ms/op 44.425 ms/op 0.61
phase0 processRegistryUpdates - 250000 normalcase 10.360 us/op 25.493 us/op 0.41
phase0 processRegistryUpdates - 250000 badcase_full_deposits 439.90 us/op 710.98 us/op 0.62
phase0 processRegistryUpdates - 250000 worstcase 0.5 134.87 ms/op 214.23 ms/op 0.63
altair processRewardsAndPenalties - 250000 normalcase 50.050 ms/op 102.95 ms/op 0.49
altair processRewardsAndPenalties - 250000 worstcase 61.717 ms/op 102.46 ms/op 0.60
phase0 getAttestationDeltas - 250000 normalcase 10.562 ms/op 16.966 ms/op 0.62
phase0 getAttestationDeltas - 250000 worstcase 11.543 ms/op 16.898 ms/op 0.68
phase0 processSlashings - 250000 worstcase 102.22 us/op 139.16 us/op 0.73
altair processSyncCommitteeUpdates - 250000 161.30 ms/op 200.38 ms/op 0.80
BeaconState.hashTreeRoot - No change 423.00 ns/op 1.0050 us/op 0.42
BeaconState.hashTreeRoot - 1 full validator 117.56 us/op 181.15 us/op 0.65
BeaconState.hashTreeRoot - 32 full validator 1.3225 ms/op 2.0908 ms/op 0.63
BeaconState.hashTreeRoot - 512 full validator 14.063 ms/op 23.982 ms/op 0.59
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 155.59 us/op 238.31 us/op 0.65
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8793 ms/op 3.2326 ms/op 0.58
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.653 ms/op 60.633 ms/op 0.41
BeaconState.hashTreeRoot - 1 balances 112.54 us/op 198.80 us/op 0.57
BeaconState.hashTreeRoot - 32 balances 1.0425 ms/op 2.3387 ms/op 0.45
BeaconState.hashTreeRoot - 512 balances 10.362 ms/op 21.054 ms/op 0.49
BeaconState.hashTreeRoot - 250000 balances 183.73 ms/op 349.67 ms/op 0.53
aggregationBits - 2048 els - zipIndexesInBitList 28.757 us/op 57.031 us/op 0.50
byteArrayEquals 32 76.831 ns/op 135.74 ns/op 0.57
Buffer.compare 32 60.276 ns/op 68.253 ns/op 0.88
byteArrayEquals 1024 2.1005 us/op 2.4152 us/op 0.87
Buffer.compare 1024 73.886 ns/op 96.112 ns/op 0.77
byteArrayEquals 16384 33.463 us/op 47.104 us/op 0.71
Buffer.compare 16384 261.87 ns/op 348.55 ns/op 0.75
byteArrayEquals 123687377 261.01 ms/op 357.92 ms/op 0.73
Buffer.compare 123687377 10.506 ms/op 12.081 ms/op 0.87
byteArrayEquals 32 - diff last byte 81.682 ns/op 102.16 ns/op 0.80
Buffer.compare 32 - diff last byte 60.600 ns/op 72.475 ns/op 0.84
byteArrayEquals 1024 - diff last byte 2.1255 us/op 2.9192 us/op 0.73
Buffer.compare 1024 - diff last byte 79.944 ns/op 93.141 ns/op 0.86
byteArrayEquals 16384 - diff last byte 36.760 us/op 38.397 us/op 0.96
Buffer.compare 16384 - diff last byte 294.56 ns/op 313.74 ns/op 0.94
byteArrayEquals 123687377 - diff last byte 279.18 ms/op 329.56 ms/op 0.85
Buffer.compare 123687377 - diff last byte 12.922 ms/op 10.385 ms/op 1.24
byteArrayEquals 32 - random bytes 8.7220 ns/op 6.9490 ns/op 1.26
Buffer.compare 32 - random bytes 81.876 ns/op 72.076 ns/op 1.14
byteArrayEquals 1024 - random bytes 8.4570 ns/op 6.8260 ns/op 1.24
Buffer.compare 1024 - random bytes 74.711 ns/op 77.305 ns/op 0.97
byteArrayEquals 16384 - random bytes 7.6860 ns/op 7.0240 ns/op 1.09
Buffer.compare 16384 - random bytes 77.411 ns/op 77.284 ns/op 1.00
byteArrayEquals 123687377 - random bytes 21.860 ns/op 9.9600 ns/op 2.19
Buffer.compare 123687377 - random bytes 91.860 ns/op 87.090 ns/op 1.05
regular array get 100000 times 56.476 us/op 57.316 us/op 0.99
wrappedArray get 100000 times 56.144 us/op 52.143 us/op 1.08
arrayWithProxy get 100000 times 19.388 ms/op 18.397 ms/op 1.05
ssz.Root.equals 63.423 ns/op 62.812 ns/op 1.01
byteArrayEquals 66.365 ns/op 62.022 ns/op 1.07
Buffer.compare 16.459 ns/op 15.549 ns/op 1.06
shuffle list - 16384 els 9.3061 ms/op 10.024 ms/op 0.93
shuffle list - 250000 els 143.90 ms/op 148.29 ms/op 0.97
processSlot - 1 slots 20.384 us/op 22.274 us/op 0.92
processSlot - 32 slots 3.7647 ms/op 4.6643 ms/op 0.81
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 75.866 ms/op 67.854 ms/op 1.12
getCommitteeAssignments - req 1 vs - 250000 vc 2.8752 ms/op 2.8003 ms/op 1.03
getCommitteeAssignments - req 100 vs - 250000 vc 4.2947 ms/op 4.0148 ms/op 1.07
getCommitteeAssignments - req 1000 vs - 250000 vc 4.6031 ms/op 4.3366 ms/op 1.06
findModifiedValidators - 10000 modified validators 568.11 ms/op 358.02 ms/op 1.59
findModifiedValidators - 1000 modified validators 355.94 ms/op 200.97 ms/op 1.77
findModifiedValidators - 100 modified validators 294.75 ms/op 187.01 ms/op 1.58
findModifiedValidators - 10 modified validators 292.55 ms/op 203.35 ms/op 1.44
findModifiedValidators - 1 modified validators 269.22 ms/op 188.30 ms/op 1.43
findModifiedValidators - no difference 282.84 ms/op 199.70 ms/op 1.42
compare ViewDUs 5.3442 s/op 4.8190 s/op 1.11
compare each validator Uint8Array 1.6217 s/op 1.5482 s/op 1.05
compare ViewDU to Uint8Array 1.4582 s/op 1.2712 s/op 1.15
migrate state 1000000 validators, 24 modified, 0 new 832.64 ms/op 755.60 ms/op 1.10
migrate state 1000000 validators, 1700 modified, 1000 new 1.1420 s/op 1.1848 s/op 0.96
migrate state 1000000 validators, 3400 modified, 2000 new 1.4671 s/op 1.3961 s/op 1.05
migrate state 1500000 validators, 24 modified, 0 new 835.42 ms/op 887.74 ms/op 0.94
migrate state 1500000 validators, 1700 modified, 1000 new 1.1197 s/op 1.1581 s/op 0.97
migrate state 1500000 validators, 3400 modified, 2000 new 1.4254 s/op 1.3861 s/op 1.03
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.5100 ns/op 4.2500 ns/op 1.06
state getBlockRootAtSlot - 250000 vs - 7PWei 597.24 ns/op 730.09 ns/op 0.82
computeProposers - vc 250000 10.460 ms/op 9.2113 ms/op 1.14
computeEpochShuffling - vc 250000 133.61 ms/op 125.33 ms/op 1.07
getNextSyncCommittee - vc 250000 161.35 ms/op 151.94 ms/op 1.06
computeSigningRoot for AttestationData 24.320 us/op 25.415 us/op 0.96
hash AttestationData serialized data then Buffer.toString(base64) 2.3984 us/op 2.3058 us/op 1.04
toHexString serialized data 1.0836 us/op 1.0666 us/op 1.02
Buffer.toString(base64) 232.42 ns/op 223.09 ns/op 1.04

by benchmarkbot/action

@twoeths twoeths merged commit e10a54d into unstable Mar 28, 2024
19 of 20 checks passed
@twoeths twoeths deleted the tuyen/n_historical_states_metrics branch March 28, 2024 11:02
@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.

None yet

3 participants