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

feat: add support for mixed beacon-validator sim tests #5885

Merged
merged 15 commits into from
Aug 21, 2023

Conversation

nazarhussain
Copy link
Contributor

@nazarhussain nazarhussain commented Aug 14, 2023

Motivation

Use the simulation tests to detect early failures.

Description

  • Add the support for mixed beacon/validator simulation tests.
  • Decouple the beacon and validator implementation for sim tests
  • Split CLClient to BeaconClient and ValidatorClient
  • Renamed ELClient to ExecutionClient
  • Extended the NodePair to have optional validator as ValidatorNode.

Steps to test or reproduce

Run all tests.

@github-actions
Copy link
Contributor

github-actions bot commented Aug 14, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 2e38b44 Previous: f9c7107 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 709.86 us/op 578.88 us/op 1.23
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 107.78 us/op 87.076 us/op 1.24
BLS verify - blst-native 1.5959 ms/op 1.2935 ms/op 1.23
BLS verifyMultipleSignatures 3 - blst-native 3.3370 ms/op 2.5680 ms/op 1.30
BLS verifyMultipleSignatures 8 - blst-native 7.9413 ms/op 5.5676 ms/op 1.43
BLS verifyMultipleSignatures 32 - blst-native 26.079 ms/op 19.785 ms/op 1.32
BLS aggregatePubkeys 32 - blst-native 33.543 us/op 27.206 us/op 1.23
BLS aggregatePubkeys 128 - blst-native 135.06 us/op 103.56 us/op 1.30
getAttestationsForBlock 78.089 ms/op 59.705 ms/op 1.31
isKnown best case - 1 super set check 538.00 ns/op 270.00 ns/op 1.99
isKnown normal case - 2 super set checks 462.00 ns/op 265.00 ns/op 1.74
isKnown worse case - 16 super set checks 494.00 ns/op 277.00 ns/op 1.78
CheckpointStateCache - add get delete 7.1360 us/op 5.0530 us/op 1.41
validate api signedAggregateAndProof - struct 3.5795 ms/op 2.7690 ms/op 1.29
validate gossip signedAggregateAndProof - struct 3.5957 ms/op 2.7732 ms/op 1.30
validate api attestation - struct 1.8763 ms/op 1.3323 ms/op 1.41
validate gossip attestation - struct 2.1715 ms/op 1.3531 ms/op 1.60
pickEth1Vote - no votes 1.7775 ms/op 1.2214 ms/op 1.46
pickEth1Vote - max votes 17.392 ms/op 8.7107 ms/op 2.00
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.846 ms/op 8.4041 ms/op 1.65
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.423 ms/op 15.851 ms/op 1.41
pickEth1Vote - Eth1Data fastSerialize value x2048 925.76 us/op 601.72 us/op 1.54
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.0018 ms/op 6.7168 ms/op 1.34
bytes32 toHexString 931.00 ns/op 612.00 ns/op 1.52
bytes32 Buffer.toString(hex) 447.00 ns/op 297.00 ns/op 1.51
bytes32 Buffer.toString(hex) from Uint8Array 649.00 ns/op 501.00 ns/op 1.30
bytes32 Buffer.toString(hex) + 0x 464.00 ns/op 295.00 ns/op 1.57
Object access 1 prop 0.27300 ns/op 0.19700 ns/op 1.39
Map access 1 prop 0.18900 ns/op 0.15300 ns/op 1.24
Object get x1000 11.244 ns/op 7.5920 ns/op 1.48
Map get x1000 1.0260 ns/op 0.64200 ns/op 1.60
Object set x1000 88.554 ns/op 52.004 ns/op 1.70
Map set x1000 69.223 ns/op 40.783 ns/op 1.70
Return object 10000 times 0.36610 ns/op 0.24170 ns/op 1.51
Throw Error 10000 times 6.2674 us/op 3.8680 us/op 1.62
fastMsgIdFn sha256 / 200 bytes 4.7450 us/op 3.3490 us/op 1.42
fastMsgIdFn h32 xxhash / 200 bytes 396.00 ns/op 313.00 ns/op 1.27
fastMsgIdFn h64 xxhash / 200 bytes 519.00 ns/op 384.00 ns/op 1.35
fastMsgIdFn sha256 / 1000 bytes 14.825 us/op 11.599 us/op 1.28
fastMsgIdFn h32 xxhash / 1000 bytes 571.00 ns/op 462.00 ns/op 1.24
fastMsgIdFn h64 xxhash / 1000 bytes 585.00 ns/op 464.00 ns/op 1.26
fastMsgIdFn sha256 / 10000 bytes 129.53 us/op 104.67 us/op 1.24
fastMsgIdFn h32 xxhash / 10000 bytes 2.5140 us/op 1.9390 us/op 1.30
fastMsgIdFn h64 xxhash / 10000 bytes 1.6980 us/op 1.3270 us/op 1.28
enrSubnets - fastDeserialize 64 bits 1.8030 us/op 1.2840 us/op 1.40
enrSubnets - ssz BitVector 64 bits 647.00 ns/op 472.00 ns/op 1.37
enrSubnets - fastDeserialize 4 bits 282.00 ns/op 183.00 ns/op 1.54
enrSubnets - ssz BitVector 4 bits 672.00 ns/op 458.00 ns/op 1.47
prioritizePeers score -10:0 att 32-0.1 sync 2-0 155.41 us/op 113.06 us/op 1.37
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 194.38 us/op 146.70 us/op 1.32
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 256.06 us/op 180.19 us/op 1.42
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 478.06 us/op 314.15 us/op 1.52
prioritizePeers score 0:0 att 64-1 sync 4-1 504.88 us/op 374.01 us/op 1.35
array of 16000 items push then shift 2.1455 us/op 1.6138 us/op 1.33
LinkedList of 16000 items push then shift 12.118 ns/op 9.4880 ns/op 1.28
array of 16000 items push then pop 80.786 ns/op 67.494 ns/op 1.20
LinkedList of 16000 items push then pop 11.612 ns/op 8.8580 ns/op 1.31
array of 24000 items push then shift 3.4441 us/op 2.5482 us/op 1.35
LinkedList of 24000 items push then shift 12.570 ns/op 9.3500 ns/op 1.34
array of 24000 items push then pop 255.01 ns/op 120.80 ns/op 2.11
LinkedList of 24000 items push then pop 12.718 ns/op 8.8270 ns/op 1.44
intersect bitArray bitLen 8 9.4550 ns/op 6.9950 ns/op 1.35
intersect array and set length 8 121.33 ns/op 55.497 ns/op 2.19
intersect bitArray bitLen 128 43.091 ns/op 32.366 ns/op 1.33
intersect array and set length 128 1.3397 us/op 804.67 ns/op 1.66
bitArray.getTrueBitIndexes() bitLen 128 2.3090 us/op 1.6260 us/op 1.42
bitArray.getTrueBitIndexes() bitLen 248 3.8600 us/op 2.7580 us/op 1.40
bitArray.getTrueBitIndexes() bitLen 512 7.4540 us/op 5.4150 us/op 1.38
Buffer.concat 32 items 1.3530 us/op 971.00 ns/op 1.39
Uint8Array.set 32 items 2.3430 us/op 1.7650 us/op 1.33
Set add up to 64 items then delete first 5.7215 us/op 4.3179 us/op 1.33
OrderedSet add up to 64 items then delete first 7.3838 us/op 5.5857 us/op 1.32
Set add up to 64 items then delete last 6.3401 us/op 4.8118 us/op 1.32
OrderedSet add up to 64 items then delete last 7.3814 us/op 6.2307 us/op 1.18
Set add up to 64 items then delete middle 5.8557 us/op 4.7047 us/op 1.24
OrderedSet add up to 64 items then delete middle 10.176 us/op 7.4636 us/op 1.36
Set add up to 128 items then delete first 12.337 us/op 9.3555 us/op 1.32
OrderedSet add up to 128 items then delete first 16.480 us/op 11.663 us/op 1.41
Set add up to 128 items then delete last 12.071 us/op 9.2750 us/op 1.30
OrderedSet add up to 128 items then delete last 15.823 us/op 12.364 us/op 1.28
Set add up to 128 items then delete middle 12.392 us/op 9.1813 us/op 1.35
OrderedSet add up to 128 items then delete middle 23.143 us/op 18.020 us/op 1.28
Set add up to 256 items then delete first 24.917 us/op 19.791 us/op 1.26
OrderedSet add up to 256 items then delete first 33.655 us/op 24.596 us/op 1.37
Set add up to 256 items then delete last 24.284 us/op 19.949 us/op 1.22
OrderedSet add up to 256 items then delete last 31.086 us/op 24.836 us/op 1.25
Set add up to 256 items then delete middle 24.096 us/op 19.012 us/op 1.27
OrderedSet add up to 256 items then delete middle 60.990 us/op 48.629 us/op 1.25
transfer serialized Status (84 B) 2.2690 us/op 1.9480 us/op 1.16
copy serialized Status (84 B) 1.9850 us/op 1.7430 us/op 1.14
transfer serialized SignedVoluntaryExit (112 B) 2.4290 us/op 2.1950 us/op 1.11
copy serialized SignedVoluntaryExit (112 B) 2.1170 us/op 1.8010 us/op 1.18
transfer serialized ProposerSlashing (416 B) 2.7020 us/op 2.7070 us/op 1.00
copy serialized ProposerSlashing (416 B) 2.9570 us/op 3.0480 us/op 0.97
transfer serialized Attestation (485 B) 2.9450 us/op 2.6890 us/op 1.10
copy serialized Attestation (485 B) 2.4860 us/op 2.9240 us/op 0.85
transfer serialized AttesterSlashing (33232 B) 2.5900 us/op 2.3390 us/op 1.11
copy serialized AttesterSlashing (33232 B) 5.6450 us/op 6.2370 us/op 0.91
transfer serialized Small SignedBeaconBlock (128000 B) 3.0220 us/op 2.4840 us/op 1.22
copy serialized Small SignedBeaconBlock (128000 B) 14.254 us/op 15.691 us/op 0.91
transfer serialized Avg SignedBeaconBlock (200000 B) 3.4100 us/op 3.7000 us/op 0.92
copy serialized Avg SignedBeaconBlock (200000 B) 21.086 us/op 25.847 us/op 0.82
transfer serialized BlobsSidecar (524380 B) 3.5220 us/op 4.2130 us/op 0.84
copy serialized BlobsSidecar (524380 B) 87.276 us/op 135.07 us/op 0.65
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3510 us/op 4.1450 us/op 0.81
copy serialized Big SignedBeaconBlock (1000000 B) 157.34 us/op 212.94 us/op 0.74
pass gossip attestations to forkchoice per slot 4.7608 ms/op 4.8873 ms/op 0.97
forkChoice updateHead vc 100000 bc 64 eq 0 871.55 us/op 840.45 us/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 0 5.3351 ms/op 4.3775 ms/op 1.22
forkChoice updateHead vc 1000000 bc 64 eq 0 8.7496 ms/op 7.2338 ms/op 1.21
forkChoice updateHead vc 600000 bc 320 eq 0 4.8443 ms/op 4.3799 ms/op 1.11
forkChoice updateHead vc 600000 bc 1200 eq 0 5.1735 ms/op 4.5277 ms/op 1.14
forkChoice updateHead vc 600000 bc 7200 eq 0 6.4375 ms/op 5.5257 ms/op 1.17
forkChoice updateHead vc 600000 bc 64 eq 1000 13.654 ms/op 12.199 ms/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 10000 14.514 ms/op 13.925 ms/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 300000 18.638 ms/op 16.628 ms/op 1.12
computeDeltas 500000 validators 300 proto nodes 6.9189 ms/op 6.5833 ms/op 1.05
computeDeltas 500000 validators 1200 proto nodes 7.1335 ms/op 6.4196 ms/op 1.11
computeDeltas 500000 validators 7200 proto nodes 7.0737 ms/op 6.6522 ms/op 1.06
computeDeltas 750000 validators 300 proto nodes 10.787 ms/op 9.7301 ms/op 1.11
computeDeltas 750000 validators 1200 proto nodes 10.231 ms/op 9.7875 ms/op 1.05
computeDeltas 750000 validators 7200 proto nodes 10.117 ms/op 9.7108 ms/op 1.04
computeDeltas 1400000 validators 300 proto nodes 19.227 ms/op 18.139 ms/op 1.06
computeDeltas 1400000 validators 1200 proto nodes 19.332 ms/op 18.022 ms/op 1.07
computeDeltas 1400000 validators 7200 proto nodes 18.766 ms/op 18.390 ms/op 1.02
computeDeltas 2100000 validators 300 proto nodes 29.405 ms/op 26.778 ms/op 1.10
computeDeltas 2100000 validators 1200 proto nodes 30.059 ms/op 27.001 ms/op 1.11
computeDeltas 2100000 validators 7200 proto nodes 29.843 ms/op 27.222 ms/op 1.10
computeProposerBoostScoreFromBalances 500000 validators 3.5987 ms/op 3.2642 ms/op 1.10
computeProposerBoostScoreFromBalances 750000 validators 3.5724 ms/op 3.2582 ms/op 1.10
computeProposerBoostScoreFromBalances 1400000 validators 3.7131 ms/op 3.2705 ms/op 1.14
computeProposerBoostScoreFromBalances 2100000 validators 3.7216 ms/op 3.2514 ms/op 1.14
altair processAttestation - 250000 vs - 7PWei normalcase 2.5529 ms/op 2.2097 ms/op 1.16
altair processAttestation - 250000 vs - 7PWei worstcase 3.8609 ms/op 3.1695 ms/op 1.22
altair processAttestation - setStatus - 1/6 committees join 200.28 us/op 148.52 us/op 1.35
altair processAttestation - setStatus - 1/3 committees join 390.10 us/op 280.47 us/op 1.39
altair processAttestation - setStatus - 1/2 committees join 520.99 us/op 385.14 us/op 1.35
altair processAttestation - setStatus - 2/3 committees join 654.59 us/op 480.79 us/op 1.36
altair processAttestation - setStatus - 4/5 committees join 935.03 us/op 667.57 us/op 1.40
altair processAttestation - setStatus - 100% committees join 1.0373 ms/op 780.77 us/op 1.33
altair processBlock - 250000 vs - 7PWei normalcase 11.157 ms/op 8.9592 ms/op 1.25
altair processBlock - 250000 vs - 7PWei normalcase hashState 20.065 ms/op 16.904 ms/op 1.19
altair processBlock - 250000 vs - 7PWei worstcase 41.698 ms/op 39.142 ms/op 1.07
altair processBlock - 250000 vs - 7PWei worstcase hashState 66.926 ms/op 59.138 ms/op 1.13
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5171 ms/op 2.7297 ms/op 0.92
phase0 processBlock - 250000 vs - 7PWei worstcase 34.249 ms/op 32.101 ms/op 1.07
altair processEth1Data - 250000 vs - 7PWei normalcase 678.14 us/op 509.92 us/op 1.33
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 8.7550 us/op 11.162 us/op 0.78
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 61.310 us/op 76.185 us/op 0.80
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 11.451 us/op 16.662 us/op 0.69
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 18.702 us/op 14.385 us/op 1.30
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 150.59 us/op 225.52 us/op 0.67
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.6690 ms/op 1.1992 ms/op 1.39
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.8631 ms/op 2.2580 ms/op 1.27
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5249 ms/op 2.0117 ms/op 0.76
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.0498 ms/op 3.5383 ms/op 1.14
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.2547 ms/op 2.4660 ms/op 1.32
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.5357 ms/op 5.2921 ms/op 1.23
Tree 40 250000 create 382.72 ms/op 379.81 ms/op 1.01
Tree 40 250000 get(125000) 236.02 ns/op 215.77 ns/op 1.09
Tree 40 250000 set(125000) 1.1887 us/op 894.48 ns/op 1.33
Tree 40 250000 toArray() 22.069 ms/op 20.035 ms/op 1.10
Tree 40 250000 iterate all - toArray() + loop 21.374 ms/op 18.582 ms/op 1.15
Tree 40 250000 iterate all - get(i) 81.980 ms/op 71.595 ms/op 1.15
MutableVector 250000 create 15.653 ms/op 15.957 ms/op 0.98
MutableVector 250000 get(125000) 7.8220 ns/op 6.6640 ns/op 1.17
MutableVector 250000 set(125000) 283.50 ns/op 242.11 ns/op 1.17
MutableVector 250000 toArray() 3.6689 ms/op 3.7873 ms/op 0.97
MutableVector 250000 iterate all - toArray() + loop 4.0169 ms/op 3.6929 ms/op 1.09
MutableVector 250000 iterate all - get(i) 1.8189 ms/op 1.5563 ms/op 1.17
Array 250000 create 2.6933 ms/op 2.8408 ms/op 0.95
Array 250000 clone - spread 1.1199 ms/op 1.0660 ms/op 1.05
Array 250000 get(125000) 0.57200 ns/op 0.49200 ns/op 1.16
Array 250000 set(125000) 0.67400 ns/op 0.56400 ns/op 1.20
Array 250000 iterate all - loop 101.26 us/op 83.798 us/op 1.21
effectiveBalanceIncrements clone Uint8Array 300000 35.783 us/op 28.450 us/op 1.26
effectiveBalanceIncrements clone MutableVector 300000 336.00 ns/op 257.00 ns/op 1.31
effectiveBalanceIncrements rw all Uint8Array 300000 214.63 us/op 180.28 us/op 1.19
effectiveBalanceIncrements rw all MutableVector 300000 93.619 ms/op 79.783 ms/op 1.17
phase0 afterProcessEpoch - 250000 vs - 7PWei 145.85 ms/op 115.72 ms/op 1.26
phase0 beforeProcessEpoch - 250000 vs - 7PWei 45.832 ms/op 44.833 ms/op 1.02
altair processEpoch - mainnet_e81889 371.35 ms/op 355.67 ms/op 1.04
mainnet_e81889 - altair beforeProcessEpoch 52.797 ms/op 62.576 ms/op 0.84
mainnet_e81889 - altair processJustificationAndFinalization 19.558 us/op 15.623 us/op 1.25
mainnet_e81889 - altair processInactivityUpdates 6.5580 ms/op 6.2175 ms/op 1.05
mainnet_e81889 - altair processRewardsAndPenalties 79.973 ms/op 67.669 ms/op 1.18
mainnet_e81889 - altair processRegistryUpdates 3.0250 us/op 2.6080 us/op 1.16
mainnet_e81889 - altair processSlashings 601.00 ns/op 618.00 ns/op 0.97
mainnet_e81889 - altair processEth1DataReset 1.0450 us/op 952.00 ns/op 1.10
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.7154 ms/op 1.7302 ms/op 0.99
mainnet_e81889 - altair processSlashingsReset 4.0430 us/op 3.3520 us/op 1.21
mainnet_e81889 - altair processRandaoMixesReset 6.0780 us/op 4.9940 us/op 1.22
mainnet_e81889 - altair processHistoricalRootsUpdate 1.7860 us/op 1.1520 us/op 1.55
mainnet_e81889 - altair processParticipationFlagUpdates 2.1890 us/op 3.1740 us/op 0.69
mainnet_e81889 - altair processSyncCommitteeUpdates 839.00 ns/op 899.00 ns/op 0.93
mainnet_e81889 - altair afterProcessEpoch 150.23 ms/op 129.57 ms/op 1.16
capella processEpoch - mainnet_e217614 1.2671 s/op 1.0907 s/op 1.16
mainnet_e217614 - capella beforeProcessEpoch 278.54 ms/op 257.48 ms/op 1.08
mainnet_e217614 - capella processJustificationAndFinalization 16.778 us/op 14.631 us/op 1.15
mainnet_e217614 - capella processInactivityUpdates 21.953 ms/op 17.217 ms/op 1.28
mainnet_e217614 - capella processRewardsAndPenalties 354.90 ms/op 309.39 ms/op 1.15
mainnet_e217614 - capella processRegistryUpdates 28.395 us/op 20.234 us/op 1.40
mainnet_e217614 - capella processSlashings 743.00 ns/op 843.00 ns/op 0.88
mainnet_e217614 - capella processEth1DataReset 781.00 ns/op 757.00 ns/op 1.03
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.9729 ms/op 3.9706 ms/op 1.50
mainnet_e217614 - capella processSlashingsReset 8.1410 us/op 4.0650 us/op 2.00
mainnet_e217614 - capella processRandaoMixesReset 8.8380 us/op 6.5030 us/op 1.36
mainnet_e217614 - capella processHistoricalRootsUpdate 1.3000 us/op 786.00 ns/op 1.65
mainnet_e217614 - capella processParticipationFlagUpdates 4.9100 us/op 3.5660 us/op 1.38
mainnet_e217614 - capella afterProcessEpoch 445.62 ms/op 302.20 ms/op 1.47
phase0 processEpoch - mainnet_e58758 509.03 ms/op 384.98 ms/op 1.32
mainnet_e58758 - phase0 beforeProcessEpoch 173.75 ms/op 127.24 ms/op 1.37
mainnet_e58758 - phase0 processJustificationAndFinalization 32.665 us/op 24.371 us/op 1.34
mainnet_e58758 - phase0 processRewardsAndPenalties 66.267 ms/op 74.259 ms/op 0.89
mainnet_e58758 - phase0 processRegistryUpdates 26.083 us/op 14.715 us/op 1.77
mainnet_e58758 - phase0 processSlashings 1.4540 us/op 803.00 ns/op 1.81
mainnet_e58758 - phase0 processEth1DataReset 1.0320 us/op 679.00 ns/op 1.52
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3087 ms/op 1.9654 ms/op 0.67
mainnet_e58758 - phase0 processSlashingsReset 5.8590 us/op 3.4280 us/op 1.71
mainnet_e58758 - phase0 processRandaoMixesReset 9.4010 us/op 6.0580 us/op 1.55
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.8730 us/op 557.00 ns/op 3.36
mainnet_e58758 - phase0 processParticipationRecordUpdates 10.480 us/op 4.9100 us/op 2.13
mainnet_e58758 - phase0 afterProcessEpoch 179.50 ms/op 98.452 ms/op 1.82
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.8811 ms/op 1.2372 ms/op 1.52
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.8929 ms/op 2.6306 ms/op 1.10
altair processInactivityUpdates - 250000 normalcase 33.021 ms/op 23.190 ms/op 1.42
altair processInactivityUpdates - 250000 worstcase 44.240 ms/op 27.860 ms/op 1.59
phase0 processRegistryUpdates - 250000 normalcase 18.359 us/op 15.422 us/op 1.19
phase0 processRegistryUpdates - 250000 badcase_full_deposits 526.79 us/op 544.89 us/op 0.97
phase0 processRegistryUpdates - 250000 worstcase 0.5 186.81 ms/op 118.17 ms/op 1.58
altair processRewardsAndPenalties - 250000 normalcase 89.352 ms/op 66.645 ms/op 1.34
altair processRewardsAndPenalties - 250000 worstcase 87.393 ms/op 62.262 ms/op 1.40
phase0 getAttestationDeltas - 250000 normalcase 11.196 ms/op 7.9116 ms/op 1.42
phase0 getAttestationDeltas - 250000 worstcase 10.944 ms/op 7.7171 ms/op 1.42
phase0 processSlashings - 250000 worstcase 3.0496 ms/op 2.2399 ms/op 1.36
altair processSyncCommitteeUpdates - 250000 199.97 ms/op 142.09 ms/op 1.41
BeaconState.hashTreeRoot - No change 310.00 ns/op 246.00 ns/op 1.26
BeaconState.hashTreeRoot - 1 full validator 66.757 us/op 49.274 us/op 1.35
BeaconState.hashTreeRoot - 32 full validator 722.32 us/op 615.63 us/op 1.17
BeaconState.hashTreeRoot - 512 full validator 8.3478 ms/op 7.3547 ms/op 1.14
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 86.225 us/op 72.412 us/op 1.19
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.1568 ms/op 916.96 us/op 1.26
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 15.885 ms/op 11.165 ms/op 1.42
BeaconState.hashTreeRoot - 1 balances 69.446 us/op 48.599 us/op 1.43
BeaconState.hashTreeRoot - 32 balances 598.74 us/op 550.26 us/op 1.09
BeaconState.hashTreeRoot - 512 balances 5.9007 ms/op 4.7930 ms/op 1.23
BeaconState.hashTreeRoot - 250000 balances 107.00 ms/op 85.862 ms/op 1.25
aggregationBits - 2048 els - zipIndexesInBitList 19.391 us/op 14.373 us/op 1.35
regular array get 100000 times 51.158 us/op 40.294 us/op 1.27
wrappedArray get 100000 times 40.280 us/op 32.389 us/op 1.24
arrayWithProxy get 100000 times 18.880 ms/op 13.844 ms/op 1.36
ssz.Root.equals 291.00 ns/op 211.00 ns/op 1.38
byteArrayEquals 281.00 ns/op 207.00 ns/op 1.36
shuffle list - 16384 els 8.9688 ms/op 6.7838 ms/op 1.32
shuffle list - 250000 els 131.89 ms/op 99.271 ms/op 1.33
processSlot - 1 slots 10.963 us/op 8.3380 us/op 1.31
processSlot - 32 slots 1.6236 ms/op 1.2722 ms/op 1.28
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 62.775 ms/op 54.942 ms/op 1.14
getCommitteeAssignments - req 1 vs - 250000 vc 3.0357 ms/op 2.4367 ms/op 1.25
getCommitteeAssignments - req 100 vs - 250000 vc 4.3292 ms/op 3.6365 ms/op 1.19
getCommitteeAssignments - req 1000 vs - 250000 vc 4.8688 ms/op 3.9845 ms/op 1.22
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.0200 ns/op 4.5800 ns/op 1.31
state getBlockRootAtSlot - 250000 vs - 7PWei 934.68 ns/op 500.33 ns/op 1.87
computeProposers - vc 250000 11.303 ms/op 8.6918 ms/op 1.30
computeEpochShuffling - vc 250000 123.89 ms/op 104.81 ms/op 1.18
getNextSyncCommittee - vc 250000 190.45 ms/op 152.51 ms/op 1.25
computeSigningRoot for AttestationData 14.982 us/op 13.622 us/op 1.10
hash AttestationData serialized data then Buffer.toString(base64) 2.6557 us/op 2.2786 us/op 1.17
toHexString serialized data 1.3127 us/op 1.0398 us/op 1.26
Buffer.toString(base64) 265.67 ns/op 205.71 ns/op 1.29

by benchmarkbot/action

@nazarhussain nazarhussain marked this pull request as ready for review August 17, 2023 14:42
@nazarhussain nazarhussain requested a review from a team as a code owner August 17, 2023 14:42
@wemeetagain wemeetagain merged commit 8c6ad38 into unstable Aug 21, 2023
12 checks passed
@wemeetagain wemeetagain deleted the nh/multi-client-mix branch August 21, 2023 14:10
@wemeetagain
Copy link
Member

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