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: track epoch transition by reason and prepare next epoch duration #6529

Merged
merged 2 commits into from
Mar 13, 2024

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Mar 12, 2024

Motivation

We have metrics to track epoch transition by reason and prepare next epoch duration but it's not in any grafana dashboard

Description

Add them to "Block processor" dashboard

Screenshot 2024-03-12 at 14 56 57 Screenshot 2024-03-12 at 14 57 15

@twoeths twoeths marked this pull request as ready for review March 12, 2024 08:10
@twoeths twoeths requested a review from a team as a code owner March 12, 2024 08:10
Copy link

codecov bot commented Mar 12, 2024

Codecov Report

Merging #6529 (cb9d3f6) into unstable (4857f43) will not change coverage.
Report is 3 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6529   +/-   ##
=========================================
  Coverage     61.53%   61.53%           
=========================================
  Files           556      556           
  Lines         58647    58647           
  Branches       1847     1847           
=========================================
  Hits          36087    36087           
  Misses        22520    22520           
  Partials         40       40           

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

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: c1e9e3d Previous: cae26be Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 517.81 us/op 872.87 us/op 0.59
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 81.721 us/op 105.08 us/op 0.78
BLS verify - blst-native 1.2670 ms/op 1.2985 ms/op 0.98
BLS verifyMultipleSignatures 3 - blst-native 2.7349 ms/op 2.7427 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst-native 6.0126 ms/op 6.0248 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 22.027 ms/op 22.151 ms/op 0.99
BLS verifyMultipleSignatures 64 - blst-native 43.361 ms/op 43.605 ms/op 0.99
BLS verifyMultipleSignatures 128 - blst-native 87.504 ms/op 86.640 ms/op 1.01
BLS deserializing 10000 signatures 951.44 ms/op 903.18 ms/op 1.05
BLS deserializing 100000 signatures 9.4402 s/op 9.5274 s/op 0.99
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.4031 ms/op 1.3354 ms/op 1.05
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.6363 ms/op 1.5327 ms/op 1.07
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.3729 ms/op 3.0421 ms/op 0.78
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.4994 ms/op 3.7916 ms/op 0.92
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.6932 ms/op 7.6011 ms/op 0.75
BLS aggregatePubkeys 32 - blst-native 26.162 us/op 28.590 us/op 0.92
BLS aggregatePubkeys 128 - blst-native 102.42 us/op 106.97 us/op 0.96
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 65.536 ms/op 67.921 ms/op 0.96
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 69.396 ms/op 61.063 ms/op 1.14
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 51.647 ms/op 34.269 ms/op 1.51
getSlashingsAndExits - default max 244.27 us/op 202.46 us/op 1.21
getSlashingsAndExits - 2k 594.08 us/op 1.0821 ms/op 0.55
proposeBlockBody type=full, size=empty 6.8968 ms/op 5.7834 ms/op 1.19
isKnown best case - 1 super set check 780.00 ns/op 549.00 ns/op 1.42
isKnown normal case - 2 super set checks 797.00 ns/op 445.00 ns/op 1.79
isKnown worse case - 16 super set checks 782.00 ns/op 480.00 ns/op 1.63
CheckpointStateCache - add get delete 8.9550 us/op 8.8900 us/op 1.01
validate api signedAggregateAndProof - struct 2.9802 ms/op 3.1476 ms/op 0.95
validate gossip signedAggregateAndProof - struct 3.0373 ms/op 2.8660 ms/op 1.06
validate gossip attestation - vc 640000 1.4275 ms/op 1.3866 ms/op 1.03
batch validate gossip attestation - vc 640000 - chunk 32 172.15 us/op 163.56 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 64 154.22 us/op 141.80 us/op 1.09
batch validate gossip attestation - vc 640000 - chunk 128 146.82 us/op 134.91 us/op 1.09
batch validate gossip attestation - vc 640000 - chunk 256 140.36 us/op 128.64 us/op 1.09
pickEth1Vote - no votes 1.4275 ms/op 1.2527 ms/op 1.14
pickEth1Vote - max votes 13.659 ms/op 9.0505 ms/op 1.51
pickEth1Vote - Eth1Data hashTreeRoot value x2048 25.898 ms/op 16.003 ms/op 1.62
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 38.215 ms/op 24.349 ms/op 1.57
pickEth1Vote - Eth1Data fastSerialize value x2048 792.47 us/op 663.37 us/op 1.19
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.7088 ms/op 4.4169 ms/op 1.29
bytes32 toHexString 738.00 ns/op 481.00 ns/op 1.53
bytes32 Buffer.toString(hex) 300.00 ns/op 286.00 ns/op 1.05
bytes32 Buffer.toString(hex) from Uint8Array 550.00 ns/op 420.00 ns/op 1.31
bytes32 Buffer.toString(hex) + 0x 335.00 ns/op 286.00 ns/op 1.17
Object access 1 prop 0.23000 ns/op 0.15900 ns/op 1.45
Map access 1 prop 0.16500 ns/op 0.14300 ns/op 1.15
Object get x1000 7.8270 ns/op 6.8550 ns/op 1.14
Map get x1000 0.90900 ns/op 0.76000 ns/op 1.20
Object set x1000 66.510 ns/op 49.629 ns/op 1.34
Map set x1000 50.909 ns/op 38.803 ns/op 1.31
Return object 10000 times 0.27030 ns/op 0.23460 ns/op 1.15
Throw Error 10000 times 4.0373 us/op 3.8154 us/op 1.06
fastMsgIdFn sha256 / 200 bytes 3.4940 us/op 3.1870 us/op 1.10
fastMsgIdFn h32 xxhash / 200 bytes 374.00 ns/op 275.00 ns/op 1.36
fastMsgIdFn h64 xxhash / 200 bytes 416.00 ns/op 331.00 ns/op 1.26
fastMsgIdFn sha256 / 1000 bytes 11.920 us/op 10.957 us/op 1.09
fastMsgIdFn h32 xxhash / 1000 bytes 504.00 ns/op 397.00 ns/op 1.27
fastMsgIdFn h64 xxhash / 1000 bytes 494.00 ns/op 404.00 ns/op 1.22
fastMsgIdFn sha256 / 10000 bytes 106.29 us/op 99.860 us/op 1.06
fastMsgIdFn h32 xxhash / 10000 bytes 2.0780 us/op 1.8920 us/op 1.10
fastMsgIdFn h64 xxhash / 10000 bytes 1.4350 us/op 1.3080 us/op 1.10
send data - 1000 256B messages 22.942 ms/op 17.930 ms/op 1.28
send data - 1000 512B messages 28.433 ms/op 25.647 ms/op 1.11
send data - 1000 1024B messages 41.958 ms/op 40.055 ms/op 1.05
send data - 1000 1200B messages 42.104 ms/op 37.543 ms/op 1.12
send data - 1000 2048B messages 54.448 ms/op 47.279 ms/op 1.15
send data - 1000 4096B messages 52.489 ms/op 42.378 ms/op 1.24
send data - 1000 16384B messages 128.33 ms/op 114.90 ms/op 1.12
send data - 1000 65536B messages 544.85 ms/op 453.34 ms/op 1.20
enrSubnets - fastDeserialize 64 bits 1.8250 us/op 1.2140 us/op 1.50
enrSubnets - ssz BitVector 64 bits 564.00 ns/op 418.00 ns/op 1.35
enrSubnets - fastDeserialize 4 bits 228.00 ns/op 163.00 ns/op 1.40
enrSubnets - ssz BitVector 4 bits 532.00 ns/op 413.00 ns/op 1.29
prioritizePeers score -10:0 att 32-0.1 sync 2-0 140.91 us/op 102.60 us/op 1.37
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 156.03 us/op 123.89 us/op 1.26
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 220.40 us/op 155.95 us/op 1.41
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 348.43 us/op 283.67 us/op 1.23
prioritizePeers score 0:0 att 64-1 sync 4-1 389.26 us/op 341.66 us/op 1.14
array of 16000 items push then shift 1.7063 us/op 1.5799 us/op 1.08
LinkedList of 16000 items push then shift 9.4180 ns/op 8.8580 ns/op 1.06
array of 16000 items push then pop 109.73 ns/op 57.105 ns/op 1.92
LinkedList of 16000 items push then pop 9.0990 ns/op 8.6090 ns/op 1.06
array of 24000 items push then shift 2.5875 us/op 2.3991 us/op 1.08
LinkedList of 24000 items push then shift 9.8260 ns/op 8.7500 ns/op 1.12
array of 24000 items push then pop 164.26 ns/op 119.45 ns/op 1.38
LinkedList of 24000 items push then pop 9.0890 ns/op 8.6410 ns/op 1.05
intersect bitArray bitLen 8 5.9670 ns/op 5.9390 ns/op 1.00
intersect array and set length 8 77.048 ns/op 63.251 ns/op 1.22
intersect bitArray bitLen 128 36.696 ns/op 35.396 ns/op 1.04
intersect array and set length 128 1.0493 us/op 848.83 ns/op 1.24
bitArray.getTrueBitIndexes() bitLen 128 1.7430 us/op 1.3960 us/op 1.25
bitArray.getTrueBitIndexes() bitLen 248 2.8810 us/op 2.5990 us/op 1.11
bitArray.getTrueBitIndexes() bitLen 512 5.9180 us/op 5.1310 us/op 1.15
Buffer.concat 32 items 1.0570 us/op 1.0080 us/op 1.05
Uint8Array.set 32 items 1.9740 us/op 1.8500 us/op 1.07
Set add up to 64 items then delete first 5.0814 us/op 4.3885 us/op 1.16
OrderedSet add up to 64 items then delete first 6.5936 us/op 5.5593 us/op 1.19
Set add up to 64 items then delete last 5.4091 us/op 4.7751 us/op 1.13
OrderedSet add up to 64 items then delete last 6.8353 us/op 5.8093 us/op 1.18
Set add up to 64 items then delete middle 5.3916 us/op 4.6252 us/op 1.17
OrderedSet add up to 64 items then delete middle 8.4182 us/op 7.0239 us/op 1.20
Set add up to 128 items then delete first 10.829 us/op 9.2877 us/op 1.17
OrderedSet add up to 128 items then delete first 14.664 us/op 12.609 us/op 1.16
Set add up to 128 items then delete last 10.900 us/op 8.9729 us/op 1.21
OrderedSet add up to 128 items then delete last 14.369 us/op 11.372 us/op 1.26
Set add up to 128 items then delete middle 10.652 us/op 9.0455 us/op 1.18
OrderedSet add up to 128 items then delete middle 19.283 us/op 16.873 us/op 1.14
Set add up to 256 items then delete first 19.262 us/op 19.167 us/op 1.00
OrderedSet add up to 256 items then delete first 26.058 us/op 26.035 us/op 1.00
Set add up to 256 items then delete last 20.184 us/op 17.966 us/op 1.12
OrderedSet add up to 256 items then delete last 26.129 us/op 23.282 us/op 1.12
Set add up to 256 items then delete middle 20.151 us/op 18.104 us/op 1.11
OrderedSet add up to 256 items then delete middle 50.361 us/op 48.064 us/op 1.05
transfer serialized Status (84 B) 1.9590 us/op 1.6500 us/op 1.19
copy serialized Status (84 B) 1.4710 us/op 1.2270 us/op 1.20
transfer serialized SignedVoluntaryExit (112 B) 2.0330 us/op 1.8260 us/op 1.11
copy serialized SignedVoluntaryExit (112 B) 1.5350 us/op 1.3140 us/op 1.17
transfer serialized ProposerSlashing (416 B) 2.2500 us/op 1.9850 us/op 1.13
copy serialized ProposerSlashing (416 B) 1.9960 us/op 2.2870 us/op 0.87
transfer serialized Attestation (485 B) 2.3090 us/op 2.8440 us/op 0.81
copy serialized Attestation (485 B) 1.9800 us/op 3.0410 us/op 0.65
transfer serialized AttesterSlashing (33232 B) 2.0900 us/op 3.1210 us/op 0.67
copy serialized AttesterSlashing (33232 B) 6.2960 us/op 6.2980 us/op 1.00
transfer serialized Small SignedBeaconBlock (128000 B) 2.6670 us/op 3.3500 us/op 0.80
copy serialized Small SignedBeaconBlock (128000 B) 16.746 us/op 25.957 us/op 0.65
transfer serialized Avg SignedBeaconBlock (200000 B) 2.8790 us/op 3.5050 us/op 0.82
copy serialized Avg SignedBeaconBlock (200000 B) 26.383 us/op 22.860 us/op 1.15
transfer serialized BlobsSidecar (524380 B) 3.0900 us/op 3.2860 us/op 0.94
copy serialized BlobsSidecar (524380 B) 147.99 us/op 142.42 us/op 1.04
transfer serialized Big SignedBeaconBlock (1000000 B) 2.9150 us/op 3.5350 us/op 0.82
copy serialized Big SignedBeaconBlock (1000000 B) 179.33 us/op 244.08 us/op 0.73
pass gossip attestations to forkchoice per slot 4.1285 ms/op 3.7169 ms/op 1.11
forkChoice updateHead vc 100000 bc 64 eq 0 699.46 us/op 804.70 us/op 0.87
forkChoice updateHead vc 600000 bc 64 eq 0 4.3149 ms/op 4.2754 ms/op 1.01
forkChoice updateHead vc 1000000 bc 64 eq 0 7.7783 ms/op 6.9537 ms/op 1.12
forkChoice updateHead vc 600000 bc 320 eq 0 4.3521 ms/op 4.2003 ms/op 1.04
forkChoice updateHead vc 600000 bc 1200 eq 0 4.4776 ms/op 4.4940 ms/op 1.00
forkChoice updateHead vc 600000 bc 7200 eq 0 5.5771 ms/op 5.4286 ms/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 1000 11.514 ms/op 10.870 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 10000 12.297 ms/op 11.881 ms/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 300000 18.316 ms/op 16.052 ms/op 1.14
computeDeltas 500000 validators 300 proto nodes 6.7878 ms/op 6.9494 ms/op 0.98
computeDeltas 500000 validators 1200 proto nodes 6.8546 ms/op 6.7827 ms/op 1.01
computeDeltas 500000 validators 7200 proto nodes 6.6019 ms/op 6.8486 ms/op 0.96
computeDeltas 750000 validators 300 proto nodes 9.8525 ms/op 10.191 ms/op 0.97
computeDeltas 750000 validators 1200 proto nodes 10.607 ms/op 10.318 ms/op 1.03
computeDeltas 750000 validators 7200 proto nodes 10.594 ms/op 10.207 ms/op 1.04
computeDeltas 1400000 validators 300 proto nodes 19.810 ms/op 19.212 ms/op 1.03
computeDeltas 1400000 validators 1200 proto nodes 20.675 ms/op 19.115 ms/op 1.08
computeDeltas 1400000 validators 7200 proto nodes 21.281 ms/op 19.524 ms/op 1.09
computeDeltas 2100000 validators 300 proto nodes 32.702 ms/op 28.433 ms/op 1.15
computeDeltas 2100000 validators 1200 proto nodes 33.937 ms/op 28.487 ms/op 1.19
computeDeltas 2100000 validators 7200 proto nodes 31.864 ms/op 27.906 ms/op 1.14
altair processAttestation - 250000 vs - 7PWei normalcase 4.2998 ms/op 3.6152 ms/op 1.19
altair processAttestation - 250000 vs - 7PWei worstcase 5.4296 ms/op 4.9090 ms/op 1.11
altair processAttestation - setStatus - 1/6 committees join 191.02 us/op 221.84 us/op 0.86
altair processAttestation - setStatus - 1/3 committees join 343.86 us/op 445.78 us/op 0.77
altair processAttestation - setStatus - 1/2 committees join 477.64 us/op 659.61 us/op 0.72
altair processAttestation - setStatus - 2/3 committees join 566.63 us/op 725.76 us/op 0.78
altair processAttestation - setStatus - 4/5 committees join 809.15 us/op 1.0850 ms/op 0.75
altair processAttestation - setStatus - 100% committees join 947.38 us/op 1.2231 ms/op 0.77
altair processBlock - 250000 vs - 7PWei normalcase 13.625 ms/op 8.7121 ms/op 1.56
altair processBlock - 250000 vs - 7PWei normalcase hashState 43.334 ms/op 37.988 ms/op 1.14
altair processBlock - 250000 vs - 7PWei worstcase 47.152 ms/op 47.083 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase hashState 115.29 ms/op 101.84 ms/op 1.13
phase0 processBlock - 250000 vs - 7PWei normalcase 3.8638 ms/op 3.6020 ms/op 1.07
phase0 processBlock - 250000 vs - 7PWei worstcase 39.097 ms/op 34.011 ms/op 1.15
altair processEth1Data - 250000 vs - 7PWei normalcase 1.1245 ms/op 648.42 us/op 1.73
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 25.208 us/op 16.433 us/op 1.53
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 88.622 us/op 76.624 us/op 1.16
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 56.758 us/op 20.857 us/op 2.72
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 33.443 us/op 20.219 us/op 1.65
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 267.59 us/op 221.82 us/op 1.21
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.1192 ms/op 1.5620 ms/op 1.36
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.7596 ms/op 2.0154 ms/op 1.37
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.7194 ms/op 2.2580 ms/op 1.20
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 6.6034 ms/op 3.7752 ms/op 1.75
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.6728 ms/op 3.0075 ms/op 1.22
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 8.4420 ms/op 5.3780 ms/op 1.57
Tree 40 250000 create 726.17 ms/op 470.96 ms/op 1.54
Tree 40 250000 get(125000) 225.84 ns/op 211.69 ns/op 1.07
Tree 40 250000 set(125000) 1.7125 us/op 1.1440 us/op 1.50
Tree 40 250000 toArray() 28.030 ms/op 23.931 ms/op 1.17
Tree 40 250000 iterate all - toArray() + loop 25.730 ms/op 24.075 ms/op 1.07
Tree 40 250000 iterate all - get(i) 78.810 ms/op 77.169 ms/op 1.02
MutableVector 250000 create 21.243 ms/op 16.697 ms/op 1.27
MutableVector 250000 get(125000) 7.0840 ns/op 6.7160 ns/op 1.05
MutableVector 250000 set(125000) 348.32 ns/op 311.53 ns/op 1.12
MutableVector 250000 toArray() 4.2095 ms/op 3.1524 ms/op 1.34
MutableVector 250000 iterate all - toArray() + loop 4.3830 ms/op 3.4024 ms/op 1.29
MutableVector 250000 iterate all - get(i) 1.5845 ms/op 1.5654 ms/op 1.01
Array 250000 create 4.0097 ms/op 2.9971 ms/op 1.34
Array 250000 clone - spread 1.8370 ms/op 1.4663 ms/op 1.25
Array 250000 get(125000) 2.1720 ns/op 1.2110 ns/op 1.79
Array 250000 set(125000) 5.6460 ns/op 4.5320 ns/op 1.25
Array 250000 iterate all - loop 182.44 us/op 168.85 us/op 1.08
effectiveBalanceIncrements clone Uint8Array 300000 66.977 us/op 45.093 us/op 1.49
effectiveBalanceIncrements clone MutableVector 300000 470.00 ns/op 437.00 ns/op 1.08
effectiveBalanceIncrements rw all Uint8Array 300000 223.15 us/op 202.69 us/op 1.10
effectiveBalanceIncrements rw all MutableVector 300000 158.58 ms/op 94.412 ms/op 1.68
phase0 afterProcessEpoch - 250000 vs - 7PWei 126.71 ms/op 115.85 ms/op 1.09
phase0 beforeProcessEpoch - 250000 vs - 7PWei 68.115 ms/op 41.654 ms/op 1.64
altair processEpoch - mainnet_e81889 608.39 ms/op 535.26 ms/op 1.14
mainnet_e81889 - altair beforeProcessEpoch 112.52 ms/op 85.629 ms/op 1.31
mainnet_e81889 - altair processJustificationAndFinalization 23.623 us/op 27.474 us/op 0.86
mainnet_e81889 - altair processInactivityUpdates 8.8823 ms/op 6.4009 ms/op 1.39
mainnet_e81889 - altair processRewardsAndPenalties 84.437 ms/op 69.679 ms/op 1.21
mainnet_e81889 - altair processRegistryUpdates 6.9590 us/op 2.7620 us/op 2.52
mainnet_e81889 - altair processSlashings 1.3310 us/op 718.00 ns/op 1.85
mainnet_e81889 - altair processEth1DataReset 1.4400 us/op 852.00 ns/op 1.69
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.2571 ms/op 2.6561 ms/op 0.85
mainnet_e81889 - altair processSlashingsReset 8.7940 us/op 4.3970 us/op 2.00
mainnet_e81889 - altair processRandaoMixesReset 11.451 us/op 6.8030 us/op 1.68
mainnet_e81889 - altair processHistoricalRootsUpdate 2.3860 us/op 1.1500 us/op 2.07
mainnet_e81889 - altair processParticipationFlagUpdates 5.0710 us/op 2.1630 us/op 2.34
mainnet_e81889 - altair processSyncCommitteeUpdates 1.1870 us/op 1.1510 us/op 1.03
mainnet_e81889 - altair afterProcessEpoch 136.59 ms/op 123.91 ms/op 1.10
capella processEpoch - mainnet_e217614 2.0813 s/op 2.1879 s/op 0.95
mainnet_e217614 - capella beforeProcessEpoch 486.98 ms/op 554.04 ms/op 0.88
mainnet_e217614 - capella processJustificationAndFinalization 19.502 us/op 20.631 us/op 0.95
mainnet_e217614 - capella processInactivityUpdates 18.358 ms/op 20.145 ms/op 0.91
mainnet_e217614 - capella processRewardsAndPenalties 407.87 ms/op 403.73 ms/op 1.01
mainnet_e217614 - capella processRegistryUpdates 33.616 us/op 40.843 us/op 0.82
mainnet_e217614 - capella processSlashings 902.00 ns/op 1.0770 us/op 0.84
mainnet_e217614 - capella processEth1DataReset 662.00 ns/op 836.00 ns/op 0.79
mainnet_e217614 - capella processEffectiveBalanceUpdates 8.8676 ms/op 10.888 ms/op 0.81
mainnet_e217614 - capella processSlashingsReset 3.5600 us/op 4.3750 us/op 0.81
mainnet_e217614 - capella processRandaoMixesReset 4.5880 us/op 7.8210 us/op 0.59
mainnet_e217614 - capella processHistoricalRootsUpdate 568.00 ns/op 726.00 ns/op 0.78
mainnet_e217614 - capella processParticipationFlagUpdates 1.7330 us/op 2.9870 us/op 0.58
mainnet_e217614 - capella afterProcessEpoch 301.76 ms/op 315.34 ms/op 0.96
phase0 processEpoch - mainnet_e58758 543.75 ms/op 595.68 ms/op 0.91
mainnet_e58758 - phase0 beforeProcessEpoch 134.34 ms/op 192.11 ms/op 0.70
mainnet_e58758 - phase0 processJustificationAndFinalization 24.567 us/op 26.099 us/op 0.94
mainnet_e58758 - phase0 processRewardsAndPenalties 67.268 ms/op 59.971 ms/op 1.12
mainnet_e58758 - phase0 processRegistryUpdates 14.586 us/op 18.135 us/op 0.80
mainnet_e58758 - phase0 processSlashings 638.00 ns/op 844.00 ns/op 0.76
mainnet_e58758 - phase0 processEth1DataReset 713.00 ns/op 625.00 ns/op 1.14
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.6337 ms/op 2.1424 ms/op 0.76
mainnet_e58758 - phase0 processSlashingsReset 3.0680 us/op 4.4440 us/op 0.69
mainnet_e58758 - phase0 processRandaoMixesReset 9.3300 us/op 5.8200 us/op 1.60
mainnet_e58758 - phase0 processHistoricalRootsUpdate 742.00 ns/op 678.00 ns/op 1.09
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.3860 us/op 5.7710 us/op 0.93
mainnet_e58758 - phase0 afterProcessEpoch 101.81 ms/op 105.42 ms/op 0.97
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.2835 ms/op 1.6423 ms/op 1.39
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.9323 ms/op 1.5094 ms/op 1.94
altair processInactivityUpdates - 250000 normalcase 37.657 ms/op 31.340 ms/op 1.20
altair processInactivityUpdates - 250000 worstcase 35.928 ms/op 33.571 ms/op 1.07
phase0 processRegistryUpdates - 250000 normalcase 14.201 us/op 16.009 us/op 0.89
phase0 processRegistryUpdates - 250000 badcase_full_deposits 520.79 us/op 468.49 us/op 1.11
phase0 processRegistryUpdates - 250000 worstcase 0.5 141.32 ms/op 179.33 ms/op 0.79
altair processRewardsAndPenalties - 250000 normalcase 70.515 ms/op 52.523 ms/op 1.34
altair processRewardsAndPenalties - 250000 worstcase 47.467 ms/op 66.929 ms/op 0.71
phase0 getAttestationDeltas - 250000 normalcase 10.866 ms/op 11.117 ms/op 0.98
phase0 getAttestationDeltas - 250000 worstcase 10.307 ms/op 11.901 ms/op 0.87
phase0 processSlashings - 250000 worstcase 110.70 us/op 169.56 us/op 0.65
altair processSyncCommitteeUpdates - 250000 160.72 ms/op 174.00 ms/op 0.92
BeaconState.hashTreeRoot - No change 421.00 ns/op 617.00 ns/op 0.68
BeaconState.hashTreeRoot - 1 full validator 156.33 us/op 153.32 us/op 1.02
BeaconState.hashTreeRoot - 32 full validator 1.4644 ms/op 1.6869 ms/op 0.87
BeaconState.hashTreeRoot - 512 full validator 17.556 ms/op 15.858 ms/op 1.11
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 160.35 us/op 175.09 us/op 0.92
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.2403 ms/op 2.4096 ms/op 0.93
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 27.283 ms/op 32.891 ms/op 0.83
BeaconState.hashTreeRoot - 1 balances 122.90 us/op 142.40 us/op 0.86
BeaconState.hashTreeRoot - 32 balances 1.0768 ms/op 1.3603 ms/op 0.79
BeaconState.hashTreeRoot - 512 balances 10.586 ms/op 14.248 ms/op 0.74
BeaconState.hashTreeRoot - 250000 balances 234.50 ms/op 235.65 ms/op 1.00
aggregationBits - 2048 els - zipIndexesInBitList 34.148 us/op 74.245 us/op 0.46
byteArrayEquals 32 79.528 ns/op 76.036 ns/op 1.05
Buffer.compare 32 57.293 ns/op 55.388 ns/op 1.03
byteArrayEquals 1024 2.0159 us/op 2.0712 us/op 0.97
Buffer.compare 1024 69.428 ns/op 72.473 ns/op 0.96
byteArrayEquals 16384 32.297 us/op 33.169 us/op 0.97
Buffer.compare 16384 259.52 ns/op 273.90 ns/op 0.95
byteArrayEquals 123687377 249.38 ms/op 256.50 ms/op 0.97
Buffer.compare 123687377 7.1639 ms/op 7.7967 ms/op 0.92
byteArrayEquals 32 - diff last byte 72.576 ns/op 74.538 ns/op 0.97
Buffer.compare 32 - diff last byte 56.491 ns/op 57.946 ns/op 0.97
byteArrayEquals 1024 - diff last byte 2.0663 us/op 2.0676 us/op 1.00
Buffer.compare 1024 - diff last byte 72.207 ns/op 73.595 ns/op 0.98
byteArrayEquals 16384 - diff last byte 33.136 us/op 32.891 us/op 1.01
Buffer.compare 16384 - diff last byte 277.08 ns/op 275.74 ns/op 1.00
byteArrayEquals 123687377 - diff last byte 256.02 ms/op 247.71 ms/op 1.03
Buffer.compare 123687377 - diff last byte 6.7408 ms/op 7.5059 ms/op 0.90
byteArrayEquals 32 - random bytes 5.3790 ns/op 5.7730 ns/op 0.93
Buffer.compare 32 - random bytes 61.911 ns/op 63.027 ns/op 0.98
byteArrayEquals 1024 - random bytes 5.4340 ns/op 5.6130 ns/op 0.97
Buffer.compare 1024 - random bytes 62.700 ns/op 65.038 ns/op 0.96
byteArrayEquals 16384 - random bytes 5.4990 ns/op 5.5370 ns/op 0.99
Buffer.compare 16384 - random bytes 60.650 ns/op 62.394 ns/op 0.97
byteArrayEquals 123687377 - random bytes 8.4600 ns/op 8.8500 ns/op 0.96
Buffer.compare 123687377 - random bytes 63.780 ns/op 70.900 ns/op 0.90
regular array get 100000 times 44.828 us/op 46.523 us/op 0.96
wrappedArray get 100000 times 45.488 us/op 46.794 us/op 0.97
arrayWithProxy get 100000 times 13.891 ms/op 15.702 ms/op 0.88
ssz.Root.equals 54.242 ns/op 55.493 ns/op 0.98
byteArrayEquals 52.645 ns/op 54.322 ns/op 0.97
Buffer.compare 11.431 ns/op 11.991 ns/op 0.95
shuffle list - 16384 els 8.7974 ms/op 8.7131 ms/op 1.01
shuffle list - 250000 els 129.32 ms/op 128.06 ms/op 1.01
processSlot - 1 slots 18.739 us/op 17.999 us/op 1.04
processSlot - 32 slots 4.2265 ms/op 3.3857 ms/op 1.25
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 63.756 ms/op 62.116 ms/op 1.03
getCommitteeAssignments - req 1 vs - 250000 vc 2.7705 ms/op 2.7230 ms/op 1.02
getCommitteeAssignments - req 100 vs - 250000 vc 4.0869 ms/op 3.9411 ms/op 1.04
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4265 ms/op 4.2980 ms/op 1.03
findModifiedValidators - 10000 modified validators 541.96 ms/op 539.19 ms/op 1.01
findModifiedValidators - 1000 modified validators 610.85 ms/op 440.87 ms/op 1.39
findModifiedValidators - 100 modified validators 534.49 ms/op 417.58 ms/op 1.28
findModifiedValidators - 10 modified validators 455.43 ms/op 435.50 ms/op 1.05
findModifiedValidators - 1 modified validators 454.10 ms/op 409.34 ms/op 1.11
findModifiedValidators - no difference 426.61 ms/op 400.07 ms/op 1.07
compare ViewDUs 4.9650 s/op 4.9477 s/op 1.00
compare each validator Uint8Array 1.8505 s/op 1.8725 s/op 0.99
compare ViewDU to Uint8Array 1.4561 s/op 1.1097 s/op 1.31
migrate state 1000000 validators, 24 modified, 0 new 975.77 ms/op 808.72 ms/op 1.21
migrate state 1000000 validators, 1700 modified, 1000 new 1.2624 s/op 1.0909 s/op 1.16
migrate state 1000000 validators, 3400 modified, 2000 new 1.5225 s/op 1.3499 s/op 1.13
migrate state 1500000 validators, 24 modified, 0 new 878.68 ms/op 807.25 ms/op 1.09
migrate state 1500000 validators, 1700 modified, 1000 new 1.1380 s/op 1.1809 s/op 0.96
migrate state 1500000 validators, 3400 modified, 2000 new 1.3570 s/op 1.4008 s/op 0.97
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.6300 ns/op 4.4100 ns/op 1.05
state getBlockRootAtSlot - 250000 vs - 7PWei 623.90 ns/op 878.96 ns/op 0.71
computeProposers - vc 250000 9.0769 ms/op 9.5050 ms/op 0.95
computeEpochShuffling - vc 250000 129.65 ms/op 121.76 ms/op 1.06
getNextSyncCommittee - vc 250000 161.95 ms/op 159.92 ms/op 1.01
computeSigningRoot for AttestationData 33.405 us/op 25.229 us/op 1.32
hash AttestationData serialized data then Buffer.toString(base64) 2.4042 us/op 2.3180 us/op 1.04
toHexString serialized data 1.1819 us/op 1.0993 us/op 1.08
Buffer.toString(base64) 219.96 ns/op 232.76 ns/op 0.95

by benchmarkbot/action

@twoeths twoeths merged commit 822446f into unstable Mar 13, 2024
20 checks passed
@twoeths twoeths deleted the tuyen/add_epoch_transition_panels branch March 13, 2024 01:41
@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.

3 participants