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: allow to skip gossip validation #6308

Merged
merged 2 commits into from
Jan 16, 2024
Merged

Conversation

nazarhussain
Copy link
Contributor

Motivation

Make sure the block is published to network.

Description

In case a node is configured only with the unknownBlockSync, it needs to know the unknown parent blocks on the network to initiate the syncing process. Such cases can be covered only if we publish blocks and make sure no gossip validation is performed on those. But this behavior is not the default.

Steps to test or reproduce

  • Run all tests

@nazarhussain nazarhussain requested a review from a team as a code owner January 16, 2024 11:11
@nazarhussain nazarhussain self-assigned this Jan 16, 2024
Copy link

codecov bot commented Jan 16, 2024

Codecov Report

Merging #6308 (ffeb5e0) into unstable (4ff2911) will increase coverage by 0.00%.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6308   +/-   ##
=========================================
  Coverage     80.38%   80.39%           
=========================================
  Files           202      202           
  Lines         19620    19628    +8     
  Branches       1176     1176           
=========================================
+ Hits          15771    15779    +8     
  Misses         3821     3821           
  Partials         28       28           

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: e613af3 Previous: 4ff2911 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 656.62 us/op 790.42 us/op 0.83
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 84.169 us/op 80.935 us/op 1.04
BLS verify - blst-native 1.3131 ms/op 1.3015 ms/op 1.01
BLS verifyMultipleSignatures 3 - blst-native 2.7584 ms/op 2.7542 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst-native 6.0781 ms/op 6.1017 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 22.331 ms/op 22.375 ms/op 1.00
BLS verifyMultipleSignatures 64 - blst-native 44.049 ms/op 43.855 ms/op 1.00
BLS verifyMultipleSignatures 128 - blst-native 87.445 ms/op 86.832 ms/op 1.01
BLS deserializing 10000 signatures 955.02 ms/op 928.19 ms/op 1.03
BLS deserializing 100000 signatures 9.6293 s/op 9.3938 s/op 1.03
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3834 ms/op 1.3394 ms/op 1.03
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5309 ms/op 1.5185 ms/op 1.01
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.3512 ms/op 2.3234 ms/op 1.01
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.6310 ms/op 4.4427 ms/op 1.04
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.5034 ms/op 7.8803 ms/op 0.95
BLS aggregatePubkeys 32 - blst-native 28.853 us/op 26.029 us/op 1.11
BLS aggregatePubkeys 128 - blst-native 106.54 us/op 100.23 us/op 1.06
getAttestationsForBlock 54.548 ms/op 49.463 ms/op 1.10
getSlashingsAndExits - default max 193.71 us/op 158.89 us/op 1.22
getSlashingsAndExits - 2k 408.16 us/op 370.92 us/op 1.10
proposeBlockBody type=full, size=empty 5.1960 ms/op 4.9057 ms/op 1.06
isKnown best case - 1 super set check 312.00 ns/op 320.00 ns/op 0.97
isKnown normal case - 2 super set checks 318.00 ns/op 314.00 ns/op 1.01
isKnown worse case - 16 super set checks 309.00 ns/op 309.00 ns/op 1.00
CheckpointStateCache - add get delete 5.6160 us/op 5.8350 us/op 0.96
validate api signedAggregateAndProof - struct 2.7896 ms/op 2.7171 ms/op 1.03
validate gossip signedAggregateAndProof - struct 2.7967 ms/op 2.7186 ms/op 1.03
validate gossip attestation - vc 640000 1.3800 ms/op 1.3136 ms/op 1.05
batch validate gossip attestation - vc 640000 - chunk 32 161.60 us/op 156.85 us/op 1.03
batch validate gossip attestation - vc 640000 - chunk 64 145.33 us/op 143.75 us/op 1.01
batch validate gossip attestation - vc 640000 - chunk 128 138.41 us/op 131.74 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 256 130.76 us/op 128.63 us/op 1.02
pickEth1Vote - no votes 1.1913 ms/op 1.2189 ms/op 0.98
pickEth1Vote - max votes 8.4229 ms/op 10.697 ms/op 0.79
pickEth1Vote - Eth1Data hashTreeRoot value x2048 16.402 ms/op 18.045 ms/op 0.91
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.882 ms/op 26.088 ms/op 0.88
pickEth1Vote - Eth1Data fastSerialize value x2048 644.25 us/op 575.92 us/op 1.12
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.2686 ms/op 6.1417 ms/op 0.70
bytes32 toHexString 514.00 ns/op 476.00 ns/op 1.08
bytes32 Buffer.toString(hex) 280.00 ns/op 274.00 ns/op 1.02
bytes32 Buffer.toString(hex) from Uint8Array 418.00 ns/op 395.00 ns/op 1.06
bytes32 Buffer.toString(hex) + 0x 286.00 ns/op 275.00 ns/op 1.04
Object access 1 prop 0.15800 ns/op 0.14800 ns/op 1.07
Map access 1 prop 0.14600 ns/op 0.13800 ns/op 1.06
Object get x1000 7.3290 ns/op 7.3300 ns/op 1.00
Map get x1000 0.76500 ns/op 0.70200 ns/op 1.09
Object set x1000 52.179 ns/op 47.136 ns/op 1.11
Map set x1000 40.604 ns/op 36.368 ns/op 1.12
Return object 10000 times 0.24030 ns/op 0.22460 ns/op 1.07
Throw Error 10000 times 3.9253 us/op 3.6671 us/op 1.07
fastMsgIdFn sha256 / 200 bytes 3.3490 us/op 3.1190 us/op 1.07
fastMsgIdFn h32 xxhash / 200 bytes 287.00 ns/op 275.00 ns/op 1.04
fastMsgIdFn h64 xxhash / 200 bytes 354.00 ns/op 337.00 ns/op 1.05
fastMsgIdFn sha256 / 1000 bytes 11.393 us/op 10.823 us/op 1.05
fastMsgIdFn h32 xxhash / 1000 bytes 420.00 ns/op 396.00 ns/op 1.06
fastMsgIdFn h64 xxhash / 1000 bytes 417.00 ns/op 393.00 ns/op 1.06
fastMsgIdFn sha256 / 10000 bytes 104.33 us/op 99.559 us/op 1.05
fastMsgIdFn h32 xxhash / 10000 bytes 1.9350 us/op 1.8430 us/op 1.05
fastMsgIdFn h64 xxhash / 10000 bytes 1.3310 us/op 1.2710 us/op 1.05
send data - 1000 256B messages 19.194 ms/op 17.545 ms/op 1.09
send data - 1000 512B messages 27.416 ms/op 25.348 ms/op 1.08
send data - 1000 1024B messages 42.405 ms/op 39.271 ms/op 1.08
send data - 1000 1200B messages 37.395 ms/op 37.281 ms/op 1.00
send data - 1000 2048B messages 42.650 ms/op 42.997 ms/op 0.99
send data - 1000 4096B messages 39.545 ms/op 40.091 ms/op 0.99
send data - 1000 16384B messages 114.62 ms/op 115.93 ms/op 0.99
send data - 1000 65536B messages 452.54 ms/op 451.35 ms/op 1.00
enrSubnets - fastDeserialize 64 bits 1.2830 us/op 1.2390 us/op 1.04
enrSubnets - ssz BitVector 64 bits 424.00 ns/op 418.00 ns/op 1.01
enrSubnets - fastDeserialize 4 bits 179.00 ns/op 173.00 ns/op 1.03
enrSubnets - ssz BitVector 4 bits 421.00 ns/op 409.00 ns/op 1.03
prioritizePeers score -10:0 att 32-0.1 sync 2-0 105.40 us/op 98.759 us/op 1.07
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 127.87 us/op 119.74 us/op 1.07
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 160.84 us/op 155.55 us/op 1.03
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 295.69 us/op 278.17 us/op 1.06
prioritizePeers score 0:0 att 64-1 sync 4-1 338.15 us/op 324.54 us/op 1.04
array of 16000 items push then shift 1.6269 us/op 1.5390 us/op 1.06
LinkedList of 16000 items push then shift 9.0310 ns/op 8.6190 ns/op 1.05
array of 16000 items push then pop 95.503 ns/op 72.656 ns/op 1.31
LinkedList of 16000 items push then pop 8.7330 ns/op 8.3760 ns/op 1.04
array of 24000 items push then shift 2.4035 us/op 2.2840 us/op 1.05
LinkedList of 24000 items push then shift 8.9940 ns/op 8.5720 ns/op 1.05
array of 24000 items push then pop 113.90 ns/op 110.05 ns/op 1.04
LinkedList of 24000 items push then pop 8.6200 ns/op 8.3110 ns/op 1.04
intersect bitArray bitLen 8 6.3670 ns/op 6.1340 ns/op 1.04
intersect array and set length 8 65.295 ns/op 60.318 ns/op 1.08
intersect bitArray bitLen 128 35.690 ns/op 32.565 ns/op 1.10
intersect array and set length 128 977.24 ns/op 816.37 ns/op 1.20
bitArray.getTrueBitIndexes() bitLen 128 1.6380 us/op 1.4100 us/op 1.16
bitArray.getTrueBitIndexes() bitLen 248 2.6780 us/op 2.3900 us/op 1.12
bitArray.getTrueBitIndexes() bitLen 512 5.1080 us/op 4.7750 us/op 1.07
Buffer.concat 32 items 981.00 ns/op 959.00 ns/op 1.02
Uint8Array.set 32 items 1.8190 us/op 1.9970 us/op 0.91
Set add up to 64 items then delete first 4.7100 us/op 4.2766 us/op 1.10
OrderedSet add up to 64 items then delete first 5.5609 us/op 5.3239 us/op 1.04
Set add up to 64 items then delete last 4.7876 us/op 4.4071 us/op 1.09
OrderedSet add up to 64 items then delete last 5.8323 us/op 5.4437 us/op 1.07
Set add up to 64 items then delete middle 4.6308 us/op 4.3592 us/op 1.06
OrderedSet add up to 64 items then delete middle 7.0916 us/op 6.6675 us/op 1.06
Set add up to 128 items then delete first 9.1927 us/op 8.8194 us/op 1.04
OrderedSet add up to 128 items then delete first 12.550 us/op 12.050 us/op 1.04
Set add up to 128 items then delete last 8.8804 us/op 8.9694 us/op 0.99
OrderedSet add up to 128 items then delete last 11.548 us/op 11.249 us/op 1.03
Set add up to 128 items then delete middle 9.1285 us/op 8.9656 us/op 1.02
OrderedSet add up to 128 items then delete middle 17.055 us/op 16.603 us/op 1.03
Set add up to 256 items then delete first 18.710 us/op 18.457 us/op 1.01
OrderedSet add up to 256 items then delete first 24.684 us/op 24.903 us/op 0.99
Set add up to 256 items then delete last 18.916 us/op 17.955 us/op 1.05
OrderedSet add up to 256 items then delete last 23.960 us/op 22.709 us/op 1.06
Set add up to 256 items then delete middle 18.935 us/op 17.827 us/op 1.06
OrderedSet add up to 256 items then delete middle 50.409 us/op 44.808 us/op 1.12
transfer serialized Status (84 B) 1.8280 us/op 1.7300 us/op 1.06
copy serialized Status (84 B) 1.5720 us/op 1.4500 us/op 1.08
transfer serialized SignedVoluntaryExit (112 B) 1.8640 us/op 1.9570 us/op 0.95
copy serialized SignedVoluntaryExit (112 B) 1.5970 us/op 1.6090 us/op 0.99
transfer serialized ProposerSlashing (416 B) 2.0720 us/op 3.0070 us/op 0.69
copy serialized ProposerSlashing (416 B) 2.0890 us/op 2.9280 us/op 0.71
transfer serialized Attestation (485 B) 2.0720 us/op 3.1300 us/op 0.66
copy serialized Attestation (485 B) 2.0390 us/op 2.9280 us/op 0.70
transfer serialized AttesterSlashing (33232 B) 2.9830 us/op 3.0570 us/op 0.98
copy serialized AttesterSlashing (33232 B) 6.9100 us/op 6.0850 us/op 1.14
transfer serialized Small SignedBeaconBlock (128000 B) 3.1820 us/op 3.1580 us/op 1.01
copy serialized Small SignedBeaconBlock (128000 B) 14.660 us/op 14.113 us/op 1.04
transfer serialized Avg SignedBeaconBlock (200000 B) 3.3410 us/op 3.5600 us/op 0.94
copy serialized Avg SignedBeaconBlock (200000 B) 21.278 us/op 20.032 us/op 1.06
transfer serialized BlobsSidecar (524380 B) 3.4370 us/op 3.3220 us/op 1.03
copy serialized BlobsSidecar (524380 B) 96.489 us/op 81.919 us/op 1.18
transfer serialized Big SignedBeaconBlock (1000000 B) 3.9870 us/op 3.6740 us/op 1.09
copy serialized Big SignedBeaconBlock (1000000 B) 229.78 us/op 148.79 us/op 1.54
pass gossip attestations to forkchoice per slot 3.8677 ms/op 3.8246 ms/op 1.01
forkChoice updateHead vc 100000 bc 64 eq 0 741.58 us/op 660.19 us/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 0 4.3346 ms/op 4.4605 ms/op 0.97
forkChoice updateHead vc 1000000 bc 64 eq 0 7.3416 ms/op 6.9217 ms/op 1.06
forkChoice updateHead vc 600000 bc 320 eq 0 5.0600 ms/op 4.1475 ms/op 1.22
forkChoice updateHead vc 600000 bc 1200 eq 0 4.2487 ms/op 4.2859 ms/op 0.99
forkChoice updateHead vc 600000 bc 7200 eq 0 5.4578 ms/op 5.1188 ms/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 1000 11.459 ms/op 11.180 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 10000 12.576 ms/op 11.816 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 300000 16.267 ms/op 15.579 ms/op 1.04
computeDeltas 500000 validators 300 proto nodes 6.7581 ms/op 6.5100 ms/op 1.04
computeDeltas 500000 validators 1200 proto nodes 6.5933 ms/op 6.3606 ms/op 1.04
computeDeltas 500000 validators 7200 proto nodes 6.6081 ms/op 6.3198 ms/op 1.05
computeDeltas 750000 validators 300 proto nodes 9.7897 ms/op 9.2726 ms/op 1.06
computeDeltas 750000 validators 1200 proto nodes 9.9835 ms/op 9.3949 ms/op 1.06
computeDeltas 750000 validators 7200 proto nodes 10.179 ms/op 9.4504 ms/op 1.08
computeDeltas 1400000 validators 300 proto nodes 19.338 ms/op 18.846 ms/op 1.03
computeDeltas 1400000 validators 1200 proto nodes 19.486 ms/op 18.823 ms/op 1.04
computeDeltas 1400000 validators 7200 proto nodes 18.955 ms/op 18.532 ms/op 1.02
computeDeltas 2100000 validators 300 proto nodes 28.758 ms/op 28.620 ms/op 1.00
computeDeltas 2100000 validators 1200 proto nodes 28.275 ms/op 27.150 ms/op 1.04
computeDeltas 2100000 validators 7200 proto nodes 28.453 ms/op 27.829 ms/op 1.02
computeProposerBoostScoreFromBalances 500000 validators 3.8060 ms/op 3.6500 ms/op 1.04
computeProposerBoostScoreFromBalances 750000 validators 3.7439 ms/op 3.5938 ms/op 1.04
computeProposerBoostScoreFromBalances 1400000 validators 3.7177 ms/op 3.5832 ms/op 1.04
computeProposerBoostScoreFromBalances 2100000 validators 3.6082 ms/op 3.6292 ms/op 0.99
altair processAttestation - 250000 vs - 7PWei normalcase 2.2053 ms/op 2.0451 ms/op 1.08
altair processAttestation - 250000 vs - 7PWei worstcase 3.3834 ms/op 3.0241 ms/op 1.12
altair processAttestation - setStatus - 1/6 committees join 179.88 us/op 139.07 us/op 1.29
altair processAttestation - setStatus - 1/3 committees join 332.67 us/op 272.95 us/op 1.22
altair processAttestation - setStatus - 1/2 committees join 464.13 us/op 371.71 us/op 1.25
altair processAttestation - setStatus - 2/3 committees join 588.59 us/op 457.49 us/op 1.29
altair processAttestation - setStatus - 4/5 committees join 789.33 us/op 655.43 us/op 1.20
altair processAttestation - setStatus - 100% committees join 932.30 us/op 758.18 us/op 1.23
altair processBlock - 250000 vs - 7PWei normalcase 10.647 ms/op 9.7957 ms/op 1.09
altair processBlock - 250000 vs - 7PWei normalcase hashState 37.636 ms/op 33.317 ms/op 1.13
altair processBlock - 250000 vs - 7PWei worstcase 39.775 ms/op 35.864 ms/op 1.11
altair processBlock - 250000 vs - 7PWei worstcase hashState 90.562 ms/op 88.727 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4939 ms/op 2.4592 ms/op 1.01
phase0 processBlock - 250000 vs - 7PWei worstcase 30.034 ms/op 30.141 ms/op 1.00
altair processEth1Data - 250000 vs - 7PWei normalcase 499.17 us/op 503.90 us/op 0.99
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 8.5200 us/op 12.199 us/op 0.70
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 53.900 us/op 57.078 us/op 0.94
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 17.083 us/op 10.631 us/op 1.61
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.2690 us/op 9.6820 us/op 0.85
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 182.83 us/op 130.14 us/op 1.40
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1948 ms/op 1.0699 ms/op 1.12
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.6021 ms/op 1.5594 ms/op 1.03
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5653 ms/op 1.5198 ms/op 1.03
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.9677 ms/op 3.2428 ms/op 1.22
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.6489 ms/op 2.2669 ms/op 1.17
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.7014 ms/op 4.4695 ms/op 1.28
Tree 40 250000 create 390.91 ms/op 336.21 ms/op 1.16
Tree 40 250000 get(125000) 197.51 ns/op 197.93 ns/op 1.00
Tree 40 250000 set(125000) 1.0321 us/op 978.60 ns/op 1.05
Tree 40 250000 toArray() 19.944 ms/op 18.555 ms/op 1.07
Tree 40 250000 iterate all - toArray() + loop 21.447 ms/op 18.713 ms/op 1.15
Tree 40 250000 iterate all - get(i) 70.104 ms/op 64.208 ms/op 1.09
MutableVector 250000 create 15.193 ms/op 13.648 ms/op 1.11
MutableVector 250000 get(125000) 6.7270 ns/op 6.3780 ns/op 1.05
MutableVector 250000 set(125000) 283.49 ns/op 267.42 ns/op 1.06
MutableVector 250000 toArray() 3.0200 ms/op 2.9909 ms/op 1.01
MutableVector 250000 iterate all - toArray() + loop 3.7158 ms/op 3.6905 ms/op 1.01
MutableVector 250000 iterate all - get(i) 1.5628 ms/op 1.8969 ms/op 0.82
Array 250000 create 2.7352 ms/op 2.7935 ms/op 0.98
Array 250000 clone - spread 1.4173 ms/op 1.2348 ms/op 1.15
Array 250000 get(125000) 1.1760 ns/op 1.0270 ns/op 1.15
Array 250000 set(125000) 4.2800 ns/op 4.0590 ns/op 1.05
Array 250000 iterate all - loop 171.96 us/op 163.76 us/op 1.05
effectiveBalanceIncrements clone Uint8Array 300000 39.182 us/op 26.326 us/op 1.49
effectiveBalanceIncrements clone MutableVector 300000 456.00 ns/op 364.00 ns/op 1.25
effectiveBalanceIncrements rw all Uint8Array 300000 211.19 us/op 197.45 us/op 1.07
effectiveBalanceIncrements rw all MutableVector 300000 93.378 ms/op 80.961 ms/op 1.15
phase0 afterProcessEpoch - 250000 vs - 7PWei 116.50 ms/op 111.13 ms/op 1.05
phase0 beforeProcessEpoch - 250000 vs - 7PWei 53.654 ms/op 51.951 ms/op 1.03
altair processEpoch - mainnet_e81889 478.77 ms/op 496.82 ms/op 0.96
mainnet_e81889 - altair beforeProcessEpoch 84.508 ms/op 80.107 ms/op 1.05
mainnet_e81889 - altair processJustificationAndFinalization 15.399 us/op 14.500 us/op 1.06
mainnet_e81889 - altair processInactivityUpdates 6.2826 ms/op 5.4021 ms/op 1.16
mainnet_e81889 - altair processRewardsAndPenalties 61.467 ms/op 60.038 ms/op 1.02
mainnet_e81889 - altair processRegistryUpdates 2.4270 us/op 2.5020 us/op 0.97
mainnet_e81889 - altair processSlashings 462.00 ns/op 426.00 ns/op 1.08
mainnet_e81889 - altair processEth1DataReset 509.00 ns/op 426.00 ns/op 1.19
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4555 ms/op 1.4261 ms/op 1.02
mainnet_e81889 - altair processSlashingsReset 3.6260 us/op 3.6460 us/op 0.99
mainnet_e81889 - altair processRandaoMixesReset 4.7910 us/op 5.0450 us/op 0.95
mainnet_e81889 - altair processHistoricalRootsUpdate 862.00 ns/op 599.00 ns/op 1.44
mainnet_e81889 - altair processParticipationFlagUpdates 2.0240 us/op 2.0950 us/op 0.97
mainnet_e81889 - altair processSyncCommitteeUpdates 643.00 ns/op 556.00 ns/op 1.16
mainnet_e81889 - altair afterProcessEpoch 119.39 ms/op 115.28 ms/op 1.04
capella processEpoch - mainnet_e217614 2.1064 s/op 2.1276 s/op 0.99
mainnet_e217614 - capella beforeProcessEpoch 507.89 ms/op 508.01 ms/op 1.00
mainnet_e217614 - capella processJustificationAndFinalization 15.650 us/op 22.100 us/op 0.71
mainnet_e217614 - capella processInactivityUpdates 24.237 ms/op 23.811 ms/op 1.02
mainnet_e217614 - capella processRewardsAndPenalties 429.86 ms/op 401.69 ms/op 1.07
mainnet_e217614 - capella processRegistryUpdates 19.798 us/op 29.402 us/op 0.67
mainnet_e217614 - capella processSlashings 588.00 ns/op 551.00 ns/op 1.07
mainnet_e217614 - capella processEth1DataReset 477.00 ns/op 516.00 ns/op 0.92
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.4319 ms/op 4.7723 ms/op 1.14
mainnet_e217614 - capella processSlashingsReset 3.5710 us/op 4.3460 us/op 0.82
mainnet_e217614 - capella processRandaoMixesReset 4.8100 us/op 7.5620 us/op 0.64
mainnet_e217614 - capella processHistoricalRootsUpdate 723.00 ns/op 431.00 ns/op 1.68
mainnet_e217614 - capella processParticipationFlagUpdates 1.8660 us/op 1.4720 us/op 1.27
mainnet_e217614 - capella afterProcessEpoch 316.04 ms/op 324.86 ms/op 0.97
phase0 processEpoch - mainnet_e58758 431.33 ms/op 467.16 ms/op 0.92
mainnet_e58758 - phase0 beforeProcessEpoch 131.01 ms/op 121.18 ms/op 1.08
mainnet_e58758 - phase0 processJustificationAndFinalization 19.039 us/op 16.160 us/op 1.18
mainnet_e58758 - phase0 processRewardsAndPenalties 69.050 ms/op 53.539 ms/op 1.29
mainnet_e58758 - phase0 processRegistryUpdates 16.464 us/op 10.390 us/op 1.58
mainnet_e58758 - phase0 processSlashings 741.00 ns/op 538.00 ns/op 1.38
mainnet_e58758 - phase0 processEth1DataReset 938.00 ns/op 376.00 ns/op 2.49
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2028 ms/op 1.1608 ms/op 1.04
mainnet_e58758 - phase0 processSlashingsReset 4.5520 us/op 4.1090 us/op 1.11
mainnet_e58758 - phase0 processRandaoMixesReset 4.4840 us/op 4.0210 us/op 1.12
mainnet_e58758 - phase0 processHistoricalRootsUpdate 615.00 ns/op 465.00 ns/op 1.32
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.0630 us/op 3.1960 us/op 1.90
mainnet_e58758 - phase0 afterProcessEpoch 96.962 ms/op 95.741 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4110 ms/op 1.4046 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5678 ms/op 1.5675 ms/op 1.00
altair processInactivityUpdates - 250000 normalcase 24.653 ms/op 22.633 ms/op 1.09
altair processInactivityUpdates - 250000 worstcase 29.996 ms/op 26.726 ms/op 1.12
phase0 processRegistryUpdates - 250000 normalcase 11.148 us/op 8.5330 us/op 1.31
phase0 processRegistryUpdates - 250000 badcase_full_deposits 416.75 us/op 392.11 us/op 1.06
phase0 processRegistryUpdates - 250000 worstcase 0.5 151.33 ms/op 122.18 ms/op 1.24
altair processRewardsAndPenalties - 250000 normalcase 58.047 ms/op 60.541 ms/op 0.96
altair processRewardsAndPenalties - 250000 worstcase 56.602 ms/op 56.345 ms/op 1.00
phase0 getAttestationDeltas - 250000 normalcase 9.9186 ms/op 8.7505 ms/op 1.13
phase0 getAttestationDeltas - 250000 worstcase 10.490 ms/op 9.6382 ms/op 1.09
phase0 processSlashings - 250000 worstcase 99.205 us/op 91.957 us/op 1.08
altair processSyncCommitteeUpdates - 250000 156.69 ms/op 156.41 ms/op 1.00
BeaconState.hashTreeRoot - No change 271.00 ns/op 279.00 ns/op 0.97
BeaconState.hashTreeRoot - 1 full validator 140.16 us/op 152.18 us/op 0.92
BeaconState.hashTreeRoot - 32 full validator 1.4009 ms/op 1.5033 ms/op 0.93
BeaconState.hashTreeRoot - 512 full validator 13.476 ms/op 18.899 ms/op 0.71
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 145.42 us/op 217.97 us/op 0.67
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.5696 ms/op 2.1629 ms/op 1.19
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 35.339 ms/op 28.830 ms/op 1.23
BeaconState.hashTreeRoot - 1 balances 141.85 us/op 122.81 us/op 1.16
BeaconState.hashTreeRoot - 32 balances 1.1511 ms/op 1.1012 ms/op 1.05
BeaconState.hashTreeRoot - 512 balances 11.235 ms/op 17.039 ms/op 0.66
BeaconState.hashTreeRoot - 250000 balances 185.29 ms/op 191.84 ms/op 0.97
aggregationBits - 2048 els - zipIndexesInBitList 17.792 us/op 17.567 us/op 1.01
byteArrayEquals 32 75.577 ns/op 74.156 ns/op 1.02
Buffer.compare 32 57.764 ns/op 55.489 ns/op 1.04
byteArrayEquals 1024 2.0650 us/op 1.9760 us/op 1.05
Buffer.compare 1024 72.996 ns/op 68.704 ns/op 1.06
byteArrayEquals 16384 32.709 us/op 32.149 us/op 1.02
Buffer.compare 16384 253.13 ns/op 269.65 ns/op 0.94
byteArrayEquals 123687377 249.72 ms/op 248.04 ms/op 1.01
Buffer.compare 123687377 6.2351 ms/op 8.2399 ms/op 0.76
byteArrayEquals 32 - diff last byte 70.173 ns/op 73.137 ns/op 0.96
Buffer.compare 32 - diff last byte 58.911 ns/op 57.264 ns/op 1.03
byteArrayEquals 1024 - diff last byte 2.0564 us/op 2.0942 us/op 0.98
Buffer.compare 1024 - diff last byte 71.818 ns/op 74.388 ns/op 0.97
byteArrayEquals 16384 - diff last byte 31.663 us/op 33.441 us/op 0.95
Buffer.compare 16384 - diff last byte 270.81 ns/op 262.95 ns/op 1.03
byteArrayEquals 123687377 - diff last byte 248.09 ms/op 247.00 ms/op 1.00
Buffer.compare 123687377 - diff last byte 6.4847 ms/op 7.2223 ms/op 0.90
byteArrayEquals 32 - random bytes 5.5170 ns/op 5.5930 ns/op 0.99
Buffer.compare 32 - random bytes 60.056 ns/op 60.883 ns/op 0.99
byteArrayEquals 1024 - random bytes 5.3540 ns/op 5.1950 ns/op 1.03
Buffer.compare 1024 - random bytes 58.905 ns/op 59.228 ns/op 0.99
byteArrayEquals 16384 - random bytes 5.1400 ns/op 5.3840 ns/op 0.95
Buffer.compare 16384 - random bytes 59.362 ns/op 60.049 ns/op 0.99
byteArrayEquals 123687377 - random bytes 8.4500 ns/op 8.5500 ns/op 0.99
Buffer.compare 123687377 - random bytes 62.240 ns/op 63.820 ns/op 0.98
regular array get 100000 times 43.106 us/op 44.849 us/op 0.96
wrappedArray get 100000 times 43.921 us/op 44.861 us/op 0.98
arrayWithProxy get 100000 times 13.812 ms/op 14.251 ms/op 0.97
ssz.Root.equals 53.473 ns/op 54.040 ns/op 0.99
byteArrayEquals 52.630 ns/op 53.087 ns/op 0.99
Buffer.compare 10.658 ns/op 11.987 ns/op 0.89
shuffle list - 16384 els 7.0065 ms/op 7.0339 ms/op 1.00
shuffle list - 250000 els 102.76 ms/op 103.54 ms/op 0.99
processSlot - 1 slots 16.524 us/op 17.249 us/op 0.96
processSlot - 32 slots 3.5793 ms/op 3.0352 ms/op 1.18
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 56.559 ms/op 55.220 ms/op 1.02
getCommitteeAssignments - req 1 vs - 250000 vc 2.5492 ms/op 2.4843 ms/op 1.03
getCommitteeAssignments - req 100 vs - 250000 vc 3.7441 ms/op 3.6614 ms/op 1.02
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1349 ms/op 4.0440 ms/op 1.02
findModifiedValidators - 10000 modified validators 555.66 ms/op 523.62 ms/op 1.06
findModifiedValidators - 1000 modified validators 435.01 ms/op 430.54 ms/op 1.01
findModifiedValidators - 100 modified validators 444.29 ms/op 380.59 ms/op 1.17
findModifiedValidators - 10 modified validators 420.58 ms/op 394.07 ms/op 1.07
findModifiedValidators - 1 modified validators 419.43 ms/op 431.32 ms/op 0.97
findModifiedValidators - no difference 465.29 ms/op 425.19 ms/op 1.09
compare ViewDUs 4.5927 s/op 4.3265 s/op 1.06
compare each validator Uint8Array 1.6276 s/op 1.8364 s/op 0.89
compare ViewDU to Uint8Array 1.2415 s/op 1.1131 s/op 1.12
migrate state 1000000 validators, 24 modified, 0 new 771.64 ms/op 781.60 ms/op 0.99
migrate state 1000000 validators, 1700 modified, 1000 new 1.1030 s/op 1.0800 s/op 1.02
migrate state 1000000 validators, 3400 modified, 2000 new 1.2243 s/op 1.3188 s/op 0.93
migrate state 1500000 validators, 24 modified, 0 new 782.48 ms/op 796.33 ms/op 0.98
migrate state 1500000 validators, 1700 modified, 1000 new 1.0971 s/op 1.0936 s/op 1.00
migrate state 1500000 validators, 3400 modified, 2000 new 1.4132 s/op 1.3197 s/op 1.07
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.0300 ns/op 4.4000 ns/op 1.14
state getBlockRootAtSlot - 250000 vs - 7PWei 771.07 ns/op 730.74 ns/op 1.06
computeProposers - vc 250000 9.7476 ms/op 9.1791 ms/op 1.06
computeEpochShuffling - vc 250000 109.39 ms/op 99.063 ms/op 1.10
getNextSyncCommittee - vc 250000 169.06 ms/op 157.65 ms/op 1.07
computeSigningRoot for AttestationData 26.118 us/op 26.756 us/op 0.98
hash AttestationData serialized data then Buffer.toString(base64) 2.4373 us/op 2.2539 us/op 1.08
toHexString serialized data 1.2598 us/op 1.0456 us/op 1.20
Buffer.toString(base64) 248.28 ns/op 211.17 ns/op 1.18

by benchmarkbot/action

Copy link
Contributor

@g11tech g11tech left a comment

Choose a reason for hiding this comment

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

i can't see you using this flag to setup validator on the tests you are targeting to fix?

@nazarhussain
Copy link
Contributor Author

i can't see you using this flag to setup validator on the tests you are targeting to fix?

I will use this in other PR which is ready and need this one to merge first.

@g11tech g11tech merged commit d7ca290 into unstable Jan 16, 2024
13 of 15 checks passed
@g11tech g11tech deleted the nh/gossip-validation-skip branch January 16, 2024 17:54
ensi321 pushed a commit to ensi321/lodestar that referenced this pull request Jan 22, 2024
* Allow to skip gossip validation

* Add code comment
@wemeetagain
Copy link
Member

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