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: do not report negative sync time and slots/s #6918

Merged
merged 1 commit into from
Jun 29, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jun 29, 2024

Motivation

It does not make sense to report syncing negative slots per second and time left as the node can't sync backwards to head

Description

Do not report negative sync time and slots/s

Related #6861

@nflaig nflaig requested a review from a team as a code owner June 29, 2024 11:13
Copy link

codecov bot commented Jun 29, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 62.52%. Comparing base (f69bc11) to head (6480bc5).

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6918   +/-   ##
=========================================
  Coverage     62.52%   62.52%           
=========================================
  Files           575      575           
  Lines         60985    60985           
  Branches       2118     2118           
=========================================
  Hits          38128    38128           
  Misses        22818    22818           
  Partials         39       39           

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: ad99384 Previous: d87a901 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 803.60 us/op 516.28 us/op 1.56
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 46.247 us/op 37.733 us/op 1.23
BLS verify - blst-native 1.2163 ms/op 1.1111 ms/op 1.09
BLS verifyMultipleSignatures 3 - blst-native 2.5736 ms/op 2.3868 ms/op 1.08
BLS verifyMultipleSignatures 8 - blst-native 5.6931 ms/op 5.2575 ms/op 1.08
BLS verifyMultipleSignatures 32 - blst-native 20.850 ms/op 19.185 ms/op 1.09
BLS verifyMultipleSignatures 64 - blst-native 41.192 ms/op 37.936 ms/op 1.09
BLS verifyMultipleSignatures 128 - blst-native 81.526 ms/op 75.015 ms/op 1.09
BLS deserializing 10000 signatures 848.50 ms/op 794.42 ms/op 1.07
BLS deserializing 100000 signatures 8.6311 s/op 8.0156 s/op 1.08
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2601 ms/op 1.1417 ms/op 1.10
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4292 ms/op 1.2976 ms/op 1.10
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.3130 ms/op 2.0382 ms/op 1.13
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.6299 ms/op 3.4894 ms/op 1.04
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.4620 ms/op 6.1630 ms/op 0.89
BLS aggregatePubkeys 32 - blst-native 24.863 us/op 23.693 us/op 1.05
BLS aggregatePubkeys 128 - blst-native 98.248 us/op 88.669 us/op 1.11
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 73.098 ms/op 60.599 ms/op 1.21
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 68.917 ms/op 45.178 ms/op 1.53
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 38.517 ms/op 31.163 ms/op 1.24
getSlashingsAndExits - default max 109.36 us/op 73.939 us/op 1.48
getSlashingsAndExits - 2k 270.04 us/op 244.76 us/op 1.10
proposeBlockBody type=full, size=empty 5.7127 ms/op 4.9790 ms/op 1.15
isKnown best case - 1 super set check 305.00 ns/op 462.00 ns/op 0.66
isKnown normal case - 2 super set checks 278.00 ns/op 457.00 ns/op 0.61
isKnown worse case - 16 super set checks 281.00 ns/op 456.00 ns/op 0.62
InMemoryCheckpointStateCache - add get delete 5.0320 us/op 3.8230 us/op 1.32
validate api signedAggregateAndProof - struct 2.6110 ms/op 2.3082 ms/op 1.13
validate gossip signedAggregateAndProof - struct 2.6125 ms/op 2.3034 ms/op 1.13
validate gossip attestation - vc 640000 1.2609 ms/op 1.1201 ms/op 1.13
batch validate gossip attestation - vc 640000 - chunk 32 146.48 us/op 131.41 us/op 1.11
batch validate gossip attestation - vc 640000 - chunk 64 127.98 us/op 116.77 us/op 1.10
batch validate gossip attestation - vc 640000 - chunk 128 120.73 us/op 110.33 us/op 1.09
batch validate gossip attestation - vc 640000 - chunk 256 117.37 us/op 109.06 us/op 1.08
pickEth1Vote - no votes 1.0055 ms/op 818.11 us/op 1.23
pickEth1Vote - max votes 8.6873 ms/op 5.7678 ms/op 1.51
pickEth1Vote - Eth1Data hashTreeRoot value x2048 17.904 ms/op 9.4287 ms/op 1.90
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 23.190 ms/op 15.641 ms/op 1.48
pickEth1Vote - Eth1Data fastSerialize value x2048 489.27 us/op 337.18 us/op 1.45
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.3402 ms/op 7.1937 ms/op 0.74
bytes32 toHexString 428.00 ns/op 611.00 ns/op 0.70
bytes32 Buffer.toString(hex) 236.00 ns/op 440.00 ns/op 0.54
bytes32 Buffer.toString(hex) from Uint8Array 352.00 ns/op 547.00 ns/op 0.64
bytes32 Buffer.toString(hex) + 0x 241.00 ns/op 427.00 ns/op 0.56
Object access 1 prop 0.13000 ns/op 0.30800 ns/op 0.42
Map access 1 prop 0.13400 ns/op 0.30900 ns/op 0.43
Object get x1000 5.9980 ns/op 4.7810 ns/op 1.25
Map get x1000 6.5720 ns/op 5.5400 ns/op 1.19
Object set x1000 32.448 ns/op 22.508 ns/op 1.44
Map set x1000 21.769 ns/op 18.621 ns/op 1.17
Return object 10000 times 0.28830 ns/op 0.29990 ns/op 0.96
Throw Error 10000 times 3.3825 us/op 2.7011 us/op 1.25
fastMsgIdFn sha256 / 200 bytes 2.1800 us/op 1.9710 us/op 1.11
fastMsgIdFn h32 xxhash / 200 bytes 222.00 ns/op 409.00 ns/op 0.54
fastMsgIdFn h64 xxhash / 200 bytes 261.00 ns/op 453.00 ns/op 0.58
fastMsgIdFn sha256 / 1000 bytes 7.2790 us/op 6.0390 us/op 1.21
fastMsgIdFn h32 xxhash / 1000 bytes 354.00 ns/op 525.00 ns/op 0.67
fastMsgIdFn h64 xxhash / 1000 bytes 336.00 ns/op 528.00 ns/op 0.64
fastMsgIdFn sha256 / 10000 bytes 64.240 us/op 52.245 us/op 1.23
fastMsgIdFn h32 xxhash / 10000 bytes 1.8290 us/op 1.8840 us/op 0.97
fastMsgIdFn h64 xxhash / 10000 bytes 1.1910 us/op 1.3070 us/op 0.91
send data - 1000 256B messages 12.336 ms/op 9.8411 ms/op 1.25
send data - 1000 512B messages 16.729 ms/op 13.058 ms/op 1.28
send data - 1000 1024B messages 29.471 ms/op 21.032 ms/op 1.40
send data - 1000 1200B messages 27.628 ms/op 22.802 ms/op 1.21
send data - 1000 2048B messages 33.113 ms/op 28.359 ms/op 1.17
send data - 1000 4096B messages 31.361 ms/op 24.802 ms/op 1.26
send data - 1000 16384B messages 71.574 ms/op 68.316 ms/op 1.05
send data - 1000 65536B messages 213.25 ms/op 237.85 ms/op 0.90
enrSubnets - fastDeserialize 64 bits 1.1140 us/op 1.1500 us/op 0.97
enrSubnets - ssz BitVector 64 bits 362.00 ns/op 551.00 ns/op 0.66
enrSubnets - fastDeserialize 4 bits 148.00 ns/op 355.00 ns/op 0.42
enrSubnets - ssz BitVector 4 bits 360.00 ns/op 557.00 ns/op 0.65
prioritizePeers score -10:0 att 32-0.1 sync 2-0 168.22 us/op 138.45 us/op 1.22
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 184.99 us/op 177.79 us/op 1.04
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 379.58 us/op 308.69 us/op 1.23
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 627.11 us/op 471.96 us/op 1.33
prioritizePeers score 0:0 att 64-1 sync 4-1 769.95 us/op 538.95 us/op 1.43
array of 16000 items push then shift 1.6540 us/op 1.2559 us/op 1.32
LinkedList of 16000 items push then shift 7.2390 ns/op 7.6440 ns/op 0.95
array of 16000 items push then pop 99.787 ns/op 124.99 ns/op 0.80
LinkedList of 16000 items push then pop 7.1270 ns/op 6.3420 ns/op 1.12
array of 24000 items push then shift 2.4639 us/op 1.9249 us/op 1.28
LinkedList of 24000 items push then shift 7.4930 ns/op 6.4600 ns/op 1.16
array of 24000 items push then pop 134.02 ns/op 108.85 ns/op 1.23
LinkedList of 24000 items push then pop 6.7940 ns/op 6.3100 ns/op 1.08
intersect bitArray bitLen 8 6.3960 ns/op 5.4460 ns/op 1.17
intersect array and set length 8 44.645 ns/op 39.930 ns/op 1.12
intersect bitArray bitLen 128 30.052 ns/op 26.613 ns/op 1.13
intersect array and set length 128 699.62 ns/op 587.12 ns/op 1.19
bitArray.getTrueBitIndexes() bitLen 128 2.1030 us/op 2.1410 us/op 0.98
bitArray.getTrueBitIndexes() bitLen 248 3.3300 us/op 2.8960 us/op 1.15
bitArray.getTrueBitIndexes() bitLen 512 9.8180 us/op 6.0840 us/op 1.61
Buffer.concat 32 items 964.00 ns/op 1.1660 us/op 0.83
Uint8Array.set 32 items 1.6000 us/op 1.5940 us/op 1.00
Buffer.copy 1.8230 us/op 1.7800 us/op 1.02
Uint8Array.set - with subarray 2.7520 us/op 2.3520 us/op 1.17
Uint8Array.set - without subarray 1.8610 us/op 1.7810 us/op 1.04
Set add up to 64 items then delete first 2.1632 us/op 1.7539 us/op 1.23
OrderedSet add up to 64 items then delete first 3.2646 us/op 2.8310 us/op 1.15
Set add up to 64 items then delete last 2.4736 us/op 2.0768 us/op 1.19
OrderedSet add up to 64 items then delete last 3.6567 us/op 3.1329 us/op 1.17
Set add up to 64 items then delete middle 2.5099 us/op 2.0780 us/op 1.21
OrderedSet add up to 64 items then delete middle 5.1768 us/op 4.5539 us/op 1.14
Set add up to 128 items then delete first 4.9489 us/op 4.0770 us/op 1.21
OrderedSet add up to 128 items then delete first 7.8156 us/op 6.4254 us/op 1.22
Set add up to 128 items then delete last 4.9004 us/op 3.9591 us/op 1.24
OrderedSet add up to 128 items then delete last 7.2131 us/op 6.0400 us/op 1.19
Set add up to 128 items then delete middle 4.8368 us/op 3.9699 us/op 1.22
OrderedSet add up to 128 items then delete middle 13.536 us/op 12.024 us/op 1.13
Set add up to 256 items then delete first 10.491 us/op 7.9777 us/op 1.32
OrderedSet add up to 256 items then delete first 15.948 us/op 12.766 us/op 1.25
Set add up to 256 items then delete last 10.054 us/op 7.7762 us/op 1.29
OrderedSet add up to 256 items then delete last 14.615 us/op 12.034 us/op 1.21
Set add up to 256 items then delete middle 9.4996 us/op 7.7617 us/op 1.22
OrderedSet add up to 256 items then delete middle 40.993 us/op 34.684 us/op 1.18
transfer serialized Status (84 B) 1.4680 us/op 1.4630 us/op 1.00
copy serialized Status (84 B) 1.1430 us/op 1.2770 us/op 0.90
transfer serialized SignedVoluntaryExit (112 B) 1.5170 us/op 1.4750 us/op 1.03
copy serialized SignedVoluntaryExit (112 B) 1.2580 us/op 1.2550 us/op 1.00
transfer serialized ProposerSlashing (416 B) 2.5470 us/op 1.5490 us/op 1.64
copy serialized ProposerSlashing (416 B) 1.8390 us/op 1.6010 us/op 1.15
transfer serialized Attestation (485 B) 1.8050 us/op 1.6520 us/op 1.09
copy serialized Attestation (485 B) 1.7240 us/op 1.3630 us/op 1.26
transfer serialized AttesterSlashing (33232 B) 2.0260 us/op 1.8650 us/op 1.09
copy serialized AttesterSlashing (33232 B) 4.8180 us/op 3.7160 us/op 1.30
transfer serialized Small SignedBeaconBlock (128000 B) 3.1380 us/op 2.0020 us/op 1.57
copy serialized Small SignedBeaconBlock (128000 B) 14.175 us/op 10.450 us/op 1.36
transfer serialized Avg SignedBeaconBlock (200000 B) 3.4010 us/op 2.5950 us/op 1.31
copy serialized Avg SignedBeaconBlock (200000 B) 20.188 us/op 14.089 us/op 1.43
transfer serialized BlobsSidecar (524380 B) 2.8080 us/op 2.9520 us/op 0.95
copy serialized BlobsSidecar (524380 B) 206.35 us/op 87.951 us/op 2.35
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3060 us/op 3.5070 us/op 0.94
copy serialized Big SignedBeaconBlock (1000000 B) 185.18 us/op 326.06 us/op 0.57
pass gossip attestations to forkchoice per slot 3.1868 ms/op 2.5701 ms/op 1.24
forkChoice updateHead vc 100000 bc 64 eq 0 488.88 us/op 471.84 us/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 0 3.1319 ms/op 2.6297 ms/op 1.19
forkChoice updateHead vc 1000000 bc 64 eq 0 5.3606 ms/op 4.6138 ms/op 1.16
forkChoice updateHead vc 600000 bc 320 eq 0 3.1441 ms/op 2.5207 ms/op 1.25
forkChoice updateHead vc 600000 bc 1200 eq 0 3.1862 ms/op 2.5689 ms/op 1.24
forkChoice updateHead vc 600000 bc 7200 eq 0 3.7129 ms/op 2.8233 ms/op 1.32
forkChoice updateHead vc 600000 bc 64 eq 1000 10.826 ms/op 9.6644 ms/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 10000 10.749 ms/op 9.5619 ms/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 300000 15.552 ms/op 11.786 ms/op 1.32
computeDeltas 500000 validators 300 proto nodes 3.4846 ms/op 2.9917 ms/op 1.16
computeDeltas 500000 validators 1200 proto nodes 3.4316 ms/op 3.0944 ms/op 1.11
computeDeltas 500000 validators 7200 proto nodes 3.5124 ms/op 3.0398 ms/op 1.16
computeDeltas 750000 validators 300 proto nodes 5.3165 ms/op 4.6112 ms/op 1.15
computeDeltas 750000 validators 1200 proto nodes 5.3293 ms/op 4.5042 ms/op 1.18
computeDeltas 750000 validators 7200 proto nodes 5.4072 ms/op 4.3965 ms/op 1.23
computeDeltas 1400000 validators 300 proto nodes 9.7738 ms/op 8.2221 ms/op 1.19
computeDeltas 1400000 validators 1200 proto nodes 10.035 ms/op 8.2180 ms/op 1.22
computeDeltas 1400000 validators 7200 proto nodes 10.005 ms/op 8.1976 ms/op 1.22
computeDeltas 2100000 validators 300 proto nodes 15.975 ms/op 12.061 ms/op 1.32
computeDeltas 2100000 validators 1200 proto nodes 15.634 ms/op 12.074 ms/op 1.29
computeDeltas 2100000 validators 7200 proto nodes 16.082 ms/op 12.371 ms/op 1.30
altair processAttestation - 250000 vs - 7PWei normalcase 1.7173 ms/op 1.3205 ms/op 1.30
altair processAttestation - 250000 vs - 7PWei worstcase 2.4673 ms/op 2.0709 ms/op 1.19
altair processAttestation - setStatus - 1/6 committees join 94.105 us/op 60.905 us/op 1.55
altair processAttestation - setStatus - 1/3 committees join 180.39 us/op 122.72 us/op 1.47
altair processAttestation - setStatus - 1/2 committees join 260.84 us/op 190.82 us/op 1.37
altair processAttestation - setStatus - 2/3 committees join 327.31 us/op 260.91 us/op 1.25
altair processAttestation - setStatus - 4/5 committees join 479.87 us/op 382.79 us/op 1.25
altair processAttestation - setStatus - 100% committees join 577.16 us/op 461.22 us/op 1.25
altair processBlock - 250000 vs - 7PWei normalcase 5.6899 ms/op 4.0258 ms/op 1.41
altair processBlock - 250000 vs - 7PWei normalcase hashState 30.602 ms/op 29.123 ms/op 1.05
altair processBlock - 250000 vs - 7PWei worstcase 48.694 ms/op 42.882 ms/op 1.14
altair processBlock - 250000 vs - 7PWei worstcase hashState 85.074 ms/op 60.704 ms/op 1.40
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5609 ms/op 1.7358 ms/op 1.48
phase0 processBlock - 250000 vs - 7PWei worstcase 27.282 ms/op 23.487 ms/op 1.16
altair processEth1Data - 250000 vs - 7PWei normalcase 288.75 us/op 242.22 us/op 1.19
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.7690 us/op 3.8410 us/op 1.50
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 27.012 us/op 18.332 us/op 1.47
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 11.239 us/op 6.6010 us/op 1.70
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.6110 us/op 4.4490 us/op 1.94
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 119.68 us/op 69.419 us/op 1.72
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2762 ms/op 752.50 us/op 1.70
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.5567 ms/op 641.96 us/op 2.42
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6539 ms/op 1.0186 ms/op 1.62
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.6023 ms/op 1.9452 ms/op 1.34
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2516 ms/op 1.2129 ms/op 1.86
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.5821 ms/op 3.1920 ms/op 1.12
Tree 40 250000 create 205.69 ms/op 173.63 ms/op 1.18
Tree 40 250000 get(125000) 143.99 ns/op 111.22 ns/op 1.29
Tree 40 250000 set(125000) 624.97 ns/op 506.95 ns/op 1.23
Tree 40 250000 toArray() 15.035 ms/op 9.5716 ms/op 1.57
Tree 40 250000 iterate all - toArray() + loop 14.957 ms/op 9.4960 ms/op 1.58
Tree 40 250000 iterate all - get(i) 51.056 ms/op 39.558 ms/op 1.29
MutableVector 250000 create 13.888 ms/op 7.6832 ms/op 1.81
MutableVector 250000 get(125000) 6.4600 ns/op 5.5880 ns/op 1.16
MutableVector 250000 set(125000) 204.24 ns/op 151.38 ns/op 1.35
MutableVector 250000 toArray() 3.4182 ms/op 2.9338 ms/op 1.17
MutableVector 250000 iterate all - toArray() + loop 3.5133 ms/op 3.0193 ms/op 1.16
MutableVector 250000 iterate all - get(i) 1.6440 ms/op 1.5593 ms/op 1.05
Array 250000 create 2.9433 ms/op 2.3377 ms/op 1.26
Array 250000 clone - spread 1.5599 ms/op 1.2525 ms/op 1.25
Array 250000 get(125000) 0.40300 ns/op 0.57500 ns/op 0.70
Array 250000 set(125000) 0.43200 ns/op 0.59800 ns/op 0.72
Array 250000 iterate all - loop 110.38 us/op 77.148 us/op 1.43
effectiveBalanceIncrements clone Uint8Array 300000 30.924 us/op 13.514 us/op 2.29
effectiveBalanceIncrements clone MutableVector 300000 120.00 ns/op 314.00 ns/op 0.38
effectiveBalanceIncrements rw all Uint8Array 300000 198.86 us/op 167.07 us/op 1.19
effectiveBalanceIncrements rw all MutableVector 300000 65.723 ms/op 50.373 ms/op 1.30
phase0 afterProcessEpoch - 250000 vs - 7PWei 88.117 ms/op 76.054 ms/op 1.16
phase0 beforeProcessEpoch - 250000 vs - 7PWei 44.641 ms/op 39.270 ms/op 1.14
altair processEpoch - mainnet_e81889 413.32 ms/op 329.63 ms/op 1.25
mainnet_e81889 - altair beforeProcessEpoch 45.686 ms/op 35.486 ms/op 1.29
mainnet_e81889 - altair processJustificationAndFinalization 18.643 us/op 10.356 us/op 1.80
mainnet_e81889 - altair processInactivityUpdates 5.9030 ms/op 5.4628 ms/op 1.08
mainnet_e81889 - altair processRewardsAndPenalties 69.856 ms/op 46.940 ms/op 1.49
mainnet_e81889 - altair processRegistryUpdates 2.8340 us/op 1.7930 us/op 1.58
mainnet_e81889 - altair processSlashings 660.00 ns/op 824.00 ns/op 0.80
mainnet_e81889 - altair processEth1DataReset 534.00 ns/op 735.00 ns/op 0.73
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.8881 ms/op 1.2955 ms/op 2.23
mainnet_e81889 - altair processSlashingsReset 4.1990 us/op 2.5020 us/op 1.68
mainnet_e81889 - altair processRandaoMixesReset 6.2850 us/op 2.7990 us/op 2.25
mainnet_e81889 - altair processHistoricalRootsUpdate 881.00 ns/op 710.00 ns/op 1.24
mainnet_e81889 - altair processParticipationFlagUpdates 3.4550 us/op 1.5550 us/op 2.22
mainnet_e81889 - altair processSyncCommitteeUpdates 744.00 ns/op 772.00 ns/op 0.96
mainnet_e81889 - altair afterProcessEpoch 91.884 ms/op 79.831 ms/op 1.15
capella processEpoch - mainnet_e217614 1.3537 s/op 1.2421 s/op 1.09
mainnet_e217614 - capella beforeProcessEpoch 238.44 ms/op 236.03 ms/op 1.01
mainnet_e217614 - capella processJustificationAndFinalization 19.680 us/op 11.981 us/op 1.64
mainnet_e217614 - capella processInactivityUpdates 19.302 ms/op 17.211 ms/op 1.12
mainnet_e217614 - capella processRewardsAndPenalties 285.31 ms/op 268.71 ms/op 1.06
mainnet_e217614 - capella processRegistryUpdates 13.129 us/op 13.790 us/op 0.95
mainnet_e217614 - capella processSlashings 644.00 ns/op 875.00 ns/op 0.74
mainnet_e217614 - capella processEth1DataReset 501.00 ns/op 995.00 ns/op 0.50
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.8641 ms/op 15.735 ms/op 0.31
mainnet_e217614 - capella processSlashingsReset 3.4270 us/op 5.5430 us/op 0.62
mainnet_e217614 - capella processRandaoMixesReset 3.4020 us/op 5.1500 us/op 0.66
mainnet_e217614 - capella processHistoricalRootsUpdate 571.00 ns/op 1.5570 us/op 0.37
mainnet_e217614 - capella processParticipationFlagUpdates 2.8220 us/op 1.9510 us/op 1.45
mainnet_e217614 - capella afterProcessEpoch 271.76 ms/op 216.68 ms/op 1.25
phase0 processEpoch - mainnet_e58758 410.55 ms/op 380.87 ms/op 1.08
mainnet_e58758 - phase0 beforeProcessEpoch 109.69 ms/op 121.94 ms/op 0.90
mainnet_e58758 - phase0 processJustificationAndFinalization 21.689 us/op 18.443 us/op 1.18
mainnet_e58758 - phase0 processRewardsAndPenalties 42.306 ms/op 25.891 ms/op 1.63
mainnet_e58758 - phase0 processRegistryUpdates 10.969 us/op 9.1420 us/op 1.20
mainnet_e58758 - phase0 processSlashings 586.00 ns/op 770.00 ns/op 0.76
mainnet_e58758 - phase0 processEth1DataReset 493.00 ns/op 856.00 ns/op 0.58
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.6093 ms/op 1.1723 ms/op 1.37
mainnet_e58758 - phase0 processSlashingsReset 4.6730 us/op 2.7470 us/op 1.70
mainnet_e58758 - phase0 processRandaoMixesReset 6.7520 us/op 2.0440 us/op 3.30
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.0850 us/op 441.00 ns/op 2.46
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.1130 us/op 5.7860 us/op 0.88
mainnet_e58758 - phase0 afterProcessEpoch 78.914 ms/op 70.087 ms/op 1.13
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.9870 ms/op 813.58 us/op 2.44
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.9313 ms/op 1.3944 ms/op 2.10
altair processInactivityUpdates - 250000 normalcase 22.497 ms/op 18.115 ms/op 1.24
altair processInactivityUpdates - 250000 worstcase 23.223 ms/op 17.457 ms/op 1.33
phase0 processRegistryUpdates - 250000 normalcase 10.511 us/op 5.9530 us/op 1.77
phase0 processRegistryUpdates - 250000 badcase_full_deposits 452.54 us/op 302.52 us/op 1.50
phase0 processRegistryUpdates - 250000 worstcase 0.5 141.07 ms/op 110.36 ms/op 1.28
altair processRewardsAndPenalties - 250000 normalcase 60.313 ms/op 44.707 ms/op 1.35
altair processRewardsAndPenalties - 250000 worstcase 55.754 ms/op 36.224 ms/op 1.54
phase0 getAttestationDeltas - 250000 normalcase 6.8026 ms/op 7.2376 ms/op 0.94
phase0 getAttestationDeltas - 250000 worstcase 7.0737 ms/op 8.0911 ms/op 0.87
phase0 processSlashings - 250000 worstcase 119.14 us/op 94.771 us/op 1.26
altair processSyncCommitteeUpdates - 250000 129.55 ms/op 115.98 ms/op 1.12
BeaconState.hashTreeRoot - No change 281.00 ns/op 616.00 ns/op 0.46
BeaconState.hashTreeRoot - 1 full validator 141.48 us/op 137.10 us/op 1.03
BeaconState.hashTreeRoot - 32 full validator 1.3583 ms/op 1.1547 ms/op 1.18
BeaconState.hashTreeRoot - 512 full validator 12.611 ms/op 12.793 ms/op 0.99
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 145.41 us/op 159.80 us/op 0.91
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.2496 ms/op 2.4495 ms/op 0.92
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 27.605 ms/op 31.628 ms/op 0.87
BeaconState.hashTreeRoot - 1 balances 124.84 us/op 120.70 us/op 1.03
BeaconState.hashTreeRoot - 32 balances 1.0486 ms/op 1.0581 ms/op 0.99
BeaconState.hashTreeRoot - 512 balances 10.986 ms/op 6.7121 ms/op 1.64
BeaconState.hashTreeRoot - 250000 balances 205.02 ms/op 216.36 ms/op 0.95
aggregationBits - 2048 els - zipIndexesInBitList 23.315 us/op 31.026 us/op 0.75
byteArrayEquals 32 53.905 ns/op 48.735 ns/op 1.11
Buffer.compare 32 17.832 ns/op 15.542 ns/op 1.15
byteArrayEquals 1024 1.5903 us/op 1.2757 us/op 1.25
Buffer.compare 1024 25.116 ns/op 24.104 ns/op 1.04
byteArrayEquals 16384 25.306 us/op 20.922 us/op 1.21
Buffer.compare 16384 203.16 ns/op 184.75 ns/op 1.10
byteArrayEquals 123687377 190.75 ms/op 157.45 ms/op 1.21
Buffer.compare 123687377 6.1876 ms/op 6.9997 ms/op 0.88
byteArrayEquals 32 - diff last byte 52.625 ns/op 48.414 ns/op 1.09
Buffer.compare 32 - diff last byte 17.323 ns/op 16.244 ns/op 1.07
byteArrayEquals 1024 - diff last byte 1.5881 us/op 1.2996 us/op 1.22
Buffer.compare 1024 - diff last byte 25.967 ns/op 25.156 ns/op 1.03
byteArrayEquals 16384 - diff last byte 25.273 us/op 20.968 us/op 1.21
Buffer.compare 16384 - diff last byte 194.32 ns/op 206.13 ns/op 0.94
byteArrayEquals 123687377 - diff last byte 190.58 ms/op 152.30 ms/op 1.25
Buffer.compare 123687377 - diff last byte 6.1389 ms/op 6.5050 ms/op 0.94
byteArrayEquals 32 - random bytes 5.1240 ns/op 4.8290 ns/op 1.06
Buffer.compare 32 - random bytes 17.224 ns/op 15.669 ns/op 1.10
byteArrayEquals 1024 - random bytes 5.1210 ns/op 4.9140 ns/op 1.04
Buffer.compare 1024 - random bytes 17.255 ns/op 15.435 ns/op 1.12
byteArrayEquals 16384 - random bytes 5.1130 ns/op 4.9280 ns/op 1.04
Buffer.compare 16384 - random bytes 17.207 ns/op 15.685 ns/op 1.10
byteArrayEquals 123687377 - random bytes 6.4900 ns/op 7.9800 ns/op 0.81
Buffer.compare 123687377 - random bytes 19.690 ns/op 18.590 ns/op 1.06
regular array get 100000 times 33.193 us/op 30.655 us/op 1.08
wrappedArray get 100000 times 33.203 us/op 30.494 us/op 1.09
arrayWithProxy get 100000 times 13.206 ms/op 8.8857 ms/op 1.49
ssz.Root.equals 45.993 ns/op 44.216 ns/op 1.04
byteArrayEquals 45.355 ns/op 43.019 ns/op 1.05
Buffer.compare 10.376 ns/op 8.9440 ns/op 1.16
shuffle list - 16384 els 6.3428 ms/op 5.7012 ms/op 1.11
shuffle list - 250000 els 92.521 ms/op 81.917 ms/op 1.13
processSlot - 1 slots 14.253 us/op 11.994 us/op 1.19
processSlot - 32 slots 3.3850 ms/op 2.6349 ms/op 1.28
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 43.621 ms/op 36.560 ms/op 1.19
getCommitteeAssignments - req 1 vs - 250000 vc 2.0879 ms/op 1.7649 ms/op 1.18
getCommitteeAssignments - req 100 vs - 250000 vc 4.0278 ms/op 3.4828 ms/op 1.16
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3061 ms/op 3.7196 ms/op 1.16
findModifiedValidators - 10000 modified validators 242.25 ms/op 216.53 ms/op 1.12
findModifiedValidators - 1000 modified validators 177.50 ms/op 146.48 ms/op 1.21
findModifiedValidators - 100 modified validators 178.11 ms/op 142.39 ms/op 1.25
findModifiedValidators - 10 modified validators 189.04 ms/op 135.05 ms/op 1.40
findModifiedValidators - 1 modified validators 167.23 ms/op 128.43 ms/op 1.30
findModifiedValidators - no difference 168.17 ms/op 156.97 ms/op 1.07
compare ViewDUs 3.1727 s/op 2.9490 s/op 1.08
compare each validator Uint8Array 1.5314 s/op 1.1731 s/op 1.31
compare ViewDU to Uint8Array 1.0130 s/op 725.82 ms/op 1.40
migrate state 1000000 validators, 24 modified, 0 new 633.71 ms/op 508.98 ms/op 1.25
migrate state 1000000 validators, 1700 modified, 1000 new 894.19 ms/op 677.18 ms/op 1.32
migrate state 1000000 validators, 3400 modified, 2000 new 1.1006 s/op 844.18 ms/op 1.30
migrate state 1500000 validators, 24 modified, 0 new 635.37 ms/op 533.91 ms/op 1.19
migrate state 1500000 validators, 1700 modified, 1000 new 880.86 ms/op 858.95 ms/op 1.03
migrate state 1500000 validators, 3400 modified, 2000 new 1.1067 s/op 978.06 ms/op 1.13
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2900 ns/op 7.0400 ns/op 0.61
state getBlockRootAtSlot - 250000 vs - 7PWei 733.53 ns/op 357.81 ns/op 2.05
computeProposers - vc 250000 8.0096 ms/op 5.3130 ms/op 1.51
computeEpochShuffling - vc 250000 93.407 ms/op 83.497 ms/op 1.12
getNextSyncCommittee - vc 250000 126.95 ms/op 94.406 ms/op 1.34
computeSigningRoot for AttestationData 22.492 us/op 15.766 us/op 1.43
hash AttestationData serialized data then Buffer.toString(base64) 1.5007 us/op 1.1652 us/op 1.29
toHexString serialized data 893.73 ns/op 803.09 ns/op 1.11
Buffer.toString(base64) 185.40 ns/op 150.52 ns/op 1.23

by benchmarkbot/action

@wemeetagain wemeetagain merged commit e6c559f into unstable Jun 29, 2024
19 of 20 checks passed
@wemeetagain wemeetagain deleted the nflaig/fix-negative-slots branch June 29, 2024 17:17
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.20.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants