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

test: add a work around for range sync issue during sim tests #6436

Merged
merged 2 commits into from
Feb 16, 2024

Conversation

nazarhussain
Copy link
Contributor

Motivation

Make the sim tests more stable.

Description

A workaround for the issue #6435 during the sim tests. The actual issue should be fixed with proper investigation and detail integration tests.

Steps to test or reproduce

  • Run sim tests

@nazarhussain nazarhussain requested a review from a team as a code owner February 16, 2024 09:33
@nazarhussain nazarhussain self-assigned this Feb 16, 2024
Copy link

codecov bot commented Feb 16, 2024

Codecov Report

Merging #6436 (2925ed6) into unstable (5047410) will not change coverage.
Report is 2 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6436   +/-   ##
=========================================
  Coverage     61.70%   61.70%           
=========================================
  Files           553      553           
  Lines         57858    57858           
  Branches       1829     1829           
=========================================
  Hits          35702    35702           
  Misses        22119    22119           
  Partials         37       37           

Copy link
Contributor

github-actions bot commented Feb 16, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 4fedf13 Previous: 5047410 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 759.91 us/op 567.37 us/op 1.34
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 113.42 us/op 128.02 us/op 0.89
BLS verify - blst-native 1.3348 ms/op 1.3805 ms/op 0.97
BLS verifyMultipleSignatures 3 - blst-native 2.7949 ms/op 2.7995 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst-native 6.1328 ms/op 6.1346 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 22.576 ms/op 22.372 ms/op 1.01
BLS verifyMultipleSignatures 64 - blst-native 44.612 ms/op 44.085 ms/op 1.01
BLS verifyMultipleSignatures 128 - blst-native 88.492 ms/op 87.366 ms/op 1.01
BLS deserializing 10000 signatures 958.72 ms/op 902.65 ms/op 1.06
BLS deserializing 100000 signatures 9.0826 s/op 9.4066 s/op 0.97
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3722 ms/op 1.3366 ms/op 1.03
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5280 ms/op 1.5041 ms/op 1.02
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.3854 ms/op 2.7596 ms/op 0.86
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.5273 ms/op 4.3510 ms/op 0.81
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.6970 ms/op 7.4490 ms/op 0.76
BLS aggregatePubkeys 32 - blst-native 26.045 us/op 27.933 us/op 0.93
BLS aggregatePubkeys 128 - blst-native 102.03 us/op 102.01 us/op 1.00
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 70.324 ms/op 58.345 ms/op 1.21
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 63.995 ms/op 52.854 ms/op 1.21
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 52.503 ms/op 35.635 ms/op 1.47
getSlashingsAndExits - default max 284.10 us/op 154.21 us/op 1.84
getSlashingsAndExits - 2k 778.84 us/op 482.41 us/op 1.61
proposeBlockBody type=full, size=empty 6.8869 ms/op 5.2499 ms/op 1.31
isKnown best case - 1 super set check 702.00 ns/op 487.00 ns/op 1.44
isKnown normal case - 2 super set checks 690.00 ns/op 550.00 ns/op 1.25
isKnown worse case - 16 super set checks 610.00 ns/op 517.00 ns/op 1.18
CheckpointStateCache - add get delete 6.5840 us/op 6.8680 us/op 0.96
validate api signedAggregateAndProof - struct 2.8801 ms/op 2.7953 ms/op 1.03
validate gossip signedAggregateAndProof - struct 2.9086 ms/op 2.7775 ms/op 1.05
validate gossip attestation - vc 640000 1.4284 ms/op 1.3620 ms/op 1.05
batch validate gossip attestation - vc 640000 - chunk 32 180.40 us/op 164.86 us/op 1.09
batch validate gossip attestation - vc 640000 - chunk 64 166.01 us/op 153.14 us/op 1.08
batch validate gossip attestation - vc 640000 - chunk 128 161.15 us/op 153.88 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 256 152.38 us/op 163.42 us/op 0.93
pickEth1Vote - no votes 1.5524 ms/op 1.7412 ms/op 0.89
pickEth1Vote - max votes 13.815 ms/op 15.087 ms/op 0.92
pickEth1Vote - Eth1Data hashTreeRoot value x2048 27.346 ms/op 27.655 ms/op 0.99
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 34.058 ms/op 41.658 ms/op 0.82
pickEth1Vote - Eth1Data fastSerialize value x2048 879.63 us/op 867.30 us/op 1.01
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.6131 ms/op 7.3227 ms/op 0.90
bytes32 toHexString 916.00 ns/op 957.00 ns/op 0.96
bytes32 Buffer.toString(hex) 308.00 ns/op 334.00 ns/op 0.92
bytes32 Buffer.toString(hex) from Uint8Array 631.00 ns/op 598.00 ns/op 1.06
bytes32 Buffer.toString(hex) + 0x 337.00 ns/op 338.00 ns/op 1.00
Object access 1 prop 0.25800 ns/op 0.25300 ns/op 1.02
Map access 1 prop 0.16900 ns/op 0.16500 ns/op 1.02
Object get x1000 10.350 ns/op 7.6870 ns/op 1.35
Map get x1000 0.97200 ns/op 0.92500 ns/op 1.05
Object set x1000 91.493 ns/op 74.847 ns/op 1.22
Map set x1000 66.227 ns/op 56.943 ns/op 1.16
Return object 10000 times 0.31310 ns/op 0.25890 ns/op 1.21
Throw Error 10000 times 4.1541 us/op 4.0829 us/op 1.02
fastMsgIdFn sha256 / 200 bytes 9.2710 us/op 3.5390 us/op 2.62
fastMsgIdFn h32 xxhash / 200 bytes 431.00 ns/op 409.00 ns/op 1.05
fastMsgIdFn h64 xxhash / 200 bytes 472.00 ns/op 417.00 ns/op 1.13
fastMsgIdFn sha256 / 1000 bytes 18.893 us/op 12.263 us/op 1.54
fastMsgIdFn h32 xxhash / 1000 bytes 558.00 ns/op 554.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 1000 bytes 524.00 ns/op 492.00 ns/op 1.07
fastMsgIdFn sha256 / 10000 bytes 162.99 us/op 105.52 us/op 1.54
fastMsgIdFn h32 xxhash / 10000 bytes 2.1630 us/op 2.1730 us/op 1.00
fastMsgIdFn h64 xxhash / 10000 bytes 1.4910 us/op 1.4400 us/op 1.04
send data - 1000 256B messages 27.877 ms/op 23.160 ms/op 1.20
send data - 1000 512B messages 30.432 ms/op 25.378 ms/op 1.20
send data - 1000 1024B messages 51.625 ms/op 47.212 ms/op 1.09
send data - 1000 1200B messages 56.476 ms/op 46.051 ms/op 1.23
send data - 1000 2048B messages 82.948 ms/op 56.373 ms/op 1.47
send data - 1000 4096B messages 78.070 ms/op 51.129 ms/op 1.53
send data - 1000 16384B messages 211.08 ms/op 132.47 ms/op 1.59
send data - 1000 65536B messages 698.45 ms/op 488.11 ms/op 1.43
enrSubnets - fastDeserialize 64 bits 2.0110 us/op 1.6870 us/op 1.19
enrSubnets - ssz BitVector 64 bits 597.00 ns/op 549.00 ns/op 1.09
enrSubnets - fastDeserialize 4 bits 278.00 ns/op 235.00 ns/op 1.18
enrSubnets - ssz BitVector 4 bits 613.00 ns/op 538.00 ns/op 1.14
prioritizePeers score -10:0 att 32-0.1 sync 2-0 139.54 us/op 124.33 us/op 1.12
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 166.91 us/op 143.92 us/op 1.16
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 297.24 us/op 203.03 us/op 1.46
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 556.24 us/op 344.52 us/op 1.61
prioritizePeers score 0:0 att 64-1 sync 4-1 490.73 us/op 382.66 us/op 1.28
array of 16000 items push then shift 1.8225 us/op 1.6871 us/op 1.08
LinkedList of 16000 items push then shift 12.249 ns/op 9.6140 ns/op 1.27
array of 16000 items push then pop 141.68 ns/op 123.96 ns/op 1.14
LinkedList of 16000 items push then pop 9.8050 ns/op 9.6830 ns/op 1.01
array of 24000 items push then shift 2.6026 us/op 2.8253 us/op 0.92
LinkedList of 24000 items push then shift 9.9700 ns/op 9.5910 ns/op 1.04
array of 24000 items push then pop 180.03 ns/op 174.00 ns/op 1.03
LinkedList of 24000 items push then pop 9.9960 ns/op 9.1160 ns/op 1.10
intersect bitArray bitLen 8 6.3530 ns/op 5.9680 ns/op 1.06
intersect array and set length 8 98.182 ns/op 85.750 ns/op 1.14
intersect bitArray bitLen 128 38.353 ns/op 35.716 ns/op 1.07
intersect array and set length 128 1.2132 us/op 1.0162 us/op 1.19
bitArray.getTrueBitIndexes() bitLen 128 2.0770 us/op 1.8060 us/op 1.15
bitArray.getTrueBitIndexes() bitLen 248 3.4490 us/op 2.8770 us/op 1.20
bitArray.getTrueBitIndexes() bitLen 512 7.7000 us/op 6.0300 us/op 1.28
Buffer.concat 32 items 1.1690 us/op 1.0460 us/op 1.12
Uint8Array.set 32 items 2.6130 us/op 2.0700 us/op 1.26
Set add up to 64 items then delete first 5.1464 us/op 5.0893 us/op 1.01
OrderedSet add up to 64 items then delete first 6.9481 us/op 6.6284 us/op 1.05
Set add up to 64 items then delete last 5.5471 us/op 5.2553 us/op 1.06
OrderedSet add up to 64 items then delete last 7.3293 us/op 6.9138 us/op 1.06
Set add up to 64 items then delete middle 5.4714 us/op 5.4077 us/op 1.01
OrderedSet add up to 64 items then delete middle 8.6236 us/op 8.3559 us/op 1.03
Set add up to 128 items then delete first 11.308 us/op 10.664 us/op 1.06
OrderedSet add up to 128 items then delete first 15.714 us/op 13.847 us/op 1.13
Set add up to 128 items then delete last 11.279 us/op 10.484 us/op 1.08
OrderedSet add up to 128 items then delete last 15.710 us/op 12.706 us/op 1.24
Set add up to 128 items then delete middle 11.123 us/op 9.8880 us/op 1.12
OrderedSet add up to 128 items then delete middle 20.477 us/op 19.224 us/op 1.07
Set add up to 256 items then delete first 22.300 us/op 21.243 us/op 1.05
OrderedSet add up to 256 items then delete first 30.338 us/op 28.358 us/op 1.07
Set add up to 256 items then delete last 21.573 us/op 19.868 us/op 1.09
OrderedSet add up to 256 items then delete last 29.585 us/op 27.093 us/op 1.09
Set add up to 256 items then delete middle 21.482 us/op 21.829 us/op 0.98
OrderedSet add up to 256 items then delete middle 52.441 us/op 51.492 us/op 1.02
transfer serialized Status (84 B) 2.0760 us/op 1.9690 us/op 1.05
copy serialized Status (84 B) 1.5700 us/op 1.4370 us/op 1.09
transfer serialized SignedVoluntaryExit (112 B) 2.3180 us/op 2.0550 us/op 1.13
copy serialized SignedVoluntaryExit (112 B) 1.6310 us/op 1.4350 us/op 1.14
transfer serialized ProposerSlashing (416 B) 3.4160 us/op 2.8030 us/op 1.22
copy serialized ProposerSlashing (416 B) 3.1450 us/op 2.1790 us/op 1.44
transfer serialized Attestation (485 B) 3.5990 us/op 3.1850 us/op 1.13
copy serialized Attestation (485 B) 2.9990 us/op 2.9800 us/op 1.01
transfer serialized AttesterSlashing (33232 B) 2.6560 us/op 3.0800 us/op 0.86
copy serialized AttesterSlashing (33232 B) 9.4470 us/op 8.5710 us/op 1.10
transfer serialized Small SignedBeaconBlock (128000 B) 3.0710 us/op 3.0620 us/op 1.00
copy serialized Small SignedBeaconBlock (128000 B) 26.215 us/op 20.920 us/op 1.25
transfer serialized Avg SignedBeaconBlock (200000 B) 4.3280 us/op 3.3590 us/op 1.29
copy serialized Avg SignedBeaconBlock (200000 B) 47.395 us/op 34.662 us/op 1.37
transfer serialized BlobsSidecar (524380 B) 4.3500 us/op 2.9080 us/op 1.50
copy serialized BlobsSidecar (524380 B) 134.03 us/op 187.39 us/op 0.72
transfer serialized Big SignedBeaconBlock (1000000 B) 3.9520 us/op 3.1940 us/op 1.24
copy serialized Big SignedBeaconBlock (1000000 B) 262.60 us/op 178.85 us/op 1.47
pass gossip attestations to forkchoice per slot 4.8072 ms/op 4.4913 ms/op 1.07
forkChoice updateHead vc 100000 bc 64 eq 0 714.61 us/op 697.57 us/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 0 6.0833 ms/op 5.9726 ms/op 1.02
forkChoice updateHead vc 1000000 bc 64 eq 0 7.9257 ms/op 7.9067 ms/op 1.00
forkChoice updateHead vc 600000 bc 320 eq 0 4.5257 ms/op 4.7014 ms/op 0.96
forkChoice updateHead vc 600000 bc 1200 eq 0 4.6593 ms/op 4.5150 ms/op 1.03
forkChoice updateHead vc 600000 bc 7200 eq 0 5.9138 ms/op 5.4743 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 1000 11.844 ms/op 11.740 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 10000 12.518 ms/op 12.790 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 300000 20.955 ms/op 23.902 ms/op 0.88
computeDeltas 500000 validators 300 proto nodes 8.5936 ms/op 6.8151 ms/op 1.26
computeDeltas 500000 validators 1200 proto nodes 8.7225 ms/op 6.9965 ms/op 1.25
computeDeltas 500000 validators 7200 proto nodes 7.4773 ms/op 6.9422 ms/op 1.08
computeDeltas 750000 validators 300 proto nodes 10.651 ms/op 10.717 ms/op 0.99
computeDeltas 750000 validators 1200 proto nodes 10.087 ms/op 10.713 ms/op 0.94
computeDeltas 750000 validators 7200 proto nodes 9.7888 ms/op 11.047 ms/op 0.89
computeDeltas 1400000 validators 300 proto nodes 19.183 ms/op 19.289 ms/op 0.99
computeDeltas 1400000 validators 1200 proto nodes 19.106 ms/op 19.487 ms/op 0.98
computeDeltas 1400000 validators 7200 proto nodes 19.287 ms/op 19.048 ms/op 1.01
computeDeltas 2100000 validators 300 proto nodes 29.789 ms/op 29.643 ms/op 1.00
computeDeltas 2100000 validators 1200 proto nodes 30.823 ms/op 31.045 ms/op 0.99
computeDeltas 2100000 validators 7200 proto nodes 31.911 ms/op 30.478 ms/op 1.05
altair processAttestation - 250000 vs - 7PWei normalcase 4.1154 ms/op 3.1319 ms/op 1.31
altair processAttestation - 250000 vs - 7PWei worstcase 4.7985 ms/op 3.8259 ms/op 1.25
altair processAttestation - setStatus - 1/6 committees join 218.62 us/op 192.63 us/op 1.13
altair processAttestation - setStatus - 1/3 committees join 458.21 us/op 363.52 us/op 1.26
altair processAttestation - setStatus - 1/2 committees join 543.63 us/op 512.77 us/op 1.06
altair processAttestation - setStatus - 2/3 committees join 691.96 us/op 647.23 us/op 1.07
altair processAttestation - setStatus - 4/5 committees join 888.47 us/op 809.63 us/op 1.10
altair processAttestation - setStatus - 100% committees join 972.36 us/op 943.76 us/op 1.03
altair processBlock - 250000 vs - 7PWei normalcase 11.378 ms/op 10.606 ms/op 1.07
altair processBlock - 250000 vs - 7PWei normalcase hashState 37.462 ms/op 37.947 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase 41.454 ms/op 44.672 ms/op 0.93
altair processBlock - 250000 vs - 7PWei worstcase hashState 104.75 ms/op 101.69 ms/op 1.03
phase0 processBlock - 250000 vs - 7PWei normalcase 3.0613 ms/op 3.1982 ms/op 0.96
phase0 processBlock - 250000 vs - 7PWei worstcase 34.018 ms/op 33.084 ms/op 1.03
altair processEth1Data - 250000 vs - 7PWei normalcase 758.16 us/op 739.99 us/op 1.02
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 12.356 us/op 21.236 us/op 0.58
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 42.185 us/op 93.685 us/op 0.45
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 24.704 us/op 34.050 us/op 0.73
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 13.066 us/op 19.054 us/op 0.69
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 177.98 us/op 218.03 us/op 0.82
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2980 ms/op 1.4807 ms/op 0.88
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7764 ms/op 1.9923 ms/op 0.89
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.8364 ms/op 1.9960 ms/op 0.92
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.8513 ms/op 4.5949 ms/op 0.84
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.7463 ms/op 3.1578 ms/op 0.87
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.6578 ms/op 6.3748 ms/op 1.04
Tree 40 250000 create 380.30 ms/op 596.63 ms/op 0.64
Tree 40 250000 get(125000) 198.69 ns/op 236.53 ns/op 0.84
Tree 40 250000 set(125000) 1.1551 us/op 1.9345 us/op 0.60
Tree 40 250000 toArray() 23.637 ms/op 26.739 ms/op 0.88
Tree 40 250000 iterate all - toArray() + loop 24.036 ms/op 28.499 ms/op 0.84
Tree 40 250000 iterate all - get(i) 77.450 ms/op 77.798 ms/op 1.00
MutableVector 250000 create 15.804 ms/op 17.634 ms/op 0.90
MutableVector 250000 get(125000) 7.0290 ns/op 6.8960 ns/op 1.02
MutableVector 250000 set(125000) 539.62 ns/op 623.95 ns/op 0.86
MutableVector 250000 toArray() 4.1041 ms/op 4.4413 ms/op 0.92
MutableVector 250000 iterate all - toArray() + loop 4.5342 ms/op 4.9579 ms/op 0.91
MutableVector 250000 iterate all - get(i) 1.6715 ms/op 1.7556 ms/op 0.95
Array 250000 create 4.7669 ms/op 4.6604 ms/op 1.02
Array 250000 clone - spread 3.3271 ms/op 4.3599 ms/op 0.76
Array 250000 get(125000) 2.9210 ns/op 2.8220 ns/op 1.04
Array 250000 set(125000) 6.2290 ns/op 5.8740 ns/op 1.06
Array 250000 iterate all - loop 183.94 us/op 223.12 us/op 0.82
effectiveBalanceIncrements clone Uint8Array 300000 48.320 us/op 75.148 us/op 0.64
effectiveBalanceIncrements clone MutableVector 300000 496.00 ns/op 1.7170 us/op 0.29
effectiveBalanceIncrements rw all Uint8Array 300000 209.47 us/op 281.45 us/op 0.74
effectiveBalanceIncrements rw all MutableVector 300000 107.70 ms/op 179.59 ms/op 0.60
phase0 afterProcessEpoch - 250000 vs - 7PWei 136.02 ms/op 123.12 ms/op 1.10
phase0 beforeProcessEpoch - 250000 vs - 7PWei 49.226 ms/op 66.953 ms/op 0.74
altair processEpoch - mainnet_e81889 573.92 ms/op 624.82 ms/op 0.92
mainnet_e81889 - altair beforeProcessEpoch 103.43 ms/op 114.69 ms/op 0.90
mainnet_e81889 - altair processJustificationAndFinalization 16.172 us/op 24.715 us/op 0.65
mainnet_e81889 - altair processInactivityUpdates 6.7599 ms/op 9.2658 ms/op 0.73
mainnet_e81889 - altair processRewardsAndPenalties 69.248 ms/op 93.928 ms/op 0.74
mainnet_e81889 - altair processRegistryUpdates 2.4100 us/op 5.7200 us/op 0.42
mainnet_e81889 - altair processSlashings 468.00 ns/op 1.0280 us/op 0.46
mainnet_e81889 - altair processEth1DataReset 497.00 ns/op 1.1370 us/op 0.44
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.5367 ms/op 2.0436 ms/op 0.75
mainnet_e81889 - altair processSlashingsReset 6.2540 us/op 6.9500 us/op 0.90
mainnet_e81889 - altair processRandaoMixesReset 5.2330 us/op 10.773 us/op 0.49
mainnet_e81889 - altair processHistoricalRootsUpdate 619.00 ns/op 1.6250 us/op 0.38
mainnet_e81889 - altair processParticipationFlagUpdates 1.7890 us/op 3.3860 us/op 0.53
mainnet_e81889 - altair processSyncCommitteeUpdates 756.00 ns/op 1.3530 us/op 0.56
mainnet_e81889 - altair afterProcessEpoch 122.47 ms/op 127.86 ms/op 0.96
capella processEpoch - mainnet_e217614 2.3657 s/op 2.8737 s/op 0.82
mainnet_e217614 - capella beforeProcessEpoch 492.45 ms/op 620.90 ms/op 0.79
mainnet_e217614 - capella processJustificationAndFinalization 29.757 us/op 29.799 us/op 1.00
mainnet_e217614 - capella processInactivityUpdates 29.478 ms/op 29.475 ms/op 1.00
mainnet_e217614 - capella processRewardsAndPenalties 441.40 ms/op 516.64 ms/op 0.85
mainnet_e217614 - capella processRegistryUpdates 32.029 us/op 41.699 us/op 0.77
mainnet_e217614 - capella processSlashings 556.00 ns/op 1.8810 us/op 0.30
mainnet_e217614 - capella processEth1DataReset 539.00 ns/op 1.1580 us/op 0.47
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.7318 ms/op 8.4251 ms/op 0.56
mainnet_e217614 - capella processSlashingsReset 4.0310 us/op 8.6970 us/op 0.46
mainnet_e217614 - capella processRandaoMixesReset 8.3050 us/op 10.889 us/op 0.76
mainnet_e217614 - capella processHistoricalRootsUpdate 961.00 ns/op 1.0790 us/op 0.89
mainnet_e217614 - capella processParticipationFlagUpdates 4.4840 us/op 3.9190 us/op 1.14
mainnet_e217614 - capella afterProcessEpoch 326.33 ms/op 318.59 ms/op 1.02
phase0 processEpoch - mainnet_e58758 581.42 ms/op 514.19 ms/op 1.13
mainnet_e58758 - phase0 beforeProcessEpoch 187.22 ms/op 186.65 ms/op 1.00
mainnet_e58758 - phase0 processJustificationAndFinalization 27.988 us/op 34.609 us/op 0.81
mainnet_e58758 - phase0 processRewardsAndPenalties 42.942 ms/op 41.353 ms/op 1.04
mainnet_e58758 - phase0 processRegistryUpdates 13.777 us/op 15.746 us/op 0.87
mainnet_e58758 - phase0 processSlashings 555.00 ns/op 601.00 ns/op 0.92
mainnet_e58758 - phase0 processEth1DataReset 526.00 ns/op 692.00 ns/op 0.76
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1892 ms/op 1.7268 ms/op 0.69
mainnet_e58758 - phase0 processSlashingsReset 4.0930 us/op 5.7990 us/op 0.71
mainnet_e58758 - phase0 processRandaoMixesReset 6.3910 us/op 9.3900 us/op 0.68
mainnet_e58758 - phase0 processHistoricalRootsUpdate 464.00 ns/op 1.7030 us/op 0.27
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.1350 us/op 10.585 us/op 0.39
mainnet_e58758 - phase0 afterProcessEpoch 99.556 ms/op 124.34 ms/op 0.80
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4203 ms/op 2.3332 ms/op 0.61
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5374 ms/op 3.5032 ms/op 0.44
altair processInactivityUpdates - 250000 normalcase 26.113 ms/op 44.049 ms/op 0.59
altair processInactivityUpdates - 250000 worstcase 27.474 ms/op 43.490 ms/op 0.63
phase0 processRegistryUpdates - 250000 normalcase 9.9130 us/op 18.671 us/op 0.53
phase0 processRegistryUpdates - 250000 badcase_full_deposits 403.21 us/op 819.45 us/op 0.49
phase0 processRegistryUpdates - 250000 worstcase 0.5 144.64 ms/op 244.52 ms/op 0.59
altair processRewardsAndPenalties - 250000 normalcase 61.858 ms/op 86.319 ms/op 0.72
altair processRewardsAndPenalties - 250000 worstcase 62.098 ms/op 77.335 ms/op 0.80
phase0 getAttestationDeltas - 250000 normalcase 10.420 ms/op 15.718 ms/op 0.66
phase0 getAttestationDeltas - 250000 worstcase 11.906 ms/op 17.447 ms/op 0.68
phase0 processSlashings - 250000 worstcase 116.74 us/op 152.94 us/op 0.76
altair processSyncCommitteeUpdates - 250000 170.92 ms/op 222.41 ms/op 0.77
BeaconState.hashTreeRoot - No change 502.00 ns/op 1.0850 us/op 0.46
BeaconState.hashTreeRoot - 1 full validator 120.25 us/op 224.24 us/op 0.54
BeaconState.hashTreeRoot - 32 full validator 1.2381 ms/op 1.8792 ms/op 0.66
BeaconState.hashTreeRoot - 512 full validator 14.538 ms/op 22.899 ms/op 0.63
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 157.42 us/op 223.78 us/op 0.70
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.1820 ms/op 3.0664 ms/op 0.71
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 28.527 ms/op 56.950 ms/op 0.50
BeaconState.hashTreeRoot - 1 balances 124.84 us/op 200.70 us/op 0.62
BeaconState.hashTreeRoot - 32 balances 1.1730 ms/op 1.5517 ms/op 0.76
BeaconState.hashTreeRoot - 512 balances 11.134 ms/op 18.835 ms/op 0.59
BeaconState.hashTreeRoot - 250000 balances 184.76 ms/op 289.87 ms/op 0.64
aggregationBits - 2048 els - zipIndexesInBitList 20.025 us/op 45.859 us/op 0.44
byteArrayEquals 32 77.325 ns/op 113.09 ns/op 0.68
Buffer.compare 32 58.073 ns/op 73.344 ns/op 0.79
byteArrayEquals 1024 2.1108 us/op 3.1607 us/op 0.67
Buffer.compare 1024 72.551 ns/op 90.057 ns/op 0.81
byteArrayEquals 16384 33.608 us/op 43.562 us/op 0.77
Buffer.compare 16384 268.91 ns/op 361.56 ns/op 0.74
byteArrayEquals 123687377 245.85 ms/op 357.55 ms/op 0.69
Buffer.compare 123687377 6.0439 ms/op 9.7299 ms/op 0.62
byteArrayEquals 32 - diff last byte 71.218 ns/op 109.46 ns/op 0.65
Buffer.compare 32 - diff last byte 54.827 ns/op 75.556 ns/op 0.73
byteArrayEquals 1024 - diff last byte 1.9655 us/op 2.8821 us/op 0.68
Buffer.compare 1024 - diff last byte 68.701 ns/op 85.454 ns/op 0.80
byteArrayEquals 16384 - diff last byte 31.351 us/op 47.653 us/op 0.66
Buffer.compare 16384 - diff last byte 240.60 ns/op 347.83 ns/op 0.69
byteArrayEquals 123687377 - diff last byte 245.51 ms/op 278.16 ms/op 0.88
Buffer.compare 123687377 - diff last byte 6.7952 ms/op 9.7387 ms/op 0.70
byteArrayEquals 32 - random bytes 5.3320 ns/op 7.5800 ns/op 0.70
Buffer.compare 32 - random bytes 59.248 ns/op 64.942 ns/op 0.91
byteArrayEquals 1024 - random bytes 5.1980 ns/op 6.8400 ns/op 0.76
Buffer.compare 1024 - random bytes 60.151 ns/op 65.262 ns/op 0.92
byteArrayEquals 16384 - random bytes 5.2160 ns/op 6.7360 ns/op 0.77
Buffer.compare 16384 - random bytes 60.254 ns/op 65.551 ns/op 0.92
byteArrayEquals 123687377 - random bytes 8.5800 ns/op 13.690 ns/op 0.63
Buffer.compare 123687377 - random bytes 63.520 ns/op 77.540 ns/op 0.82
regular array get 100000 times 44.124 us/op 49.343 us/op 0.89
wrappedArray get 100000 times 44.109 us/op 48.241 us/op 0.91
arrayWithProxy get 100000 times 14.216 ms/op 15.283 ms/op 0.93
ssz.Root.equals 54.053 ns/op 56.881 ns/op 0.95
byteArrayEquals 52.921 ns/op 57.299 ns/op 0.92
Buffer.compare 10.772 ns/op 12.642 ns/op 0.85
shuffle list - 16384 els 6.9497 ms/op 8.5063 ms/op 0.82
shuffle list - 250000 els 103.77 ms/op 128.09 ms/op 0.81
processSlot - 1 slots 14.927 us/op 19.899 us/op 0.75
processSlot - 32 slots 3.3055 ms/op 4.9444 ms/op 0.67
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.888 ms/op 65.914 ms/op 0.88
getCommitteeAssignments - req 1 vs - 250000 vc 2.5468 ms/op 2.5745 ms/op 0.99
getCommitteeAssignments - req 100 vs - 250000 vc 3.7328 ms/op 3.8158 ms/op 0.98
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0658 ms/op 4.2124 ms/op 0.97
findModifiedValidators - 10000 modified validators 539.40 ms/op 576.48 ms/op 0.94
findModifiedValidators - 1000 modified validators 454.69 ms/op 467.57 ms/op 0.97
findModifiedValidators - 100 modified validators 448.16 ms/op 476.37 ms/op 0.94
findModifiedValidators - 10 modified validators 433.31 ms/op 462.56 ms/op 0.94
findModifiedValidators - 1 modified validators 393.82 ms/op 433.77 ms/op 0.91
findModifiedValidators - no difference 434.77 ms/op 441.46 ms/op 0.98
compare ViewDUs 4.8443 s/op 4.8342 s/op 1.00
compare each validator Uint8Array 1.6355 s/op 2.0622 s/op 0.79
compare ViewDU to Uint8Array 1.3259 s/op 1.4182 s/op 0.93
migrate state 1000000 validators, 24 modified, 0 new 769.21 ms/op 814.33 ms/op 0.94
migrate state 1000000 validators, 1700 modified, 1000 new 1.1243 s/op 1.1931 s/op 0.94
migrate state 1000000 validators, 3400 modified, 2000 new 1.3450 s/op 1.8988 s/op 0.71
migrate state 1500000 validators, 24 modified, 0 new 830.81 ms/op 1.1906 s/op 0.70
migrate state 1500000 validators, 1700 modified, 1000 new 1.0504 s/op 1.5775 s/op 0.67
migrate state 1500000 validators, 3400 modified, 2000 new 1.2552 s/op 1.9252 s/op 0.65
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2200 ns/op 5.4800 ns/op 0.77
state getBlockRootAtSlot - 250000 vs - 7PWei 620.03 ns/op 1.0725 us/op 0.58
computeProposers - vc 250000 10.133 ms/op 12.907 ms/op 0.79
computeEpochShuffling - vc 250000 105.41 ms/op 129.27 ms/op 0.82
getNextSyncCommittee - vc 250000 158.89 ms/op 240.55 ms/op 0.66
computeSigningRoot for AttestationData 26.058 us/op 37.601 us/op 0.69
hash AttestationData serialized data then Buffer.toString(base64) 6.1501 us/op 2.6157 us/op 2.35
toHexString serialized data 1.0761 us/op 1.9016 us/op 0.57
Buffer.toString(base64) 219.06 ns/op 293.92 ns/op 0.75

by benchmarkbot/action

matthewkeil
matthewkeil previously approved these changes Feb 16, 2024
Copy link
Member

@matthewkeil matthewkeil left a comment

Choose a reason for hiding this comment

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

LGTM! 🎸

@nazarhussain nazarhussain merged commit d01c542 into unstable Feb 16, 2024
14 of 15 checks passed
@nazarhussain nazarhussain deleted the nh/range-sync-workaround branch February 16, 2024 10:39
@wemeetagain
Copy link
Member

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

4 participants