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: correct error message if state is not within ws period #5859

Merged
merged 1 commit into from
Aug 7, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Aug 7, 2023

Motivation

Minor follow to #5837, to correct error message.

The term "weak / weakly" subjective is quite important here when talking about the time period as states outside this time range require (strong) subjectivity.

Subjective: the system has stable states where different nodes come to different conclusions, and a large amount of social information (ie. reputation) is required in order to participate.

Subjectivity is pretty bad, whereas weak subjectivity is much better / acceptable.

Weakly subjective: a new node coming onto the network with no knowledge except (i) the protocol definition, (ii) the set of all blocks and other "important" messages that have been published and (iii) a state from less than N blocks ago that is known to be valid can independently come to the exact same conclusion as the rest of the network on the current state, unless there is an attacker that permanently has more than X percent control over the consensus set.

Proof of Stake: How I Learned to Love Weak Subjectivity in "Weak Subjectivity" section provides more details on this.

Description

Correct error message if downloaded state is not within weak subjectivity period.

@nflaig nflaig requested a review from a team as a code owner August 7, 2023 18:13
@wemeetagain wemeetagain enabled auto-merge (squash) August 7, 2023 18:28
@wemeetagain wemeetagain merged commit 108b8ed into unstable Aug 7, 2023
13 checks passed
@wemeetagain wemeetagain deleted the nflaig/correct-ws-period-error-log branch August 7, 2023 18:29
@github-actions
Copy link
Contributor

github-actions bot commented Aug 7, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 58241da Previous: a7466f5 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 944.20 us/op 699.29 us/op 1.35
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 109.43 us/op 79.393 us/op 1.38
BLS verify - blst-native 1.3245 ms/op 1.1760 ms/op 1.13
BLS verifyMultipleSignatures 3 - blst-native 2.6902 ms/op 2.4738 ms/op 1.09
BLS verifyMultipleSignatures 8 - blst-native 5.8338 ms/op 5.3319 ms/op 1.09
BLS verifyMultipleSignatures 32 - blst-native 20.978 ms/op 19.252 ms/op 1.09
BLS aggregatePubkeys 32 - blst-native 27.564 us/op 25.508 us/op 1.08
BLS aggregatePubkeys 128 - blst-native 108.78 us/op 100.09 us/op 1.09
getAttestationsForBlock 71.996 ms/op 50.243 ms/op 1.43
isKnown best case - 1 super set check 360.00 ns/op 279.00 ns/op 1.29
isKnown normal case - 2 super set checks 347.00 ns/op 266.00 ns/op 1.30
isKnown worse case - 16 super set checks 372.00 ns/op 276.00 ns/op 1.35
CheckpointStateCache - add get delete 5.8130 us/op 4.9700 us/op 1.17
validate api signedAggregateAndProof - struct 2.8716 ms/op 2.7816 ms/op 1.03
validate gossip signedAggregateAndProof - struct 2.8274 ms/op 2.7804 ms/op 1.02
validate api attestation - struct 1.3492 ms/op 1.3252 ms/op 1.02
validate gossip attestation - struct 1.3636 ms/op 1.3876 ms/op 0.98
pickEth1Vote - no votes 1.2885 ms/op 1.2072 ms/op 1.07
pickEth1Vote - max votes 8.9992 ms/op 7.9145 ms/op 1.14
pickEth1Vote - Eth1Data hashTreeRoot value x2048 8.4128 ms/op 8.4944 ms/op 0.99
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 16.906 ms/op 12.806 ms/op 1.32
pickEth1Vote - Eth1Data fastSerialize value x2048 673.69 us/op 602.64 us/op 1.12
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.8899 ms/op 4.2781 ms/op 1.38
bytes32 toHexString 586.00 ns/op 506.00 ns/op 1.16
bytes32 Buffer.toString(hex) 324.00 ns/op 301.00 ns/op 1.08
bytes32 Buffer.toString(hex) from Uint8Array 513.00 ns/op 447.00 ns/op 1.15
bytes32 Buffer.toString(hex) + 0x 344.00 ns/op 310.00 ns/op 1.11
Object access 1 prop 0.20000 ns/op 0.17600 ns/op 1.14
Map access 1 prop 0.15800 ns/op 0.15100 ns/op 1.05
Object get x1000 7.9780 ns/op 7.7140 ns/op 1.03
Map get x1000 0.61300 ns/op 0.62900 ns/op 0.97
Object set x1000 60.030 ns/op 47.995 ns/op 1.25
Map set x1000 48.302 ns/op 38.003 ns/op 1.27
Return object 10000 times 0.24940 ns/op 0.23050 ns/op 1.08
Throw Error 10000 times 4.1908 us/op 3.7963 us/op 1.10
fastMsgIdFn sha256 / 200 bytes 3.5080 us/op 3.1850 us/op 1.10
fastMsgIdFn h32 xxhash / 200 bytes 371.00 ns/op 272.00 ns/op 1.36
fastMsgIdFn h64 xxhash / 200 bytes 414.00 ns/op 337.00 ns/op 1.23
fastMsgIdFn sha256 / 1000 bytes 12.082 us/op 10.877 us/op 1.11
fastMsgIdFn h32 xxhash / 1000 bytes 509.00 ns/op 389.00 ns/op 1.31
fastMsgIdFn h64 xxhash / 1000 bytes 502.00 ns/op 400.00 ns/op 1.25
fastMsgIdFn sha256 / 10000 bytes 111.77 us/op 99.572 us/op 1.12
fastMsgIdFn h32 xxhash / 10000 bytes 2.1250 us/op 1.8670 us/op 1.14
fastMsgIdFn h64 xxhash / 10000 bytes 1.4800 us/op 1.2730 us/op 1.16
enrSubnets - fastDeserialize 64 bits 1.9900 us/op 1.2190 us/op 1.63
enrSubnets - ssz BitVector 64 bits 597.00 ns/op 409.00 ns/op 1.46
enrSubnets - fastDeserialize 4 bits 262.00 ns/op 167.00 ns/op 1.57
enrSubnets - ssz BitVector 4 bits 603.00 ns/op 400.00 ns/op 1.51
prioritizePeers score -10:0 att 32-0.1 sync 2-0 127.43 us/op 96.858 us/op 1.32
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 170.59 us/op 122.97 us/op 1.39
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 227.71 us/op 161.27 us/op 1.41
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 381.77 us/op 279.52 us/op 1.37
prioritizePeers score 0:0 att 64-1 sync 4-1 371.79 us/op 331.37 us/op 1.12
array of 16000 items push then shift 1.6242 us/op 1.5700 us/op 1.03
LinkedList of 16000 items push then shift 8.9170 ns/op 8.6930 ns/op 1.03
array of 16000 items push then pop 66.792 ns/op 47.150 ns/op 1.42
LinkedList of 16000 items push then pop 9.2940 ns/op 8.8290 ns/op 1.05
array of 24000 items push then shift 2.5491 us/op 2.4056 us/op 1.06
LinkedList of 24000 items push then shift 9.3180 ns/op 8.9760 ns/op 1.04
array of 24000 items push then pop 119.33 ns/op 114.28 ns/op 1.04
LinkedList of 24000 items push then pop 9.2320 ns/op 8.6100 ns/op 1.07
intersect bitArray bitLen 8 7.1350 ns/op 6.7700 ns/op 1.05
intersect array and set length 8 62.535 ns/op 56.782 ns/op 1.10
intersect bitArray bitLen 128 33.388 ns/op 32.194 ns/op 1.04
intersect array and set length 128 867.28 ns/op 779.25 ns/op 1.11
bitArray.getTrueBitIndexes() bitLen 128 1.7920 us/op 1.4140 us/op 1.27
bitArray.getTrueBitIndexes() bitLen 248 3.0020 us/op 2.3980 us/op 1.25
bitArray.getTrueBitIndexes() bitLen 512 5.6080 us/op 4.8150 us/op 1.16
Buffer.concat 32 items 1.0870 us/op 940.00 ns/op 1.16
Uint8Array.set 32 items 1.6160 us/op 1.5250 us/op 1.06
transfer serialized Status (84 B) 1.8840 us/op 1.8050 us/op 1.04
copy serialized Status (84 B) 1.5250 us/op 1.5220 us/op 1.00
transfer serialized SignedVoluntaryExit (112 B) 1.9730 us/op 1.9500 us/op 1.01
copy serialized SignedVoluntaryExit (112 B) 1.5890 us/op 1.5640 us/op 1.02
transfer serialized ProposerSlashing (416 B) 2.2460 us/op 1.9950 us/op 1.13
copy serialized ProposerSlashing (416 B) 2.0950 us/op 1.8270 us/op 1.15
transfer serialized Attestation (485 B) 2.2860 us/op 2.1650 us/op 1.06
copy serialized Attestation (485 B) 2.0480 us/op 2.0710 us/op 0.99
transfer serialized AttesterSlashing (33232 B) 2.3880 us/op 2.2850 us/op 1.05
copy serialized AttesterSlashing (33232 B) 5.3920 us/op 5.0440 us/op 1.07
transfer serialized Small SignedBeaconBlock (128000 B) 2.6500 us/op 2.6940 us/op 0.98
copy serialized Small SignedBeaconBlock (128000 B) 13.812 us/op 13.395 us/op 1.03
transfer serialized Avg SignedBeaconBlock (200000 B) 3.0770 us/op 2.8720 us/op 1.07
copy serialized Avg SignedBeaconBlock (200000 B) 19.549 us/op 20.067 us/op 0.97
transfer serialized BlobsSidecar (524380 B) 3.1960 us/op 2.9410 us/op 1.09
copy serialized BlobsSidecar (524380 B) 92.222 us/op 82.960 us/op 1.11
transfer serialized Big SignedBeaconBlock (1000000 B) 3.4440 us/op 2.9390 us/op 1.17
copy serialized Big SignedBeaconBlock (1000000 B) 163.26 us/op 157.90 us/op 1.03
pass gossip attestations to forkchoice per slot 2.1671 ms/op 2.1562 ms/op 1.01
forkChoice updateHead vc 100000 bc 64 eq 0 2.2238 ms/op 2.0631 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 0 15.454 ms/op 13.459 ms/op 1.15
forkChoice updateHead vc 1000000 bc 64 eq 0 23.626 ms/op 22.319 ms/op 1.06
forkChoice updateHead vc 600000 bc 320 eq 0 21.399 ms/op 16.562 ms/op 1.29
forkChoice updateHead vc 600000 bc 1200 eq 0 90.888 ms/op 84.984 ms/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 1000 22.517 ms/op 21.477 ms/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 10000 27.416 ms/op 22.712 ms/op 1.21
forkChoice updateHead vc 600000 bc 64 eq 300000 42.962 ms/op 28.024 ms/op 1.53
computeDeltas 4.1874 ms/op 3.3471 ms/op 1.25
computeProposerBoostScoreFromBalances 389.78 us/op 380.31 us/op 1.02
altair processAttestation - 250000 vs - 7PWei normalcase 2.4446 ms/op 2.0727 ms/op 1.18
altair processAttestation - 250000 vs - 7PWei worstcase 3.6295 ms/op 3.0595 ms/op 1.19
altair processAttestation - setStatus - 1/6 committees join 193.85 us/op 136.63 us/op 1.42
altair processAttestation - setStatus - 1/3 committees join 371.77 us/op 251.99 us/op 1.48
altair processAttestation - setStatus - 1/2 committees join 480.64 us/op 352.27 us/op 1.36
altair processAttestation - setStatus - 2/3 committees join 630.16 us/op 435.07 us/op 1.45
altair processAttestation - setStatus - 4/5 committees join 813.40 us/op 618.47 us/op 1.32
altair processAttestation - setStatus - 100% committees join 1.0327 ms/op 751.24 us/op 1.37
altair processBlock - 250000 vs - 7PWei normalcase 11.342 ms/op 8.7653 ms/op 1.29
altair processBlock - 250000 vs - 7PWei normalcase hashState 19.244 ms/op 15.835 ms/op 1.22
altair processBlock - 250000 vs - 7PWei worstcase 38.452 ms/op 38.230 ms/op 1.01
altair processBlock - 250000 vs - 7PWei worstcase hashState 63.652 ms/op 56.964 ms/op 1.12
phase0 processBlock - 250000 vs - 7PWei normalcase 3.2111 ms/op 2.3014 ms/op 1.40
phase0 processBlock - 250000 vs - 7PWei worstcase 35.786 ms/op 29.275 ms/op 1.22
altair processEth1Data - 250000 vs - 7PWei normalcase 608.45 us/op 470.83 us/op 1.29
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 14.248 us/op 7.7380 us/op 1.84
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 82.227 us/op 61.270 us/op 1.34
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 30.470 us/op 21.384 us/op 1.42
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 13.902 us/op 12.735 us/op 1.09
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 181.06 us/op 178.61 us/op 1.01
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.6350 ms/op 1.1135 ms/op 1.47
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.6726 ms/op 1.5868 ms/op 1.68
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.9040 ms/op 1.4927 ms/op 1.28
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.7865 ms/op 2.8940 ms/op 1.31
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.4790 ms/op 2.5011 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.2246 ms/op 5.1913 ms/op 1.01
Tree 40 250000 create 325.19 ms/op 316.39 ms/op 1.03
Tree 40 250000 get(125000) 204.81 ns/op 186.72 ns/op 1.10
Tree 40 250000 set(125000) 891.71 ns/op 852.80 ns/op 1.05
Tree 40 250000 toArray() 20.428 ms/op 18.038 ms/op 1.13
Tree 40 250000 iterate all - toArray() + loop 19.925 ms/op 17.549 ms/op 1.14
Tree 40 250000 iterate all - get(i) 70.717 ms/op 69.486 ms/op 1.02
MutableVector 250000 create 18.382 ms/op 12.276 ms/op 1.50
MutableVector 250000 get(125000) 6.9050 ns/op 6.4070 ns/op 1.08
MutableVector 250000 set(125000) 279.55 ns/op 250.81 ns/op 1.11
MutableVector 250000 toArray() 3.3041 ms/op 3.0123 ms/op 1.10
MutableVector 250000 iterate all - toArray() + loop 3.6717 ms/op 3.1782 ms/op 1.16
MutableVector 250000 iterate all - get(i) 1.5783 ms/op 1.5120 ms/op 1.04
Array 250000 create 3.1719 ms/op 2.7184 ms/op 1.17
Array 250000 clone - spread 1.0118 ms/op 984.76 us/op 1.03
Array 250000 get(125000) 0.51400 ns/op 0.47200 ns/op 1.09
Array 250000 set(125000) 0.58000 ns/op 0.55600 ns/op 1.04
Array 250000 iterate all - loop 83.994 us/op 84.517 us/op 0.99
effectiveBalanceIncrements clone Uint8Array 300000 27.063 us/op 21.284 us/op 1.27
effectiveBalanceIncrements clone MutableVector 300000 277.00 ns/op 252.00 ns/op 1.10
effectiveBalanceIncrements rw all Uint8Array 300000 184.43 us/op 179.30 us/op 1.03
effectiveBalanceIncrements rw all MutableVector 300000 75.678 ms/op 73.643 ms/op 1.03
phase0 afterProcessEpoch - 250000 vs - 7PWei 113.12 ms/op 110.76 ms/op 1.02
phase0 beforeProcessEpoch - 250000 vs - 7PWei 40.665 ms/op 31.805 ms/op 1.28
altair processEpoch - mainnet_e81889 339.91 ms/op 321.54 ms/op 1.06
mainnet_e81889 - altair beforeProcessEpoch 61.740 ms/op 48.381 ms/op 1.28
mainnet_e81889 - altair processJustificationAndFinalization 21.497 us/op 13.988 us/op 1.54
mainnet_e81889 - altair processInactivityUpdates 5.8827 ms/op 6.2137 ms/op 0.95
mainnet_e81889 - altair processRewardsAndPenalties 80.329 ms/op 60.078 ms/op 1.34
mainnet_e81889 - altair processRegistryUpdates 3.8030 us/op 2.4230 us/op 1.57
mainnet_e81889 - altair processSlashings 850.00 ns/op 447.00 ns/op 1.90
mainnet_e81889 - altair processEth1DataReset 775.00 ns/op 503.00 ns/op 1.54
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4767 ms/op 1.2887 ms/op 1.15
mainnet_e81889 - altair processSlashingsReset 4.4910 us/op 2.5840 us/op 1.74
mainnet_e81889 - altair processRandaoMixesReset 7.6940 us/op 6.1020 us/op 1.26
mainnet_e81889 - altair processHistoricalRootsUpdate 1.7410 us/op 926.00 ns/op 1.88
mainnet_e81889 - altair processParticipationFlagUpdates 2.2350 us/op 1.8650 us/op 1.20
mainnet_e81889 - altair processSyncCommitteeUpdates 877.00 ns/op 703.00 ns/op 1.25
mainnet_e81889 - altair afterProcessEpoch 134.40 ms/op 121.61 ms/op 1.11
capella processEpoch - mainnet_e217614 1.0874 s/op 1.0325 s/op 1.05
mainnet_e217614 - capella beforeProcessEpoch 255.78 ms/op 241.88 ms/op 1.06
mainnet_e217614 - capella processJustificationAndFinalization 16.700 us/op 14.515 us/op 1.15
mainnet_e217614 - capella processInactivityUpdates 21.533 ms/op 15.607 ms/op 1.38
mainnet_e217614 - capella processRewardsAndPenalties 321.02 ms/op 270.50 ms/op 1.19
mainnet_e217614 - capella processRegistryUpdates 19.743 us/op 17.663 us/op 1.12
mainnet_e217614 - capella processSlashings 742.00 ns/op 502.00 ns/op 1.48
mainnet_e217614 - capella processEth1DataReset 739.00 ns/op 453.00 ns/op 1.63
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.9340 ms/op 4.1831 ms/op 0.94
mainnet_e217614 - capella processSlashingsReset 4.0180 us/op 2.4070 us/op 1.67
mainnet_e217614 - capella processRandaoMixesReset 7.3420 us/op 4.2680 us/op 1.72
mainnet_e217614 - capella processHistoricalRootsUpdate 1.0280 us/op 687.00 ns/op 1.50
mainnet_e217614 - capella processParticipationFlagUpdates 3.3540 us/op 1.4200 us/op 2.36
mainnet_e217614 - capella afterProcessEpoch 303.87 ms/op 295.15 ms/op 1.03
phase0 processEpoch - mainnet_e58758 371.36 ms/op 304.01 ms/op 1.22
mainnet_e58758 - phase0 beforeProcessEpoch 118.40 ms/op 103.97 ms/op 1.14
mainnet_e58758 - phase0 processJustificationAndFinalization 22.249 us/op 15.378 us/op 1.45
mainnet_e58758 - phase0 processRewardsAndPenalties 58.535 ms/op 51.877 ms/op 1.13
mainnet_e58758 - phase0 processRegistryUpdates 13.510 us/op 8.5410 us/op 1.58
mainnet_e58758 - phase0 processSlashings 768.00 ns/op 540.00 ns/op 1.42
mainnet_e58758 - phase0 processEth1DataReset 631.00 ns/op 411.00 ns/op 1.54
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.6628 ms/op 965.78 us/op 1.72
mainnet_e58758 - phase0 processSlashingsReset 3.1210 us/op 1.9680 us/op 1.59
mainnet_e58758 - phase0 processRandaoMixesReset 6.1900 us/op 3.8100 us/op 1.62
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.0180 us/op 458.00 ns/op 2.22
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.7440 us/op 3.5900 us/op 1.88
mainnet_e58758 - phase0 afterProcessEpoch 109.15 ms/op 95.506 ms/op 1.14
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3121 ms/op 1.2721 ms/op 1.03
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9413 ms/op 1.4151 ms/op 1.37
altair processInactivityUpdates - 250000 normalcase 27.042 ms/op 16.648 ms/op 1.62
altair processInactivityUpdates - 250000 worstcase 30.475 ms/op 16.721 ms/op 1.82
phase0 processRegistryUpdates - 250000 normalcase 10.599 us/op 9.4480 us/op 1.12
phase0 processRegistryUpdates - 250000 badcase_full_deposits 441.84 us/op 283.40 us/op 1.56
phase0 processRegistryUpdates - 250000 worstcase 0.5 139.48 ms/op 121.25 ms/op 1.15
altair processRewardsAndPenalties - 250000 normalcase 75.855 ms/op 56.205 ms/op 1.35
altair processRewardsAndPenalties - 250000 worstcase 74.301 ms/op 57.174 ms/op 1.30
phase0 getAttestationDeltas - 250000 normalcase 8.1878 ms/op 7.6782 ms/op 1.07
phase0 getAttestationDeltas - 250000 worstcase 9.1452 ms/op 7.6994 ms/op 1.19
phase0 processSlashings - 250000 worstcase 2.4285 ms/op 2.2645 ms/op 1.07
altair processSyncCommitteeUpdates - 250000 151.72 ms/op 148.76 ms/op 1.02
BeaconState.hashTreeRoot - No change 280.00 ns/op 268.00 ns/op 1.04
BeaconState.hashTreeRoot - 1 full validator 56.942 us/op 47.365 us/op 1.20
BeaconState.hashTreeRoot - 32 full validator 548.01 us/op 509.27 us/op 1.08
BeaconState.hashTreeRoot - 512 full validator 6.6213 ms/op 5.8807 ms/op 1.13
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 73.071 us/op 62.296 us/op 1.17
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 881.00 us/op 880.50 us/op 1.00
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 11.638 ms/op 11.496 ms/op 1.01
BeaconState.hashTreeRoot - 1 balances 54.165 us/op 48.006 us/op 1.13
BeaconState.hashTreeRoot - 32 balances 522.82 us/op 446.95 us/op 1.17
BeaconState.hashTreeRoot - 512 balances 4.6887 ms/op 4.4294 ms/op 1.06
BeaconState.hashTreeRoot - 250000 balances 79.036 ms/op 74.714 ms/op 1.06
aggregationBits - 2048 els - zipIndexesInBitList 16.496 us/op 15.068 us/op 1.09
regular array get 100000 times 33.474 us/op 37.495 us/op 0.89
wrappedArray get 100000 times 33.430 us/op 32.135 us/op 1.04
arrayWithProxy get 100000 times 14.659 ms/op 14.181 ms/op 1.03
ssz.Root.equals 231.00 ns/op 216.00 ns/op 1.07
byteArrayEquals 239.00 ns/op 209.00 ns/op 1.14
shuffle list - 16384 els 7.0989 ms/op 6.7282 ms/op 1.06
shuffle list - 250000 els 103.57 ms/op 98.658 ms/op 1.05
processSlot - 1 slots 8.8710 us/op 8.1220 us/op 1.09
processSlot - 32 slots 1.4862 ms/op 1.3382 ms/op 1.11
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.214 ms/op 48.991 ms/op 1.17
getCommitteeAssignments - req 1 vs - 250000 vc 2.4862 ms/op 2.4886 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 3.6924 ms/op 3.5556 ms/op 1.04
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0047 ms/op 3.9523 ms/op 1.01
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.5900 ns/op 4.8800 ns/op 0.94
state getBlockRootAtSlot - 250000 vs - 7PWei 641.66 ns/op 738.39 ns/op 0.87
computeProposers - vc 250000 9.5839 ms/op 9.0587 ms/op 1.06
computeEpochShuffling - vc 250000 106.89 ms/op 103.78 ms/op 1.03
getNextSyncCommittee - vc 250000 152.92 ms/op 151.02 ms/op 1.01
computeSigningRoot for AttestationData 13.580 us/op 13.626 us/op 1.00
hash AttestationData serialized data then Buffer.toString(base64) 2.3427 us/op 2.2888 us/op 1.02
toHexString serialized data 1.0824 us/op 1.0833 us/op 1.00
Buffer.toString(base64) 245.02 ns/op 207.94 ns/op 1.18

by benchmarkbot/action

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