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 state serialization panel #7111

Merged
merged 1 commit into from
Sep 30, 2024

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Sep 27, 2024

Motivation

The metric name for state serialization was changed in #7109 so need to apply the new name to Grafana Dashboard

Description

  • Fix state serialization metric on n-historical state row. As of Sep 2024 it takes ~300ms to ~330ms to serialize states for both mainnet and holesky
Screenshot 2024-09-27 at 09 33 36
  • there are 2 missing panels for same metric when archiving states, also the buffer pool which I don't see they fit the current Dashboard. We can discuss/address them in Organize and Update Metrics #7098

@twoeths twoeths requested a review from a team as a code owner September 27, 2024 02:37
Copy link

codecov bot commented Sep 27, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 48.94%. Comparing base (77006ea) to head (5276044).
Report is 3 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7111   +/-   ##
=========================================
  Coverage     48.94%   48.94%           
=========================================
  Files           597      597           
  Lines         39803    39803           
  Branches       2065     2061    -4     
=========================================
+ Hits          19481    19482    +1     
  Misses        20280    20280           
+ Partials         42       41    -1     

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 3b80a25 Previous: 77006ea Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.1392 ms/op 1.7664 ms/op 1.21
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 58.005 us/op 45.587 us/op 1.27
BLS verify - blst 1.1163 ms/op 810.21 us/op 1.38
BLS verifyMultipleSignatures 3 - blst 1.5542 ms/op 1.1414 ms/op 1.36
BLS verifyMultipleSignatures 8 - blst 2.0840 ms/op 1.5921 ms/op 1.31
BLS verifyMultipleSignatures 32 - blst 5.8364 ms/op 4.6995 ms/op 1.24
BLS verifyMultipleSignatures 64 - blst 11.011 ms/op 8.6887 ms/op 1.27
BLS verifyMultipleSignatures 128 - blst 17.615 ms/op 16.573 ms/op 1.06
BLS deserializing 10000 signatures 692.07 ms/op 659.00 ms/op 1.05
BLS deserializing 100000 signatures 7.0241 s/op 6.6820 s/op 1.05
BLS verifyMultipleSignatures - same message - 3 - blst 1.1031 ms/op 843.05 us/op 1.31
BLS verifyMultipleSignatures - same message - 8 - blst 1.1609 ms/op 1.0002 ms/op 1.16
BLS verifyMultipleSignatures - same message - 32 - blst 1.9925 ms/op 1.5985 ms/op 1.25
BLS verifyMultipleSignatures - same message - 64 - blst 2.9259 ms/op 2.4852 ms/op 1.18
BLS verifyMultipleSignatures - same message - 128 - blst 5.1965 ms/op 4.1647 ms/op 1.25
BLS aggregatePubkeys 32 - blst 21.262 us/op 19.153 us/op 1.11
BLS aggregatePubkeys 128 - blst 74.480 us/op 67.709 us/op 1.10
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 73.921 ms/op 64.459 ms/op 1.15
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 58.647 ms/op 51.258 ms/op 1.14
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 39.754 ms/op 32.418 ms/op 1.23
getSlashingsAndExits - default max 98.451 us/op 97.985 us/op 1.00
getSlashingsAndExits - 2k 320.15 us/op 269.70 us/op 1.19
proposeBlockBody type=full, size=empty 6.1190 ms/op 5.8009 ms/op 1.05
isKnown best case - 1 super set check 379.00 ns/op 293.00 ns/op 1.29
isKnown normal case - 2 super set checks 415.00 ns/op 287.00 ns/op 1.45
isKnown worse case - 16 super set checks 492.00 ns/op 272.00 ns/op 1.81
InMemoryCheckpointStateCache - add get delete 3.6890 us/op 2.6410 us/op 1.40
updateUnfinalizedPubkeys - updating 10 pubkeys 1.6344 ms/op 1.3052 ms/op 1.25
updateUnfinalizedPubkeys - updating 100 pubkeys 4.5151 ms/op 3.2881 ms/op 1.37
updateUnfinalizedPubkeys - updating 1000 pubkeys 55.242 ms/op 49.833 ms/op 1.11
validate api signedAggregateAndProof - struct 1.5281 ms/op 1.3578 ms/op 1.13
validate gossip signedAggregateAndProof - struct 1.5899 ms/op 1.4375 ms/op 1.11
validate gossip attestation - vc 640000 1.1359 ms/op 910.94 us/op 1.25
batch validate gossip attestation - vc 640000 - chunk 32 147.37 us/op 131.25 us/op 1.12
batch validate gossip attestation - vc 640000 - chunk 64 131.55 us/op 114.65 us/op 1.15
batch validate gossip attestation - vc 640000 - chunk 128 125.36 us/op 107.44 us/op 1.17
batch validate gossip attestation - vc 640000 - chunk 256 119.56 us/op 108.89 us/op 1.10
pickEth1Vote - no votes 1.1855 ms/op 1.1913 ms/op 1.00
pickEth1Vote - max votes 7.6614 ms/op 7.0098 ms/op 1.09
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.733 ms/op 14.775 ms/op 1.06
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 23.801 ms/op 22.502 ms/op 1.06
pickEth1Vote - Eth1Data fastSerialize value x2048 548.93 us/op 517.46 us/op 1.06
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.9864 ms/op 2.7279 ms/op 1.09
bytes32 toHexString 473.00 ns/op 514.00 ns/op 0.92
bytes32 Buffer.toString(hex) 266.00 ns/op 254.00 ns/op 1.05
bytes32 Buffer.toString(hex) from Uint8Array 449.00 ns/op 479.00 ns/op 0.94
bytes32 Buffer.toString(hex) + 0x 267.00 ns/op 265.00 ns/op 1.01
Object access 1 prop 0.15900 ns/op 0.17200 ns/op 0.92
Map access 1 prop 0.13900 ns/op 0.13300 ns/op 1.05
Object get x1000 5.8850 ns/op 6.1990 ns/op 0.95
Map get x1000 6.4530 ns/op 6.6150 ns/op 0.98
Object set x1000 40.020 ns/op 41.023 ns/op 0.98
Map set x1000 24.797 ns/op 26.882 ns/op 0.92
Return object 10000 times 0.30460 ns/op 0.31020 ns/op 0.98
Throw Error 10000 times 3.4471 us/op 3.4461 us/op 1.00
toHex 171.00 ns/op 164.86 ns/op 1.04
Buffer.from 151.70 ns/op 152.59 ns/op 0.99
shared Buffer 96.264 ns/op 91.919 ns/op 1.05
fastMsgIdFn sha256 / 200 bytes 2.4310 us/op 2.2980 us/op 1.06
fastMsgIdFn h32 xxhash / 200 bytes 263.00 ns/op 290.00 ns/op 0.91
fastMsgIdFn h64 xxhash / 200 bytes 264.00 ns/op 277.00 ns/op 0.95
fastMsgIdFn sha256 / 1000 bytes 7.4480 us/op 7.5430 us/op 0.99
fastMsgIdFn h32 xxhash / 1000 bytes 369.00 ns/op 403.00 ns/op 0.92
fastMsgIdFn h64 xxhash / 1000 bytes 344.00 ns/op 349.00 ns/op 0.99
fastMsgIdFn sha256 / 10000 bytes 65.184 us/op 65.529 us/op 0.99
fastMsgIdFn h32 xxhash / 10000 bytes 1.9030 us/op 1.9490 us/op 0.98
fastMsgIdFn h64 xxhash / 10000 bytes 1.2390 us/op 1.2510 us/op 0.99
send data - 1000 256B messages 13.424 ms/op 13.796 ms/op 0.97
send data - 1000 512B messages 18.974 ms/op 18.592 ms/op 1.02
send data - 1000 1024B messages 28.152 ms/op 27.973 ms/op 1.01
send data - 1000 1200B messages 26.403 ms/op 27.934 ms/op 0.95
send data - 1000 2048B messages 35.694 ms/op 34.302 ms/op 1.04
send data - 1000 4096B messages 32.831 ms/op 31.561 ms/op 1.04
send data - 1000 16384B messages 74.187 ms/op 70.160 ms/op 1.06
send data - 1000 65536B messages 212.16 ms/op 205.56 ms/op 1.03
enrSubnets - fastDeserialize 64 bits 1.0680 us/op 1.0800 us/op 0.99
enrSubnets - ssz BitVector 64 bits 363.00 ns/op 350.00 ns/op 1.04
enrSubnets - fastDeserialize 4 bits 159.00 ns/op 146.00 ns/op 1.09
enrSubnets - ssz BitVector 4 bits 356.00 ns/op 340.00 ns/op 1.05
prioritizePeers score -10:0 att 32-0.1 sync 2-0 162.81 us/op 141.38 us/op 1.15
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 146.62 us/op 154.15 us/op 0.95
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 377.74 us/op 240.45 us/op 1.57
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 487.72 us/op 387.81 us/op 1.26
prioritizePeers score 0:0 att 64-1 sync 4-1 830.58 us/op 577.51 us/op 1.44
array of 16000 items push then shift 1.6812 us/op 1.6607 us/op 1.01
LinkedList of 16000 items push then shift 7.8830 ns/op 7.3710 ns/op 1.07
array of 16000 items push then pop 134.95 ns/op 123.85 ns/op 1.09
LinkedList of 16000 items push then pop 7.3460 ns/op 7.1450 ns/op 1.03
array of 24000 items push then shift 2.3920 us/op 2.4235 us/op 0.99
LinkedList of 24000 items push then shift 7.4590 ns/op 7.4670 ns/op 1.00
array of 24000 items push then pop 161.22 ns/op 143.77 ns/op 1.12
LinkedList of 24000 items push then pop 7.2880 ns/op 7.0170 ns/op 1.04
intersect bitArray bitLen 8 6.4180 ns/op 6.4010 ns/op 1.00
intersect array and set length 8 48.536 ns/op 45.942 ns/op 1.06
intersect bitArray bitLen 128 29.433 ns/op 29.694 ns/op 0.99
intersect array and set length 128 670.96 ns/op 676.36 ns/op 0.99
bitArray.getTrueBitIndexes() bitLen 128 2.8640 us/op 1.8780 us/op 1.53
bitArray.getTrueBitIndexes() bitLen 248 3.4280 us/op 3.3080 us/op 1.04
bitArray.getTrueBitIndexes() bitLen 512 7.4720 us/op 6.3740 us/op 1.17
Buffer.concat 32 items 981.00 ns/op 945.00 ns/op 1.04
Uint8Array.set 32 items 1.5130 us/op 1.8090 us/op 0.84
Buffer.copy 2.0370 us/op 1.7350 us/op 1.17
Uint8Array.set - with subarray 2.8380 us/op 2.3360 us/op 1.21
Uint8Array.set - without subarray 1.6080 us/op 1.2180 us/op 1.32
getUint32 - dataview 251.00 ns/op 240.00 ns/op 1.05
getUint32 - manual 170.00 ns/op 165.00 ns/op 1.03
Set add up to 64 items then delete first 2.1510 us/op 2.2364 us/op 0.96
OrderedSet add up to 64 items then delete first 3.3716 us/op 3.3969 us/op 0.99
Set add up to 64 items then delete last 2.6660 us/op 2.5220 us/op 1.06
OrderedSet add up to 64 items then delete last 4.3282 us/op 3.9748 us/op 1.09
Set add up to 64 items then delete middle 2.7686 us/op 2.5512 us/op 1.09
OrderedSet add up to 64 items then delete middle 5.2926 us/op 5.4612 us/op 0.97
Set add up to 128 items then delete first 5.1138 us/op 5.1060 us/op 1.00
OrderedSet add up to 128 items then delete first 7.6992 us/op 7.6783 us/op 1.00
Set add up to 128 items then delete last 5.0511 us/op 5.6974 us/op 0.89
OrderedSet add up to 128 items then delete last 7.9094 us/op 7.8696 us/op 1.01
Set add up to 128 items then delete middle 5.2082 us/op 4.9461 us/op 1.05
OrderedSet add up to 128 items then delete middle 14.015 us/op 13.746 us/op 1.02
Set add up to 256 items then delete first 9.7675 us/op 11.852 us/op 0.82
OrderedSet add up to 256 items then delete first 15.555 us/op 17.290 us/op 0.90
Set add up to 256 items then delete last 10.518 us/op 10.227 us/op 1.03
OrderedSet add up to 256 items then delete last 16.030 us/op 15.365 us/op 1.04
Set add up to 256 items then delete middle 10.003 us/op 9.7523 us/op 1.03
OrderedSet add up to 256 items then delete middle 41.365 us/op 40.420 us/op 1.02
transfer serialized Status (84 B) 1.5340 us/op 1.3440 us/op 1.14
copy serialized Status (84 B) 1.2470 us/op 1.1230 us/op 1.11
transfer serialized SignedVoluntaryExit (112 B) 1.7110 us/op 1.4870 us/op 1.15
copy serialized SignedVoluntaryExit (112 B) 1.3580 us/op 1.1440 us/op 1.19
transfer serialized ProposerSlashing (416 B) 2.8400 us/op 1.5370 us/op 1.85
copy serialized ProposerSlashing (416 B) 2.8650 us/op 1.8110 us/op 1.58
transfer serialized Attestation (485 B) 2.7830 us/op 2.1900 us/op 1.27
copy serialized Attestation (485 B) 2.8550 us/op 1.4310 us/op 2.00
transfer serialized AttesterSlashing (33232 B) 3.0570 us/op 2.5540 us/op 1.20
copy serialized AttesterSlashing (33232 B) 8.1720 us/op 5.5190 us/op 1.48
transfer serialized Small SignedBeaconBlock (128000 B) 3.9190 us/op 3.1090 us/op 1.26
copy serialized Small SignedBeaconBlock (128000 B) 19.688 us/op 15.251 us/op 1.29
transfer serialized Avg SignedBeaconBlock (200000 B) 4.1720 us/op 3.7710 us/op 1.11
copy serialized Avg SignedBeaconBlock (200000 B) 29.855 us/op 22.660 us/op 1.32
transfer serialized BlobsSidecar (524380 B) 4.3010 us/op 2.9160 us/op 1.47
copy serialized BlobsSidecar (524380 B) 94.047 us/op 118.01 us/op 0.80
transfer serialized Big SignedBeaconBlock (1000000 B) 3.7600 us/op 2.8040 us/op 1.34
copy serialized Big SignedBeaconBlock (1000000 B) 324.78 us/op 152.88 us/op 2.12
pass gossip attestations to forkchoice per slot 2.7536 ms/op 2.8033 ms/op 0.98
forkChoice updateHead vc 100000 bc 64 eq 0 492.69 us/op 494.60 us/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 0 3.0787 ms/op 2.9678 ms/op 1.04
forkChoice updateHead vc 1000000 bc 64 eq 0 5.3281 ms/op 5.0850 ms/op 1.05
forkChoice updateHead vc 600000 bc 320 eq 0 3.0642 ms/op 3.5187 ms/op 0.87
forkChoice updateHead vc 600000 bc 1200 eq 0 3.1235 ms/op 3.1164 ms/op 1.00
forkChoice updateHead vc 600000 bc 7200 eq 0 3.6926 ms/op 3.4250 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 1000 10.639 ms/op 10.662 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 10000 10.612 ms/op 10.163 ms/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 300000 15.227 ms/op 14.483 ms/op 1.05
computeDeltas 500000 validators 300 proto nodes 3.5774 ms/op 3.6172 ms/op 0.99
computeDeltas 500000 validators 1200 proto nodes 3.5611 ms/op 3.8560 ms/op 0.92
computeDeltas 500000 validators 7200 proto nodes 3.6715 ms/op 3.8390 ms/op 0.96
computeDeltas 750000 validators 300 proto nodes 5.4280 ms/op 5.5696 ms/op 0.97
computeDeltas 750000 validators 1200 proto nodes 5.3339 ms/op 5.6050 ms/op 0.95
computeDeltas 750000 validators 7200 proto nodes 5.4488 ms/op 5.7264 ms/op 0.95
computeDeltas 1400000 validators 300 proto nodes 10.195 ms/op 10.377 ms/op 0.98
computeDeltas 1400000 validators 1200 proto nodes 10.532 ms/op 10.722 ms/op 0.98
computeDeltas 1400000 validators 7200 proto nodes 9.9856 ms/op 11.281 ms/op 0.89
computeDeltas 2100000 validators 300 proto nodes 15.397 ms/op 16.546 ms/op 0.93
computeDeltas 2100000 validators 1200 proto nodes 15.410 ms/op 16.559 ms/op 0.93
computeDeltas 2100000 validators 7200 proto nodes 15.259 ms/op 16.938 ms/op 0.90
altair processAttestation - 250000 vs - 7PWei normalcase 1.8512 ms/op 2.7458 ms/op 0.67
altair processAttestation - 250000 vs - 7PWei worstcase 2.8324 ms/op 3.9140 ms/op 0.72
altair processAttestation - setStatus - 1/6 committees join 92.455 us/op 124.92 us/op 0.74
altair processAttestation - setStatus - 1/3 committees join 184.56 us/op 231.18 us/op 0.80
altair processAttestation - setStatus - 1/2 committees join 262.23 us/op 352.65 us/op 0.74
altair processAttestation - setStatus - 2/3 committees join 322.76 us/op 381.57 us/op 0.85
altair processAttestation - setStatus - 4/5 committees join 470.15 us/op 561.53 us/op 0.84
altair processAttestation - setStatus - 100% committees join 562.95 us/op 671.35 us/op 0.84
altair processBlock - 250000 vs - 7PWei normalcase 4.9619 ms/op 5.2160 ms/op 0.95
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.573 ms/op 27.699 ms/op 1.07
altair processBlock - 250000 vs - 7PWei worstcase 36.541 ms/op 40.381 ms/op 0.90
altair processBlock - 250000 vs - 7PWei worstcase hashState 81.800 ms/op 89.771 ms/op 0.91
phase0 processBlock - 250000 vs - 7PWei normalcase 2.0250 ms/op 2.3373 ms/op 0.87
phase0 processBlock - 250000 vs - 7PWei worstcase 25.972 ms/op 28.487 ms/op 0.91
altair processEth1Data - 250000 vs - 7PWei normalcase 321.72 us/op 532.98 us/op 0.60
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.5730 us/op 10.344 us/op 0.73
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 48.006 us/op 60.633 us/op 0.79
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 11.394 us/op 16.999 us/op 0.67
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.9000 us/op 10.299 us/op 0.67
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 190.38 us/op 196.34 us/op 0.97
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2422 ms/op 1.1862 ms/op 1.05
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7630 ms/op 1.7502 ms/op 1.01
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7877 ms/op 1.5566 ms/op 1.15
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.7124 ms/op 4.5996 ms/op 0.81
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.8229 ms/op 1.7863 ms/op 1.02
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.7177 ms/op 4.5142 ms/op 0.82
Tree 40 250000 create 253.49 ms/op 343.63 ms/op 0.74
Tree 40 250000 get(125000) 159.09 ns/op 169.05 ns/op 0.94
Tree 40 250000 set(125000) 695.93 ns/op 833.64 ns/op 0.83
Tree 40 250000 toArray() 19.805 ms/op 22.543 ms/op 0.88
Tree 40 250000 iterate all - toArray() + loop 17.989 ms/op 23.616 ms/op 0.76
Tree 40 250000 iterate all - get(i) 54.419 ms/op 63.442 ms/op 0.86
Array 250000 create 2.9738 ms/op 4.2473 ms/op 0.70
Array 250000 clone - spread 1.4333 ms/op 1.6957 ms/op 0.85
Array 250000 get(125000) 0.43400 ns/op 0.47900 ns/op 0.91
Array 250000 set(125000) 0.44300 ns/op 0.49000 ns/op 0.90
Array 250000 iterate all - loop 95.117 us/op 107.83 us/op 0.88
phase0 afterProcessEpoch - 250000 vs - 7PWei 89.835 ms/op 97.657 ms/op 0.92
Array.fill - length 1000000 3.6648 ms/op 4.5134 ms/op 0.81
Array push - length 1000000 15.551 ms/op 19.928 ms/op 0.78
Array.get 0.28350 ns/op 0.29053 ns/op 0.98
Uint8Array.get 0.43988 ns/op 0.47853 ns/op 0.92
phase0 beforeProcessEpoch - 250000 vs - 7PWei 20.195 ms/op 20.247 ms/op 1.00
altair processEpoch - mainnet_e81889 307.88 ms/op 374.56 ms/op 0.82
mainnet_e81889 - altair beforeProcessEpoch 19.010 ms/op 21.759 ms/op 0.87
mainnet_e81889 - altair processJustificationAndFinalization 11.995 us/op 18.687 us/op 0.64
mainnet_e81889 - altair processInactivityUpdates 5.8961 ms/op 7.4995 ms/op 0.79
mainnet_e81889 - altair processRewardsAndPenalties 53.593 ms/op 46.638 ms/op 1.15
mainnet_e81889 - altair processRegistryUpdates 1.8760 us/op 3.6920 us/op 0.51
mainnet_e81889 - altair processSlashings 380.00 ns/op 815.00 ns/op 0.47
mainnet_e81889 - altair processEth1DataReset 322.00 ns/op 1.5480 us/op 0.21
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6151 ms/op 2.2555 ms/op 0.72
mainnet_e81889 - altair processSlashingsReset 4.7960 us/op 10.005 us/op 0.48
mainnet_e81889 - altair processRandaoMixesReset 4.9400 us/op 7.1730 us/op 0.69
mainnet_e81889 - altair processHistoricalRootsUpdate 842.00 ns/op 986.00 ns/op 0.85
mainnet_e81889 - altair processParticipationFlagUpdates 2.5100 us/op 7.1230 us/op 0.35
mainnet_e81889 - altair processSyncCommitteeUpdates 530.00 ns/op 1.2720 us/op 0.42
mainnet_e81889 - altair afterProcessEpoch 93.643 ms/op 108.59 ms/op 0.86
capella processEpoch - mainnet_e217614 1.2929 s/op 1.4754 s/op 0.88
mainnet_e217614 - capella beforeProcessEpoch 73.516 ms/op 88.580 ms/op 0.83
mainnet_e217614 - capella processJustificationAndFinalization 23.317 us/op 26.067 us/op 0.89
mainnet_e217614 - capella processInactivityUpdates 17.013 ms/op 20.857 ms/op 0.82
mainnet_e217614 - capella processRewardsAndPenalties 272.15 ms/op 253.95 ms/op 1.07
mainnet_e217614 - capella processRegistryUpdates 19.151 us/op 12.954 us/op 1.48
mainnet_e217614 - capella processSlashings 506.00 ns/op 299.00 ns/op 1.69
mainnet_e217614 - capella processEth1DataReset 598.00 ns/op 483.00 ns/op 1.24
mainnet_e217614 - capella processEffectiveBalanceUpdates 7.5577 ms/op 14.871 ms/op 0.51
mainnet_e217614 - capella processSlashingsReset 5.8260 us/op 6.2720 us/op 0.93
mainnet_e217614 - capella processRandaoMixesReset 5.9870 us/op 5.2520 us/op 1.14
mainnet_e217614 - capella processHistoricalRootsUpdate 764.00 ns/op 1.2270 us/op 0.62
mainnet_e217614 - capella processParticipationFlagUpdates 3.3310 us/op 2.3840 us/op 1.40
mainnet_e217614 - capella afterProcessEpoch 227.49 ms/op 247.40 ms/op 0.92
phase0 processEpoch - mainnet_e58758 455.06 ms/op 464.52 ms/op 0.98
mainnet_e58758 - phase0 beforeProcessEpoch 104.24 ms/op 110.08 ms/op 0.95
mainnet_e58758 - phase0 processJustificationAndFinalization 22.043 us/op 15.293 us/op 1.44
mainnet_e58758 - phase0 processRewardsAndPenalties 43.524 ms/op 33.584 ms/op 1.30
mainnet_e58758 - phase0 processRegistryUpdates 10.462 us/op 7.8900 us/op 1.33
mainnet_e58758 - phase0 processSlashings 505.00 ns/op 334.00 ns/op 1.51
mainnet_e58758 - phase0 processEth1DataReset 562.00 ns/op 325.00 ns/op 1.73
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.9109 ms/op 1.1632 ms/op 2.50
mainnet_e58758 - phase0 processSlashingsReset 4.1690 us/op 2.9860 us/op 1.40
mainnet_e58758 - phase0 processRandaoMixesReset 6.9290 us/op 4.2250 us/op 1.64
mainnet_e58758 - phase0 processHistoricalRootsUpdate 489.00 ns/op 699.00 ns/op 0.70
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.4810 us/op 3.3110 us/op 1.35
mainnet_e58758 - phase0 afterProcessEpoch 74.618 ms/op 82.009 ms/op 0.91
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.7694 ms/op 1.8536 ms/op 0.95
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.3940 ms/op 2.5359 ms/op 0.94
altair processInactivityUpdates - 250000 normalcase 22.901 ms/op 16.332 ms/op 1.40
altair processInactivityUpdates - 250000 worstcase 25.087 ms/op 17.771 ms/op 1.41
phase0 processRegistryUpdates - 250000 normalcase 9.1390 us/op 6.4080 us/op 1.43
phase0 processRegistryUpdates - 250000 badcase_full_deposits 453.64 us/op 291.27 us/op 1.56
phase0 processRegistryUpdates - 250000 worstcase 0.5 133.08 ms/op 122.79 ms/op 1.08
altair processRewardsAndPenalties - 250000 normalcase 55.225 ms/op 40.824 ms/op 1.35
altair processRewardsAndPenalties - 250000 worstcase 54.766 ms/op 43.251 ms/op 1.27
phase0 getAttestationDeltas - 250000 normalcase 7.4207 ms/op 8.8196 ms/op 0.84
phase0 getAttestationDeltas - 250000 worstcase 7.1252 ms/op 7.7521 ms/op 0.92
phase0 processSlashings - 250000 worstcase 119.27 us/op 96.501 us/op 1.24
altair processSyncCommitteeUpdates - 250000 128.34 ms/op 124.89 ms/op 1.03
BeaconState.hashTreeRoot - No change 230.00 ns/op 253.00 ns/op 0.91
BeaconState.hashTreeRoot - 1 full validator 127.91 us/op 103.54 us/op 1.24
BeaconState.hashTreeRoot - 32 full validator 1.3194 ms/op 935.33 us/op 1.41
BeaconState.hashTreeRoot - 512 full validator 14.510 ms/op 10.655 ms/op 1.36
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 130.93 us/op 117.14 us/op 1.12
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.9304 ms/op 1.5863 ms/op 1.22
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.324 ms/op 19.666 ms/op 1.24
BeaconState.hashTreeRoot - 1 balances 92.061 us/op 103.77 us/op 0.89
BeaconState.hashTreeRoot - 32 balances 763.58 us/op 788.97 us/op 0.97
BeaconState.hashTreeRoot - 512 balances 7.5473 ms/op 7.7002 ms/op 0.98
BeaconState.hashTreeRoot - 250000 balances 174.29 ms/op 140.22 ms/op 1.24
aggregationBits - 2048 els - zipIndexesInBitList 23.116 us/op 25.749 us/op 0.90
byteArrayEquals 32 53.303 ns/op 56.671 ns/op 0.94
Buffer.compare 32 16.951 ns/op 16.769 ns/op 1.01
byteArrayEquals 1024 1.5336 us/op 1.5667 us/op 0.98
Buffer.compare 1024 24.677 ns/op 24.858 ns/op 0.99
byteArrayEquals 16384 24.409 us/op 24.895 us/op 0.98
Buffer.compare 16384 189.22 ns/op 201.45 ns/op 0.94
byteArrayEquals 123687377 188.42 ms/op 189.53 ms/op 0.99
Buffer.compare 123687377 6.4274 ms/op 7.5462 ms/op 0.85
byteArrayEquals 32 - diff last byte 51.681 ns/op 52.023 ns/op 0.99
Buffer.compare 32 - diff last byte 16.895 ns/op 16.787 ns/op 1.01
byteArrayEquals 1024 - diff last byte 1.5616 us/op 1.5746 us/op 0.99
Buffer.compare 1024 - diff last byte 24.782 ns/op 25.252 ns/op 0.98
byteArrayEquals 16384 - diff last byte 24.820 us/op 25.054 us/op 0.99
Buffer.compare 16384 - diff last byte 193.44 ns/op 199.11 ns/op 0.97
byteArrayEquals 123687377 - diff last byte 185.30 ms/op 188.94 ms/op 0.98
Buffer.compare 123687377 - diff last byte 6.0716 ms/op 7.6602 ms/op 0.79
byteArrayEquals 32 - random bytes 4.9160 ns/op 5.1700 ns/op 0.95
Buffer.compare 32 - random bytes 16.452 ns/op 17.043 ns/op 0.97
byteArrayEquals 1024 - random bytes 4.9200 ns/op 5.2340 ns/op 0.94
Buffer.compare 1024 - random bytes 16.403 ns/op 17.171 ns/op 0.96
byteArrayEquals 16384 - random bytes 4.9090 ns/op 5.2030 ns/op 0.94
Buffer.compare 16384 - random bytes 16.585 ns/op 17.691 ns/op 0.94
byteArrayEquals 123687377 - random bytes 6.1300 ns/op 6.7400 ns/op 0.91
Buffer.compare 123687377 - random bytes 17.670 ns/op 19.680 ns/op 0.90
regular array get 100000 times 31.816 us/op 41.077 us/op 0.77
wrappedArray get 100000 times 31.285 us/op 33.447 us/op 0.94
arrayWithProxy get 100000 times 13.606 ms/op 14.144 ms/op 0.96
ssz.Root.equals 44.083 ns/op 46.300 ns/op 0.95
byteArrayEquals 43.442 ns/op 45.831 ns/op 0.95
Buffer.compare 9.9210 ns/op 10.682 ns/op 0.93
shuffle list - 16384 els 6.0701 ms/op 6.2665 ms/op 0.97
shuffle list - 250000 els 88.854 ms/op 93.423 ms/op 0.95
processSlot - 1 slots 13.893 us/op 13.415 us/op 1.04
processSlot - 32 slots 3.6646 ms/op 3.2387 ms/op 1.13
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 38.770 ms/op 35.511 ms/op 1.09
getCommitteeAssignments - req 1 vs - 250000 vc 2.1755 ms/op 2.1018 ms/op 1.04
getCommitteeAssignments - req 100 vs - 250000 vc 4.3384 ms/op 4.0816 ms/op 1.06
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5984 ms/op 4.4360 ms/op 1.04
findModifiedValidators - 10000 modified validators 266.88 ms/op 240.61 ms/op 1.11
findModifiedValidators - 1000 modified validators 181.50 ms/op 154.86 ms/op 1.17
findModifiedValidators - 100 modified validators 147.69 ms/op 141.02 ms/op 1.05
findModifiedValidators - 10 modified validators 167.42 ms/op 138.34 ms/op 1.21
findModifiedValidators - 1 modified validators 142.49 ms/op 157.80 ms/op 0.90
findModifiedValidators - no difference 155.70 ms/op 141.95 ms/op 1.10
compare ViewDUs 3.3164 s/op 3.3910 s/op 0.98
compare each validator Uint8Array 1.5481 s/op 1.3887 s/op 1.11
compare ViewDU to Uint8Array 1.0993 s/op 1.0282 s/op 1.07
migrate state 1000000 validators, 24 modified, 0 new 935.95 ms/op 825.89 ms/op 1.13
migrate state 1000000 validators, 1700 modified, 1000 new 1.2586 s/op 1.0503 s/op 1.20
migrate state 1000000 validators, 3400 modified, 2000 new 1.4045 s/op 1.2945 s/op 1.09
migrate state 1500000 validators, 24 modified, 0 new 937.52 ms/op 867.25 ms/op 1.08
migrate state 1500000 validators, 1700 modified, 1000 new 1.1926 s/op 1.0596 s/op 1.13
migrate state 1500000 validators, 3400 modified, 2000 new 1.4013 s/op 1.2369 s/op 1.13
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2500 ns/op 4.4100 ns/op 0.96
state getBlockRootAtSlot - 250000 vs - 7PWei 797.51 ns/op 741.99 ns/op 1.07
computeProposers - vc 250000 6.5504 ms/op 7.0756 ms/op 0.93
computeEpochShuffling - vc 250000 89.360 ms/op 88.995 ms/op 1.00
getNextSyncCommittee - vc 250000 115.94 ms/op 112.79 ms/op 1.03
computeSigningRoot for AttestationData 27.740 us/op 24.471 us/op 1.13
hash AttestationData serialized data then Buffer.toString(base64) 1.5025 us/op 1.5181 us/op 0.99
toHexString serialized data 856.27 ns/op 852.79 ns/op 1.00
Buffer.toString(base64) 173.72 ns/op 183.89 ns/op 0.94
nodejs block root to RootHex using toHex 137.73 ns/op 140.29 ns/op 0.98
nodejs block root to RootHex using toRootHex 87.467 ns/op 86.734 ns/op 1.01
browser block root to RootHex using the deprecated toHexString 224.60 ns/op 221.43 ns/op 1.01
browser block root to RootHex using toHex 182.61 ns/op 176.97 ns/op 1.03
browser block root to RootHex using toRootHex 160.21 ns/op 157.09 ns/op 1.02

by benchmarkbot/action

@twoeths twoeths merged commit 13d1a37 into unstable Sep 30, 2024
19 of 20 checks passed
@twoeths twoeths deleted the te/fix_state_serialization_metric branch September 30, 2024 01:59
@wemeetagain
Copy link
Member

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