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: metrics for regen getState() #7086

Merged
merged 1 commit into from
Sep 16, 2024
Merged

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Sep 16, 2024

Motivation

Track metrics from #7033

Description

  • track regen getState() metrics to "State cache" dashboard
Screenshot 2024-09-16 at 10 44 03

@twoeths twoeths requested a review from a team as a code owner September 16, 2024 03:44
Copy link

codecov bot commented Sep 16, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 50.90%. Comparing base (295690b) to head (9883ea4).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7086   +/-   ##
=========================================
  Coverage     50.90%   50.90%           
=========================================
  Files           594      594           
  Lines         39611    39611           
  Branches       2254     2258    +4     
=========================================
+ Hits          20164    20165    +1     
+ Misses        19447    19446    -1     

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: b02c5b9 Previous: 295690b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8131 ms/op 1.8475 ms/op 0.98
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 44.512 us/op 38.026 us/op 1.17
BLS verify - blst 745.46 us/op 837.89 us/op 0.89
BLS verifyMultipleSignatures 3 - blst 1.1453 ms/op 1.3111 ms/op 0.87
BLS verifyMultipleSignatures 8 - blst 1.6203 ms/op 2.0827 ms/op 0.78
BLS verifyMultipleSignatures 32 - blst 4.7337 ms/op 4.5416 ms/op 1.04
BLS verifyMultipleSignatures 64 - blst 8.7382 ms/op 8.4173 ms/op 1.04
BLS verifyMultipleSignatures 128 - blst 16.663 ms/op 15.977 ms/op 1.04
BLS deserializing 10000 signatures 648.22 ms/op 600.29 ms/op 1.08
BLS deserializing 100000 signatures 6.4766 s/op 6.1818 s/op 1.05
BLS verifyMultipleSignatures - same message - 3 - blst 867.95 us/op 974.06 us/op 0.89
BLS verifyMultipleSignatures - same message - 8 - blst 986.67 us/op 1.1067 ms/op 0.89
BLS verifyMultipleSignatures - same message - 32 - blst 1.6200 ms/op 1.6896 ms/op 0.96
BLS verifyMultipleSignatures - same message - 64 - blst 2.4766 ms/op 2.5516 ms/op 0.97
BLS verifyMultipleSignatures - same message - 128 - blst 4.1509 ms/op 4.2240 ms/op 0.98
BLS aggregatePubkeys 32 - blst 18.988 us/op 18.876 us/op 1.01
BLS aggregatePubkeys 128 - blst 68.048 us/op 64.947 us/op 1.05
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 62.476 ms/op 52.694 ms/op 1.19
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 48.610 ms/op 38.649 ms/op 1.26
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 30.281 ms/op 29.247 ms/op 1.04
getSlashingsAndExits - default max 87.850 us/op 69.025 us/op 1.27
getSlashingsAndExits - 2k 303.60 us/op 320.56 us/op 0.95
proposeBlockBody type=full, size=empty 5.7066 ms/op 4.9849 ms/op 1.14
isKnown best case - 1 super set check 269.00 ns/op 644.00 ns/op 0.42
isKnown normal case - 2 super set checks 263.00 ns/op 535.00 ns/op 0.49
isKnown worse case - 16 super set checks 263.00 ns/op 521.00 ns/op 0.50
InMemoryCheckpointStateCache - add get delete 2.6740 us/op 3.3830 us/op 0.79
updateUnfinalizedPubkeys - updating 10 pubkeys 823.02 us/op 494.44 us/op 1.66
updateUnfinalizedPubkeys - updating 100 pubkeys 3.2081 ms/op 2.5990 ms/op 1.23
updateUnfinalizedPubkeys - updating 1000 pubkeys 46.448 ms/op 38.415 ms/op 1.21
validate api signedAggregateAndProof - struct 1.3311 ms/op 1.5483 ms/op 0.86
validate gossip signedAggregateAndProof - struct 1.3548 ms/op 1.4751 ms/op 0.92
validate gossip attestation - vc 640000 825.72 us/op 1.0011 ms/op 0.82
batch validate gossip attestation - vc 640000 - chunk 32 119.14 us/op 134.02 us/op 0.89
batch validate gossip attestation - vc 640000 - chunk 64 109.27 us/op 115.10 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 128 101.49 us/op 107.30 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 256 98.357 us/op 105.35 us/op 0.93
pickEth1Vote - no votes 957.10 us/op 912.13 us/op 1.05
pickEth1Vote - max votes 5.7258 ms/op 5.6267 ms/op 1.02
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.608 ms/op 17.244 ms/op 0.85
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.608 ms/op 20.908 ms/op 0.94
pickEth1Vote - Eth1Data fastSerialize value x2048 455.34 us/op 353.72 us/op 1.29
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.5050 ms/op 4.4401 ms/op 0.79
bytes32 toHexString 425.00 ns/op 654.00 ns/op 0.65
bytes32 Buffer.toString(hex) 246.00 ns/op 489.00 ns/op 0.50
bytes32 Buffer.toString(hex) from Uint8Array 379.00 ns/op 654.00 ns/op 0.58
bytes32 Buffer.toString(hex) + 0x 246.00 ns/op 467.00 ns/op 0.53
Object access 1 prop 0.14100 ns/op 0.35100 ns/op 0.40
Map access 1 prop 0.12300 ns/op 0.32400 ns/op 0.38
Object get x1000 5.9340 ns/op 5.2410 ns/op 1.13
Map get x1000 6.3600 ns/op 6.0430 ns/op 1.05
Object set x1000 32.074 ns/op 23.340 ns/op 1.37
Map set x1000 22.005 ns/op 19.633 ns/op 1.12
Return object 10000 times 0.28880 ns/op 0.31000 ns/op 0.93
Throw Error 10000 times 3.3352 us/op 2.7832 us/op 1.20
toHex 138.72 ns/op 114.00 ns/op 1.22
Buffer.from 124.53 ns/op 102.76 ns/op 1.21
shared Buffer 94.642 ns/op 72.187 ns/op 1.31
fastMsgIdFn sha256 / 200 bytes 2.2810 us/op 2.0220 us/op 1.13
fastMsgIdFn h32 xxhash / 200 bytes 227.00 ns/op 466.00 ns/op 0.49
fastMsgIdFn h64 xxhash / 200 bytes 264.00 ns/op 473.00 ns/op 0.56
fastMsgIdFn sha256 / 1000 bytes 7.2260 us/op 6.0460 us/op 1.20
fastMsgIdFn h32 xxhash / 1000 bytes 355.00 ns/op 586.00 ns/op 0.61
fastMsgIdFn h64 xxhash / 1000 bytes 334.00 ns/op 549.00 ns/op 0.61
fastMsgIdFn sha256 / 10000 bytes 63.689 us/op 50.561 us/op 1.26
fastMsgIdFn h32 xxhash / 10000 bytes 1.7940 us/op 2.0060 us/op 0.89
fastMsgIdFn h64 xxhash / 10000 bytes 1.1930 us/op 1.3750 us/op 0.87
send data - 1000 256B messages 11.569 ms/op 10.320 ms/op 1.12
send data - 1000 512B messages 15.363 ms/op 15.210 ms/op 1.01
send data - 1000 1024B messages 25.299 ms/op 23.367 ms/op 1.08
send data - 1000 1200B messages 25.243 ms/op 23.647 ms/op 1.07
send data - 1000 2048B messages 30.931 ms/op 30.071 ms/op 1.03
send data - 1000 4096B messages 29.523 ms/op 28.252 ms/op 1.04
send data - 1000 16384B messages 70.521 ms/op 69.234 ms/op 1.02
send data - 1000 65536B messages 198.60 ms/op 256.14 ms/op 0.78
enrSubnets - fastDeserialize 64 bits 1.0960 us/op 1.1630 us/op 0.94
enrSubnets - ssz BitVector 64 bits 346.00 ns/op 545.00 ns/op 0.63
enrSubnets - fastDeserialize 4 bits 146.00 ns/op 380.00 ns/op 0.38
enrSubnets - ssz BitVector 4 bits 348.00 ns/op 558.00 ns/op 0.62
prioritizePeers score -10:0 att 32-0.1 sync 2-0 142.14 us/op 125.32 us/op 1.13
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 167.93 us/op 149.25 us/op 1.13
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 249.65 us/op 302.09 us/op 0.83
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 390.28 us/op 408.50 us/op 0.96
prioritizePeers score 0:0 att 64-1 sync 4-1 655.78 us/op 635.30 us/op 1.03
array of 16000 items push then shift 1.6630 us/op 1.3072 us/op 1.27
LinkedList of 16000 items push then shift 7.2470 ns/op 8.0050 ns/op 0.91
array of 16000 items push then pop 111.71 ns/op 119.92 ns/op 0.93
LinkedList of 16000 items push then pop 7.1130 ns/op 6.6130 ns/op 1.08
array of 24000 items push then shift 2.4539 us/op 1.9216 us/op 1.28
LinkedList of 24000 items push then shift 7.1840 ns/op 7.4060 ns/op 0.97
array of 24000 items push then pop 137.21 ns/op 161.49 ns/op 0.85
LinkedList of 24000 items push then pop 7.1730 ns/op 6.6100 ns/op 1.09
intersect bitArray bitLen 8 6.3880 ns/op 5.7000 ns/op 1.12
intersect array and set length 8 46.112 ns/op 40.158 ns/op 1.15
intersect bitArray bitLen 128 29.952 ns/op 27.443 ns/op 1.09
intersect array and set length 128 670.69 ns/op 596.46 ns/op 1.12
bitArray.getTrueBitIndexes() bitLen 128 1.9770 us/op 2.4170 us/op 0.82
bitArray.getTrueBitIndexes() bitLen 248 3.3110 us/op 4.7490 us/op 0.70
bitArray.getTrueBitIndexes() bitLen 512 6.3970 us/op 6.7380 us/op 0.95
Buffer.concat 32 items 932.00 ns/op 1.0460 us/op 0.89
Uint8Array.set 32 items 1.6390 us/op 1.3670 us/op 1.20
Buffer.copy 1.6950 us/op 1.4800 us/op 1.15
Uint8Array.set - with subarray 2.3980 us/op 1.9980 us/op 1.20
Uint8Array.set - without subarray 1.2420 us/op 1.3690 us/op 0.91
getUint32 - dataview 235.00 ns/op 430.00 ns/op 0.55
getUint32 - manual 155.00 ns/op 361.00 ns/op 0.43
Set add up to 64 items then delete first 2.2188 us/op 1.8805 us/op 1.18
OrderedSet add up to 64 items then delete first 3.5534 us/op 2.9524 us/op 1.20
Set add up to 64 items then delete last 2.6178 us/op 2.1724 us/op 1.21
OrderedSet add up to 64 items then delete last 4.0184 us/op 3.2520 us/op 1.24
Set add up to 64 items then delete middle 2.5536 us/op 2.1403 us/op 1.19
OrderedSet add up to 64 items then delete middle 5.5117 us/op 4.8414 us/op 1.14
Set add up to 128 items then delete first 5.0992 us/op 4.1909 us/op 1.22
OrderedSet add up to 128 items then delete first 7.6144 us/op 6.5846 us/op 1.16
Set add up to 128 items then delete last 5.1927 us/op 4.0488 us/op 1.28
OrderedSet add up to 128 items then delete last 7.8025 us/op 6.1972 us/op 1.26
Set add up to 128 items then delete middle 5.0402 us/op 4.0569 us/op 1.24
OrderedSet add up to 128 items then delete middle 13.973 us/op 12.270 us/op 1.14
Set add up to 256 items then delete first 10.237 us/op 8.1864 us/op 1.25
OrderedSet add up to 256 items then delete first 15.330 us/op 13.073 us/op 1.17
Set add up to 256 items then delete last 10.107 us/op 7.9690 us/op 1.27
OrderedSet add up to 256 items then delete last 16.169 us/op 12.477 us/op 1.30
Set add up to 256 items then delete middle 10.010 us/op 7.9260 us/op 1.26
OrderedSet add up to 256 items then delete middle 41.042 us/op 35.775 us/op 1.15
transfer serialized Status (84 B) 1.3510 us/op 1.4230 us/op 0.95
copy serialized Status (84 B) 1.1140 us/op 1.2260 us/op 0.91
transfer serialized SignedVoluntaryExit (112 B) 1.4260 us/op 1.5190 us/op 0.94
copy serialized SignedVoluntaryExit (112 B) 1.1510 us/op 1.3120 us/op 0.88
transfer serialized ProposerSlashing (416 B) 1.5750 us/op 1.6200 us/op 0.97
copy serialized ProposerSlashing (416 B) 2.5010 us/op 1.4870 us/op 1.68
transfer serialized Attestation (485 B) 2.5640 us/op 1.6300 us/op 1.57
copy serialized Attestation (485 B) 2.5460 us/op 1.4740 us/op 1.73
transfer serialized AttesterSlashing (33232 B) 1.9630 us/op 1.8170 us/op 1.08
copy serialized AttesterSlashing (33232 B) 5.4160 us/op 3.9240 us/op 1.38
transfer serialized Small SignedBeaconBlock (128000 B) 2.6880 us/op 2.1980 us/op 1.22
copy serialized Small SignedBeaconBlock (128000 B) 16.742 us/op 39.350 us/op 0.43
transfer serialized Avg SignedBeaconBlock (200000 B) 3.1410 us/op 2.3820 us/op 1.32
copy serialized Avg SignedBeaconBlock (200000 B) 59.816 us/op 11.937 us/op 5.01
transfer serialized BlobsSidecar (524380 B) 3.0230 us/op 2.6890 us/op 1.12
copy serialized BlobsSidecar (524380 B) 80.556 us/op 73.437 us/op 1.10
transfer serialized Big SignedBeaconBlock (1000000 B) 2.8230 us/op 2.9950 us/op 0.94
copy serialized Big SignedBeaconBlock (1000000 B) 150.04 us/op 225.10 us/op 0.67
pass gossip attestations to forkchoice per slot 2.8597 ms/op 2.5217 ms/op 1.13
forkChoice updateHead vc 100000 bc 64 eq 0 603.64 us/op 414.61 us/op 1.46
forkChoice updateHead vc 600000 bc 64 eq 0 3.2019 ms/op 2.6361 ms/op 1.21
forkChoice updateHead vc 1000000 bc 64 eq 0 5.5023 ms/op 4.2019 ms/op 1.31
forkChoice updateHead vc 600000 bc 320 eq 0 3.0629 ms/op 2.5151 ms/op 1.22
forkChoice updateHead vc 600000 bc 1200 eq 0 3.0773 ms/op 2.5649 ms/op 1.20
forkChoice updateHead vc 600000 bc 7200 eq 0 4.1388 ms/op 2.8893 ms/op 1.43
forkChoice updateHead vc 600000 bc 64 eq 1000 10.710 ms/op 9.8847 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 10000 10.744 ms/op 9.7294 ms/op 1.10
forkChoice updateHead vc 600000 bc 64 eq 300000 14.604 ms/op 11.966 ms/op 1.22
computeDeltas 500000 validators 300 proto nodes 3.6525 ms/op 3.2220 ms/op 1.13
computeDeltas 500000 validators 1200 proto nodes 3.6815 ms/op 3.0588 ms/op 1.20
computeDeltas 500000 validators 7200 proto nodes 3.6610 ms/op 3.1146 ms/op 1.18
computeDeltas 750000 validators 300 proto nodes 5.1280 ms/op 4.6162 ms/op 1.11
computeDeltas 750000 validators 1200 proto nodes 5.1629 ms/op 4.4381 ms/op 1.16
computeDeltas 750000 validators 7200 proto nodes 5.1422 ms/op 4.5724 ms/op 1.12
computeDeltas 1400000 validators 300 proto nodes 9.6081 ms/op 8.4432 ms/op 1.14
computeDeltas 1400000 validators 1200 proto nodes 9.8182 ms/op 8.4121 ms/op 1.17
computeDeltas 1400000 validators 7200 proto nodes 9.5507 ms/op 8.5575 ms/op 1.12
computeDeltas 2100000 validators 300 proto nodes 14.325 ms/op 12.788 ms/op 1.12
computeDeltas 2100000 validators 1200 proto nodes 14.215 ms/op 12.446 ms/op 1.14
computeDeltas 2100000 validators 7200 proto nodes 14.315 ms/op 12.572 ms/op 1.14
altair processAttestation - 250000 vs - 7PWei normalcase 1.6936 ms/op 1.4214 ms/op 1.19
altair processAttestation - 250000 vs - 7PWei worstcase 2.4376 ms/op 2.1672 ms/op 1.12
altair processAttestation - setStatus - 1/6 committees join 86.304 us/op 62.965 us/op 1.37
altair processAttestation - setStatus - 1/3 committees join 170.16 us/op 125.86 us/op 1.35
altair processAttestation - setStatus - 1/2 committees join 239.93 us/op 188.80 us/op 1.27
altair processAttestation - setStatus - 2/3 committees join 315.04 us/op 275.76 us/op 1.14
altair processAttestation - setStatus - 4/5 committees join 456.77 us/op 388.58 us/op 1.18
altair processAttestation - setStatus - 100% committees join 528.22 us/op 469.77 us/op 1.12
altair processBlock - 250000 vs - 7PWei normalcase 3.4211 ms/op 5.1543 ms/op 0.66
altair processBlock - 250000 vs - 7PWei normalcase hashState 26.107 ms/op 30.706 ms/op 0.85
altair processBlock - 250000 vs - 7PWei worstcase 33.080 ms/op 36.635 ms/op 0.90
altair processBlock - 250000 vs - 7PWei worstcase hashState 69.138 ms/op 82.490 ms/op 0.84
phase0 processBlock - 250000 vs - 7PWei normalcase 1.6567 ms/op 1.7618 ms/op 0.94
phase0 processBlock - 250000 vs - 7PWei worstcase 19.090 ms/op 22.487 ms/op 0.85
altair processEth1Data - 250000 vs - 7PWei normalcase 287.59 us/op 256.67 us/op 1.12
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.8150 us/op 6.5790 us/op 0.73
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 26.760 us/op 32.243 us/op 0.83
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.7570 us/op 8.4760 us/op 0.92
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 4.9840 us/op 6.5630 us/op 0.76
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 109.50 us/op 125.92 us/op 0.87
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1265 ms/op 832.36 us/op 1.35
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4763 ms/op 1.2014 ms/op 1.23
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4822 ms/op 1.1274 ms/op 1.31
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.8154 ms/op 2.8592 ms/op 1.33
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.5751 ms/op 1.2230 ms/op 1.29
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.6747 ms/op 2.8056 ms/op 1.31
Tree 40 250000 create 217.15 ms/op 193.59 ms/op 1.12
Tree 40 250000 get(125000) 141.41 ns/op 103.19 ns/op 1.37
Tree 40 250000 set(125000) 642.90 ns/op 517.07 ns/op 1.24
Tree 40 250000 toArray() 15.209 ms/op 12.577 ms/op 1.21
Tree 40 250000 iterate all - toArray() + loop 15.400 ms/op 12.568 ms/op 1.23
Tree 40 250000 iterate all - get(i) 51.246 ms/op 41.202 ms/op 1.24
Array 250000 create 2.9469 ms/op 2.3799 ms/op 1.24
Array 250000 clone - spread 1.4870 ms/op 1.1727 ms/op 1.27
Array 250000 get(125000) 0.40800 ns/op 0.58200 ns/op 0.70
Array 250000 set(125000) 0.42100 ns/op 0.58300 ns/op 0.72
Array 250000 iterate all - loop 97.415 us/op 74.083 us/op 1.31
phase0 afterProcessEpoch - 250000 vs - 7PWei 86.936 ms/op 71.594 ms/op 1.21
Array.fill - length 1000000 3.6410 ms/op 2.4304 ms/op 1.50
Array push - length 1000000 16.315 ms/op 15.029 ms/op 1.09
Array.get 0.26768 ns/op 0.25572 ns/op 1.05
Uint8Array.get 0.43058 ns/op 0.33030 ns/op 1.30
phase0 beforeProcessEpoch - 250000 vs - 7PWei 14.945 ms/op 15.621 ms/op 0.96
altair processEpoch - mainnet_e81889 315.26 ms/op 316.12 ms/op 1.00
mainnet_e81889 - altair beforeProcessEpoch 17.406 ms/op 18.358 ms/op 0.95
mainnet_e81889 - altair processJustificationAndFinalization 12.511 us/op 6.5770 us/op 1.90
mainnet_e81889 - altair processInactivityUpdates 5.0629 ms/op 4.2785 ms/op 1.18
mainnet_e81889 - altair processRewardsAndPenalties 46.777 ms/op 51.679 ms/op 0.91
mainnet_e81889 - altair processRegistryUpdates 1.8290 us/op 1.0450 us/op 1.75
mainnet_e81889 - altair processSlashings 410.00 ns/op 741.00 ns/op 0.55
mainnet_e81889 - altair processEth1DataReset 318.00 ns/op 733.00 ns/op 0.43
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9420 ms/op 1.4010 ms/op 1.39
mainnet_e81889 - altair processSlashingsReset 2.8230 us/op 1.3440 us/op 2.10
mainnet_e81889 - altair processRandaoMixesReset 4.2540 us/op 1.5560 us/op 2.73
mainnet_e81889 - altair processHistoricalRootsUpdate 576.00 ns/op 396.00 ns/op 1.45
mainnet_e81889 - altair processParticipationFlagUpdates 1.8590 us/op 1.3860 us/op 1.34
mainnet_e81889 - altair processSyncCommitteeUpdates 447.00 ns/op 608.00 ns/op 0.74
mainnet_e81889 - altair afterProcessEpoch 88.736 ms/op 75.189 ms/op 1.18
capella processEpoch - mainnet_e217614 1.2928 s/op 873.75 ms/op 1.48
mainnet_e217614 - capella beforeProcessEpoch 72.275 ms/op 59.539 ms/op 1.21
mainnet_e217614 - capella processJustificationAndFinalization 16.972 us/op 9.5980 us/op 1.77
mainnet_e217614 - capella processInactivityUpdates 19.788 ms/op 13.083 ms/op 1.51
mainnet_e217614 - capella processRewardsAndPenalties 251.51 ms/op 222.41 ms/op 1.13
mainnet_e217614 - capella processRegistryUpdates 19.565 us/op 11.016 us/op 1.78
mainnet_e217614 - capella processSlashings 607.00 ns/op 759.00 ns/op 0.80
mainnet_e217614 - capella processEth1DataReset 403.00 ns/op 745.00 ns/op 0.54
mainnet_e217614 - capella processEffectiveBalanceUpdates 17.429 ms/op 11.089 ms/op 1.57
mainnet_e217614 - capella processSlashingsReset 4.3080 us/op 2.4430 us/op 1.76
mainnet_e217614 - capella processRandaoMixesReset 4.5630 us/op 3.2440 us/op 1.41
mainnet_e217614 - capella processHistoricalRootsUpdate 544.00 ns/op 746.00 ns/op 0.73
mainnet_e217614 - capella processParticipationFlagUpdates 1.9270 us/op 1.6360 us/op 1.18
mainnet_e217614 - capella afterProcessEpoch 230.90 ms/op 200.19 ms/op 1.15
phase0 processEpoch - mainnet_e58758 316.14 ms/op 357.74 ms/op 0.88
mainnet_e58758 - phase0 beforeProcessEpoch 60.769 ms/op 68.091 ms/op 0.89
mainnet_e58758 - phase0 processJustificationAndFinalization 14.733 us/op 7.3200 us/op 2.01
mainnet_e58758 - phase0 processRewardsAndPenalties 33.572 ms/op 23.262 ms/op 1.44
mainnet_e58758 - phase0 processRegistryUpdates 8.1900 us/op 4.0420 us/op 2.03
mainnet_e58758 - phase0 processSlashings 374.00 ns/op 665.00 ns/op 0.56
mainnet_e58758 - phase0 processEth1DataReset 315.00 ns/op 709.00 ns/op 0.44
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2321 ms/op 1.3934 ms/op 0.88
mainnet_e58758 - phase0 processSlashingsReset 2.2820 us/op 2.3230 us/op 0.98
mainnet_e58758 - phase0 processRandaoMixesReset 3.9010 us/op 2.9870 us/op 1.31
mainnet_e58758 - phase0 processHistoricalRootsUpdate 417.00 ns/op 734.00 ns/op 0.57
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.0370 us/op 2.6520 us/op 1.15
mainnet_e58758 - phase0 afterProcessEpoch 76.228 ms/op 65.300 ms/op 1.17
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4937 ms/op 1.0495 ms/op 1.42
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.3844 ms/op 1.7971 ms/op 1.33
altair processInactivityUpdates - 250000 normalcase 15.455 ms/op 16.599 ms/op 0.93
altair processInactivityUpdates - 250000 worstcase 16.063 ms/op 15.370 ms/op 1.05
phase0 processRegistryUpdates - 250000 normalcase 8.4010 us/op 3.3140 us/op 2.54
phase0 processRegistryUpdates - 250000 badcase_full_deposits 279.48 us/op 326.70 us/op 0.86
phase0 processRegistryUpdates - 250000 worstcase 0.5 120.88 ms/op 96.899 ms/op 1.25
altair processRewardsAndPenalties - 250000 normalcase 42.333 ms/op 31.095 ms/op 1.36
altair processRewardsAndPenalties - 250000 worstcase 40.567 ms/op 36.858 ms/op 1.10
phase0 getAttestationDeltas - 250000 normalcase 8.1598 ms/op 5.7149 ms/op 1.43
phase0 getAttestationDeltas - 250000 worstcase 9.1911 ms/op 6.5618 ms/op 1.40
phase0 processSlashings - 250000 worstcase 104.39 us/op 83.792 us/op 1.25
altair processSyncCommitteeUpdates - 250000 126.65 ms/op 93.237 ms/op 1.36
BeaconState.hashTreeRoot - No change 319.00 ns/op 465.00 ns/op 0.69
BeaconState.hashTreeRoot - 1 full validator 104.36 us/op 82.362 us/op 1.27
BeaconState.hashTreeRoot - 32 full validator 922.73 us/op 1.0231 ms/op 0.90
BeaconState.hashTreeRoot - 512 full validator 11.662 ms/op 11.339 ms/op 1.03
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 132.23 us/op 139.02 us/op 0.95
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8622 ms/op 1.8393 ms/op 1.01
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 29.326 ms/op 23.651 ms/op 1.24
BeaconState.hashTreeRoot - 1 balances 114.89 us/op 98.314 us/op 1.17
BeaconState.hashTreeRoot - 32 balances 1.1661 ms/op 1.0693 ms/op 1.09
BeaconState.hashTreeRoot - 512 balances 8.7866 ms/op 9.6299 ms/op 0.91
BeaconState.hashTreeRoot - 250000 balances 160.03 ms/op 171.27 ms/op 0.93
aggregationBits - 2048 els - zipIndexesInBitList 23.617 us/op 21.291 us/op 1.11
byteArrayEquals 32 53.834 ns/op 46.480 ns/op 1.16
Buffer.compare 32 17.496 ns/op 14.739 ns/op 1.19
byteArrayEquals 1024 1.5918 us/op 1.2195 us/op 1.31
Buffer.compare 1024 26.001 ns/op 21.733 ns/op 1.20
byteArrayEquals 16384 25.321 us/op 19.352 us/op 1.31
Buffer.compare 16384 203.91 ns/op 165.31 ns/op 1.23
byteArrayEquals 123687377 193.02 ms/op 146.87 ms/op 1.31
Buffer.compare 123687377 9.9717 ms/op 5.4200 ms/op 1.84
byteArrayEquals 32 - diff last byte 54.275 ns/op 48.196 ns/op 1.13
Buffer.compare 32 - diff last byte 18.019 ns/op 16.051 ns/op 1.12
byteArrayEquals 1024 - diff last byte 1.6488 us/op 1.2870 us/op 1.28
Buffer.compare 1024 - diff last byte 27.168 ns/op 24.536 ns/op 1.11
byteArrayEquals 16384 - diff last byte 26.242 us/op 20.421 us/op 1.29
Buffer.compare 16384 - diff last byte 206.16 ns/op 206.89 ns/op 1.00
byteArrayEquals 123687377 - diff last byte 196.71 ms/op 153.72 ms/op 1.28
Buffer.compare 123687377 - diff last byte 8.6366 ms/op 3.8667 ms/op 2.23
byteArrayEquals 32 - random bytes 5.3520 ns/op 4.9720 ns/op 1.08
Buffer.compare 32 - random bytes 18.097 ns/op 16.109 ns/op 1.12
byteArrayEquals 1024 - random bytes 5.3060 ns/op 4.9660 ns/op 1.07
Buffer.compare 1024 - random bytes 17.967 ns/op 15.922 ns/op 1.13
byteArrayEquals 16384 - random bytes 5.3220 ns/op 4.9720 ns/op 1.07
Buffer.compare 16384 - random bytes 18.255 ns/op 15.997 ns/op 1.14
byteArrayEquals 123687377 - random bytes 6.6800 ns/op 7.9000 ns/op 0.85
Buffer.compare 123687377 - random bytes 19.360 ns/op 18.920 ns/op 1.02
regular array get 100000 times 35.386 us/op 31.278 us/op 1.13
wrappedArray get 100000 times 33.623 us/op 31.235 us/op 1.08
arrayWithProxy get 100000 times 13.291 ms/op 10.928 ms/op 1.22
ssz.Root.equals 46.304 ns/op 44.841 ns/op 1.03
byteArrayEquals 45.651 ns/op 43.825 ns/op 1.04
Buffer.compare 10.822 ns/op 9.3410 ns/op 1.16
shuffle list - 16384 els 6.3636 ms/op 5.5048 ms/op 1.16
shuffle list - 250000 els 92.034 ms/op 80.753 ms/op 1.14
processSlot - 1 slots 12.699 us/op 12.318 us/op 1.03
processSlot - 32 slots 2.8627 ms/op 2.9811 ms/op 0.96
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.681 ms/op 42.857 ms/op 0.88
getCommitteeAssignments - req 1 vs - 250000 vc 2.0891 ms/op 1.7317 ms/op 1.21
getCommitteeAssignments - req 100 vs - 250000 vc 4.0442 ms/op 3.4003 ms/op 1.19
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3074 ms/op 3.6711 ms/op 1.17
findModifiedValidators - 10000 modified validators 236.56 ms/op 245.97 ms/op 0.96
findModifiedValidators - 1000 modified validators 160.04 ms/op 169.37 ms/op 0.94
findModifiedValidators - 100 modified validators 165.59 ms/op 147.37 ms/op 1.12
findModifiedValidators - 10 modified validators 158.31 ms/op 134.93 ms/op 1.17
findModifiedValidators - 1 modified validators 158.95 ms/op 137.74 ms/op 1.15
findModifiedValidators - no difference 179.06 ms/op 158.45 ms/op 1.13
compare ViewDUs 3.0925 s/op 3.0278 s/op 1.02
compare each validator Uint8Array 1.3902 s/op 1.1990 s/op 1.16
compare ViewDU to Uint8Array 1.0812 s/op 780.40 ms/op 1.39
migrate state 1000000 validators, 24 modified, 0 new 624.81 ms/op 574.11 ms/op 1.09
migrate state 1000000 validators, 1700 modified, 1000 new 784.17 ms/op 794.74 ms/op 0.99
migrate state 1000000 validators, 3400 modified, 2000 new 967.15 ms/op 966.16 ms/op 1.00
migrate state 1500000 validators, 24 modified, 0 new 616.51 ms/op 476.08 ms/op 1.29
migrate state 1500000 validators, 1700 modified, 1000 new 817.09 ms/op 799.30 ms/op 1.02
migrate state 1500000 validators, 3400 modified, 2000 new 1.0216 s/op 1.0428 s/op 0.98
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2800 ns/op 6.0600 ns/op 0.71
state getBlockRootAtSlot - 250000 vs - 7PWei 637.95 ns/op 684.57 ns/op 0.93
computeProposers - vc 250000 7.6428 ms/op 6.7146 ms/op 1.14
computeEpochShuffling - vc 250000 88.592 ms/op 82.090 ms/op 1.08
getNextSyncCommittee - vc 250000 120.02 ms/op 109.68 ms/op 1.09
computeSigningRoot for AttestationData 23.033 us/op 21.542 us/op 1.07
hash AttestationData serialized data then Buffer.toString(base64) 1.4807 us/op 1.1963 us/op 1.24
toHexString serialized data 831.54 ns/op 811.20 ns/op 1.03
Buffer.toString(base64) 175.88 ns/op 141.45 ns/op 1.24
nodejs block root to RootHex using toHex 139.07 ns/op 118.61 ns/op 1.17
nodejs block root to RootHex using toRootHex 85.872 ns/op 79.359 ns/op 1.08
browser block root to RootHex using the deprecated toHexString 215.88 ns/op 211.87 ns/op 1.02
browser block root to RootHex using toHex 172.10 ns/op 167.93 ns/op 1.02
browser block root to RootHex using toRootHex 154.58 ns/op 148.10 ns/op 1.04

by benchmarkbot/action

Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

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

LGTM

@twoeths twoeths merged commit 43b41af into unstable Sep 16, 2024
19 of 20 checks passed
@twoeths twoeths deleted the te/regen_get_state_metrics branch September 16, 2024 10:58
philknows pushed a commit that referenced this pull request Sep 27, 2024
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