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 configuring broadcast validation on validator for proposals #6151

Merged
merged 4 commits into from
Dec 2, 2023

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Dec 1, 2023

allows configuring the broadcastValidator that validtor can request beacon node while publishing signed block proposals

usage e.g. --broadcastValidation consensus

@g11tech g11tech requested a review from a team as a code owner December 1, 2023 21:18
philknows
philknows previously approved these changes Dec 1, 2023
Copy link
Contributor

github-actions bot commented Dec 1, 2023

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 3ecb1ea Previous: 6208e2d Ratio
Map set x1000 17.197 ns/op 52.866 ns/op 0.33
Set add up to 64 items then delete first 1.6051 us/op 5.1098 us/op 0.31
Set add up to 64 items then delete last 1.8268 us/op 5.7787 us/op 0.32
Set add up to 64 items then delete middle 1.8202 us/op 5.5910 us/op 0.33
Set add up to 128 items then delete first 3.5856 us/op 11.295 us/op 0.32
Set add up to 128 items then delete last 3.4717 us/op 11.273 us/op 0.31
Set add up to 128 items then delete middle 3.4803 us/op 11.276 us/op 0.31
Set add up to 256 items then delete first 7.0519 us/op 22.482 us/op 0.31
Set add up to 256 items then delete last 6.8619 us/op 22.853 us/op 0.30
OrderedSet add up to 256 items then delete last 10.610 us/op 32.348 us/op 0.33
Set add up to 256 items then delete middle 6.8272 us/op 22.382 us/op 0.31
forkChoice updateHead vc 600000 bc 64 eq 0 2.8598 ms/op 10.322 ms/op 0.28
Full benchmark results
Benchmark suite Current: 3ecb1ea Previous: 6208e2d Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 766.41 us/op 497.94 us/op 1.54
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 49.692 us/op 82.949 us/op 0.60
BLS verify - blst-native 1.0980 ms/op 1.3092 ms/op 0.84
BLS verifyMultipleSignatures 3 - blst-native 2.3489 ms/op 2.7527 ms/op 0.85
BLS verifyMultipleSignatures 8 - blst-native 5.1860 ms/op 6.0332 ms/op 0.86
BLS verifyMultipleSignatures 32 - blst-native 19.053 ms/op 22.065 ms/op 0.86
BLS verifyMultipleSignatures 64 - blst-native 37.529 ms/op 43.645 ms/op 0.86
BLS verifyMultipleSignatures 128 - blst-native 74.487 ms/op 86.575 ms/op 0.86
BLS deserializing 10000 signatures 769.00 ms/op 921.44 ms/op 0.83
BLS deserializing 100000 signatures 7.9847 s/op 9.3025 s/op 0.86
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1264 ms/op 1.3678 ms/op 0.82
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.2769 ms/op 1.5365 ms/op 0.83
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.3179 ms/op 2.7678 ms/op 0.84
BLS verifyMultipleSignatures - same message - 64 - blst-native 2.9942 ms/op 4.2547 ms/op 0.70
BLS verifyMultipleSignatures - same message - 128 - blst-native 4.9410 ms/op 5.7933 ms/op 0.85
BLS aggregatePubkeys 32 - blst-native 22.481 us/op 26.494 us/op 0.85
BLS aggregatePubkeys 128 - blst-native 87.883 us/op 102.75 us/op 0.86
getAttestationsForBlock 32.143 ms/op 46.909 ms/op 0.69
isKnown best case - 1 super set check 327.00 ns/op 386.00 ns/op 0.85
isKnown normal case - 2 super set checks 324.00 ns/op 373.00 ns/op 0.87
isKnown worse case - 16 super set checks 316.00 ns/op 404.00 ns/op 0.78
CheckpointStateCache - add get delete 3.5700 us/op 5.9070 us/op 0.60
validate api signedAggregateAndProof - struct 2.3883 ms/op 2.8526 ms/op 0.84
validate gossip signedAggregateAndProof - struct 2.3790 ms/op 2.8508 ms/op 0.83
validate gossip attestation - vc 640000 1.1371 ms/op 1.3892 ms/op 0.82
batch validate gossip attestation - vc 640000 - chunk 32 136.83 us/op 171.12 us/op 0.80
batch validate gossip attestation - vc 640000 - chunk 64 119.37 us/op 150.43 us/op 0.79
batch validate gossip attestation - vc 640000 - chunk 128 111.51 us/op 148.74 us/op 0.75
batch validate gossip attestation - vc 640000 - chunk 256 106.37 us/op 142.60 us/op 0.75
pickEth1Vote - no votes 852.73 us/op 1.3681 ms/op 0.62
pickEth1Vote - max votes 9.7716 ms/op 12.372 ms/op 0.79
pickEth1Vote - Eth1Data hashTreeRoot value x2048 18.729 ms/op 20.087 ms/op 0.93
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 24.060 ms/op 36.650 ms/op 0.66
pickEth1Vote - Eth1Data fastSerialize value x2048 406.96 us/op 697.53 us/op 0.58
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.9403 ms/op 6.6577 ms/op 1.04
bytes32 toHexString 441.00 ns/op 768.00 ns/op 0.57
bytes32 Buffer.toString(hex) 300.00 ns/op 309.00 ns/op 0.97
bytes32 Buffer.toString(hex) from Uint8Array 419.00 ns/op 550.00 ns/op 0.76
bytes32 Buffer.toString(hex) + 0x 296.00 ns/op 333.00 ns/op 0.89
Object access 1 prop 0.19300 ns/op 0.22100 ns/op 0.87
Map access 1 prop 0.18300 ns/op 0.18400 ns/op 0.99
Object get x1000 5.5300 ns/op 8.5300 ns/op 0.65
Map get x1000 0.72200 ns/op 1.0250 ns/op 0.70
Object set x1000 24.598 ns/op 73.333 ns/op 0.34
Map set x1000 17.197 ns/op 52.866 ns/op 0.33
Return object 10000 times 0.22550 ns/op 0.27020 ns/op 0.83
Throw Error 10000 times 2.6846 us/op 4.1256 us/op 0.65
fastMsgIdFn sha256 / 200 bytes 1.9530 us/op 3.5370 us/op 0.55
fastMsgIdFn h32 xxhash / 200 bytes 291.00 ns/op 345.00 ns/op 0.84
fastMsgIdFn h64 xxhash / 200 bytes 341.00 ns/op 412.00 ns/op 0.83
fastMsgIdFn sha256 / 1000 bytes 6.0420 us/op 12.660 us/op 0.48
fastMsgIdFn h32 xxhash / 1000 bytes 406.00 ns/op 526.00 ns/op 0.77
fastMsgIdFn h64 xxhash / 1000 bytes 406.00 ns/op 519.00 ns/op 0.78
fastMsgIdFn sha256 / 10000 bytes 52.958 us/op 116.28 us/op 0.46
fastMsgIdFn h32 xxhash / 10000 bytes 1.7720 us/op 2.2660 us/op 0.78
fastMsgIdFn h64 xxhash / 10000 bytes 1.2170 us/op 1.5370 us/op 0.79
send data - 1000 256B messages 11.235 ms/op 24.005 ms/op 0.47
send data - 1000 512B messages 14.838 ms/op 31.513 ms/op 0.47
send data - 1000 1024B messages 21.563 ms/op 47.494 ms/op 0.45
send data - 1000 1200B messages 27.086 ms/op 41.016 ms/op 0.66
send data - 1000 2048B messages 31.225 ms/op 55.548 ms/op 0.56
send data - 1000 4096B messages 29.716 ms/op 53.349 ms/op 0.56
send data - 1000 16384B messages 87.806 ms/op 150.19 ms/op 0.58
send data - 1000 65536B messages 407.59 ms/op 546.82 ms/op 0.75
enrSubnets - fastDeserialize 64 bits 958.00 ns/op 2.6050 us/op 0.37
enrSubnets - ssz BitVector 64 bits 390.00 ns/op 745.00 ns/op 0.52
enrSubnets - fastDeserialize 4 bits 189.00 ns/op 287.00 ns/op 0.66
enrSubnets - ssz BitVector 4 bits 392.00 ns/op 649.00 ns/op 0.60
prioritizePeers score -10:0 att 32-0.1 sync 2-0 63.898 us/op 143.71 us/op 0.44
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 77.762 us/op 182.25 us/op 0.43
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 103.87 us/op 262.18 us/op 0.40
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 177.53 us/op 431.18 us/op 0.41
prioritizePeers score 0:0 att 64-1 sync 4-1 202.84 us/op 430.87 us/op 0.47
array of 16000 items push then shift 1.2097 us/op 1.8609 us/op 0.65
LinkedList of 16000 items push then shift 6.5820 ns/op 10.959 ns/op 0.60
array of 16000 items push then pop 74.964 ns/op 141.39 ns/op 0.53
LinkedList of 16000 items push then pop 5.4400 ns/op 9.9970 ns/op 0.54
array of 24000 items push then shift 1.7477 us/op 2.7287 us/op 0.64
LinkedList of 24000 items push then shift 6.0610 ns/op 12.101 ns/op 0.50
array of 24000 items push then pop 88.440 ns/op 171.20 ns/op 0.52
LinkedList of 24000 items push then pop 5.3410 ns/op 9.5620 ns/op 0.56
intersect bitArray bitLen 8 4.5500 ns/op 7.0340 ns/op 0.65
intersect array and set length 8 44.959 ns/op 95.251 ns/op 0.47
intersect bitArray bitLen 128 25.996 ns/op 38.367 ns/op 0.68
intersect array and set length 128 632.27 ns/op 1.1804 us/op 0.54
bitArray.getTrueBitIndexes() bitLen 128 1.1880 us/op 1.9790 us/op 0.60
bitArray.getTrueBitIndexes() bitLen 248 1.9780 us/op 3.2820 us/op 0.60
bitArray.getTrueBitIndexes() bitLen 512 3.6920 us/op 7.0970 us/op 0.52
Buffer.concat 32 items 820.00 ns/op 1.1530 us/op 0.71
Uint8Array.set 32 items 1.8320 us/op 2.1100 us/op 0.87
Set add up to 64 items then delete first 1.6051 us/op 5.1098 us/op 0.31
OrderedSet add up to 64 items then delete first 2.4366 us/op 6.8808 us/op 0.35
Set add up to 64 items then delete last 1.8268 us/op 5.7787 us/op 0.32
OrderedSet add up to 64 items then delete last 2.7304 us/op 7.6454 us/op 0.36
Set add up to 64 items then delete middle 1.8202 us/op 5.5910 us/op 0.33
OrderedSet add up to 64 items then delete middle 3.8930 us/op 8.6350 us/op 0.45
Set add up to 128 items then delete first 3.5856 us/op 11.295 us/op 0.32
OrderedSet add up to 128 items then delete first 5.6632 us/op 14.787 us/op 0.38
Set add up to 128 items then delete last 3.4717 us/op 11.273 us/op 0.31
OrderedSet add up to 128 items then delete last 5.2422 us/op 15.252 us/op 0.34
Set add up to 128 items then delete middle 3.4803 us/op 11.276 us/op 0.31
OrderedSet add up to 128 items then delete middle 10.028 us/op 21.341 us/op 0.47
Set add up to 256 items then delete first 7.0519 us/op 22.482 us/op 0.31
OrderedSet add up to 256 items then delete first 11.414 us/op 30.390 us/op 0.38
Set add up to 256 items then delete last 6.8619 us/op 22.853 us/op 0.30
OrderedSet add up to 256 items then delete last 10.610 us/op 32.348 us/op 0.33
Set add up to 256 items then delete middle 6.8272 us/op 22.382 us/op 0.31
OrderedSet add up to 256 items then delete middle 29.821 us/op 54.532 us/op 0.55
transfer serialized Status (84 B) 1.4050 us/op 2.3060 us/op 0.61
copy serialized Status (84 B) 1.3010 us/op 1.8860 us/op 0.69
transfer serialized SignedVoluntaryExit (112 B) 1.6900 us/op 2.2230 us/op 0.76
copy serialized SignedVoluntaryExit (112 B) 1.3970 us/op 1.8990 us/op 0.74
transfer serialized ProposerSlashing (416 B) 2.6330 us/op 3.3540 us/op 0.79
copy serialized ProposerSlashing (416 B) 1.8470 us/op 3.8940 us/op 0.47
transfer serialized Attestation (485 B) 2.2070 us/op 3.7620 us/op 0.59
copy serialized Attestation (485 B) 2.0790 us/op 3.7920 us/op 0.55
transfer serialized AttesterSlashing (33232 B) 2.6640 us/op 3.1660 us/op 0.84
copy serialized AttesterSlashing (33232 B) 4.6880 us/op 11.532 us/op 0.41
transfer serialized Small SignedBeaconBlock (128000 B) 2.9630 us/op 3.8260 us/op 0.77
copy serialized Small SignedBeaconBlock (128000 B) 8.9480 us/op 36.479 us/op 0.25
transfer serialized Avg SignedBeaconBlock (200000 B) 2.7640 us/op 4.7360 us/op 0.58
copy serialized Avg SignedBeaconBlock (200000 B) 12.077 us/op 64.109 us/op 0.19
transfer serialized BlobsSidecar (524380 B) 2.6670 us/op 5.0120 us/op 0.53
copy serialized BlobsSidecar (524380 B) 86.950 us/op 157.42 us/op 0.55
transfer serialized Big SignedBeaconBlock (1000000 B) 3.0980 us/op 6.9040 us/op 0.45
copy serialized Big SignedBeaconBlock (1000000 B) 176.37 us/op 330.14 us/op 0.53
pass gossip attestations to forkchoice per slot 2.7160 ms/op 5.0945 ms/op 0.53
forkChoice updateHead vc 100000 bc 64 eq 0 445.92 us/op 852.15 us/op 0.52
forkChoice updateHead vc 600000 bc 64 eq 0 2.8598 ms/op 10.322 ms/op 0.28
forkChoice updateHead vc 1000000 bc 64 eq 0 4.3725 ms/op 9.2129 ms/op 0.47
forkChoice updateHead vc 600000 bc 320 eq 0 2.5203 ms/op 6.1430 ms/op 0.41
forkChoice updateHead vc 600000 bc 1200 eq 0 2.6548 ms/op 5.4521 ms/op 0.49
forkChoice updateHead vc 600000 bc 7200 eq 0 3.6119 ms/op 7.3441 ms/op 0.49
forkChoice updateHead vc 600000 bc 64 eq 1000 9.5453 ms/op 12.925 ms/op 0.74
forkChoice updateHead vc 600000 bc 64 eq 10000 9.3498 ms/op 13.833 ms/op 0.68
forkChoice updateHead vc 600000 bc 64 eq 300000 12.364 ms/op 30.625 ms/op 0.40
computeDeltas 500000 validators 300 proto nodes 3.0429 ms/op 7.1993 ms/op 0.42
computeDeltas 500000 validators 1200 proto nodes 2.9508 ms/op 7.3540 ms/op 0.40
computeDeltas 500000 validators 7200 proto nodes 2.8772 ms/op 7.1720 ms/op 0.40
computeDeltas 750000 validators 300 proto nodes 4.5196 ms/op 10.504 ms/op 0.43
computeDeltas 750000 validators 1200 proto nodes 4.4970 ms/op 10.338 ms/op 0.44
computeDeltas 750000 validators 7200 proto nodes 4.4231 ms/op 9.9210 ms/op 0.45
computeDeltas 1400000 validators 300 proto nodes 8.3796 ms/op 19.254 ms/op 0.44
computeDeltas 1400000 validators 1200 proto nodes 8.7218 ms/op 18.452 ms/op 0.47
computeDeltas 1400000 validators 7200 proto nodes 8.7020 ms/op 18.258 ms/op 0.48
computeDeltas 2100000 validators 300 proto nodes 13.809 ms/op 27.053 ms/op 0.51
computeDeltas 2100000 validators 1200 proto nodes 13.420 ms/op 27.397 ms/op 0.49
computeDeltas 2100000 validators 7200 proto nodes 13.641 ms/op 27.799 ms/op 0.49
computeProposerBoostScoreFromBalances 500000 validators 3.1070 ms/op 3.7275 ms/op 0.83
computeProposerBoostScoreFromBalances 750000 validators 3.1132 ms/op 3.7654 ms/op 0.83
computeProposerBoostScoreFromBalances 1400000 validators 3.2911 ms/op 3.7799 ms/op 0.87
computeProposerBoostScoreFromBalances 2100000 validators 3.1948 ms/op 3.7347 ms/op 0.86
altair processAttestation - 250000 vs - 7PWei normalcase 1.3874 ms/op 2.2321 ms/op 0.62
altair processAttestation - 250000 vs - 7PWei worstcase 2.2455 ms/op 3.3680 ms/op 0.67
altair processAttestation - setStatus - 1/6 committees join 67.982 us/op 180.43 us/op 0.38
altair processAttestation - setStatus - 1/3 committees join 151.91 us/op 348.77 us/op 0.44
altair processAttestation - setStatus - 1/2 committees join 197.45 us/op 466.54 us/op 0.42
altair processAttestation - setStatus - 2/3 committees join 272.22 us/op 606.04 us/op 0.45
altair processAttestation - setStatus - 4/5 committees join 383.00 us/op 787.79 us/op 0.49
altair processAttestation - setStatus - 100% committees join 451.25 us/op 936.60 us/op 0.48
altair processBlock - 250000 vs - 7PWei normalcase 7.6348 ms/op 11.269 ms/op 0.68
altair processBlock - 250000 vs - 7PWei normalcase hashState 31.579 ms/op 34.887 ms/op 0.91
altair processBlock - 250000 vs - 7PWei worstcase 29.471 ms/op 38.548 ms/op 0.76
altair processBlock - 250000 vs - 7PWei worstcase hashState 72.306 ms/op 91.344 ms/op 0.79
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5420 ms/op 3.1445 ms/op 0.81
phase0 processBlock - 250000 vs - 7PWei worstcase 25.202 ms/op 30.219 ms/op 0.83
altair processEth1Data - 250000 vs - 7PWei normalcase 272.85 us/op 631.12 us/op 0.43
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 11.650 us/op 7.6950 us/op 1.51
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 59.314 us/op 72.440 us/op 0.82
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 14.785 us/op 10.451 us/op 1.41
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 9.7620 us/op 10.529 us/op 0.93
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 151.14 us/op 177.74 us/op 0.85
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 848.42 us/op 1.4026 ms/op 0.60
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4676 ms/op 1.5607 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.8356 ms/op 1.8666 ms/op 0.98
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.4022 ms/op 3.7541 ms/op 0.64
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.4477 ms/op 2.3373 ms/op 0.62
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.4653 ms/op 5.2319 ms/op 0.66
Tree 40 250000 create 276.13 ms/op 361.94 ms/op 0.76
Tree 40 250000 get(125000) 117.80 ns/op 195.32 ns/op 0.60
Tree 40 250000 set(125000) 726.97 ns/op 1.1853 us/op 0.61
Tree 40 250000 toArray() 10.743 ms/op 24.641 ms/op 0.44
Tree 40 250000 iterate all - toArray() + loop 11.045 ms/op 20.767 ms/op 0.53
Tree 40 250000 iterate all - get(i) 43.547 ms/op 68.907 ms/op 0.63
MutableVector 250000 create 12.270 ms/op 10.929 ms/op 1.12
MutableVector 250000 get(125000) 5.8160 ns/op 6.6810 ns/op 0.87
MutableVector 250000 set(125000) 203.21 ns/op 283.25 ns/op 0.72
MutableVector 250000 toArray() 2.2357 ms/op 3.5049 ms/op 0.64
MutableVector 250000 iterate all - toArray() + loop 2.7901 ms/op 3.3137 ms/op 0.84
MutableVector 250000 iterate all - get(i) 1.3525 ms/op 1.6132 ms/op 0.84
Array 250000 create 2.1310 ms/op 3.4333 ms/op 0.62
Array 250000 clone - spread 1.2068 ms/op 1.1732 ms/op 1.03
Array 250000 get(125000) 1.4940 ns/op 1.0060 ns/op 1.49
Array 250000 set(125000) 2.1580 ns/op 4.0300 ns/op 0.54
Array 250000 iterate all - loop 150.73 us/op 164.37 us/op 0.92
effectiveBalanceIncrements clone Uint8Array 300000 34.693 us/op 25.617 us/op 1.35
effectiveBalanceIncrements clone MutableVector 300000 444.00 ns/op 338.00 ns/op 1.31
effectiveBalanceIncrements rw all Uint8Array 300000 180.74 us/op 200.25 us/op 0.90
effectiveBalanceIncrements rw all MutableVector 300000 67.261 ms/op 81.062 ms/op 0.83
phase0 afterProcessEpoch - 250000 vs - 7PWei 81.297 ms/op 115.10 ms/op 0.71
phase0 beforeProcessEpoch - 250000 vs - 7PWei 34.041 ms/op 49.397 ms/op 0.69
altair processEpoch - mainnet_e81889 453.67 ms/op 481.02 ms/op 0.94
mainnet_e81889 - altair beforeProcessEpoch 74.542 ms/op 79.358 ms/op 0.94
mainnet_e81889 - altair processJustificationAndFinalization 11.830 us/op 14.427 us/op 0.82
mainnet_e81889 - altair processInactivityUpdates 5.8449 ms/op 6.2530 ms/op 0.93
mainnet_e81889 - altair processRewardsAndPenalties 57.064 ms/op 61.119 ms/op 0.93
mainnet_e81889 - altair processRegistryUpdates 2.2490 us/op 2.5200 us/op 0.89
mainnet_e81889 - altair processSlashings 626.00 ns/op 463.00 ns/op 1.35
mainnet_e81889 - altair processEth1DataReset 607.00 ns/op 491.00 ns/op 1.24
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.7236 ms/op 1.4490 ms/op 1.19
mainnet_e81889 - altair processSlashingsReset 2.8530 us/op 4.1210 us/op 0.69
mainnet_e81889 - altair processRandaoMixesReset 3.1360 us/op 5.5140 us/op 0.57
mainnet_e81889 - altair processHistoricalRootsUpdate 581.00 ns/op 744.00 ns/op 0.78
mainnet_e81889 - altair processParticipationFlagUpdates 1.4240 us/op 2.5720 us/op 0.55
mainnet_e81889 - altair processSyncCommitteeUpdates 702.00 ns/op 986.00 ns/op 0.71
mainnet_e81889 - altair afterProcessEpoch 80.697 ms/op 122.81 ms/op 0.66
capella processEpoch - mainnet_e217614 1.9566 s/op 2.1737 s/op 0.90
mainnet_e217614 - capella beforeProcessEpoch 360.96 ms/op 460.34 ms/op 0.78
mainnet_e217614 - capella processJustificationAndFinalization 10.093 us/op 14.480 us/op 0.70
mainnet_e217614 - capella processInactivityUpdates 16.255 ms/op 16.971 ms/op 0.96
mainnet_e217614 - capella processRewardsAndPenalties 370.67 ms/op 395.81 ms/op 0.94
mainnet_e217614 - capella processRegistryUpdates 14.254 us/op 23.507 us/op 0.61
mainnet_e217614 - capella processSlashings 612.00 ns/op 528.00 ns/op 1.16
mainnet_e217614 - capella processEth1DataReset 616.00 ns/op 523.00 ns/op 1.18
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.6722 ms/op 5.0622 ms/op 0.73
mainnet_e217614 - capella processSlashingsReset 2.4930 us/op 3.6520 us/op 0.68
mainnet_e217614 - capella processRandaoMixesReset 3.1870 us/op 5.6050 us/op 0.57
mainnet_e217614 - capella processHistoricalRootsUpdate 773.00 ns/op 877.00 ns/op 0.88
mainnet_e217614 - capella processParticipationFlagUpdates 1.4900 us/op 1.9140 us/op 0.78
mainnet_e217614 - capella afterProcessEpoch 199.66 ms/op 312.80 ms/op 0.64
phase0 processEpoch - mainnet_e58758 381.63 ms/op 461.91 ms/op 0.83
mainnet_e58758 - phase0 beforeProcessEpoch 97.930 ms/op 144.13 ms/op 0.68
mainnet_e58758 - phase0 processJustificationAndFinalization 12.100 us/op 16.781 us/op 0.72
mainnet_e58758 - phase0 processRewardsAndPenalties 43.564 ms/op 58.177 ms/op 0.75
mainnet_e58758 - phase0 processRegistryUpdates 8.5330 us/op 12.427 us/op 0.69
mainnet_e58758 - phase0 processSlashings 634.00 ns/op 550.00 ns/op 1.15
mainnet_e58758 - phase0 processEth1DataReset 525.00 ns/op 406.00 ns/op 1.29
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.4005 ms/op 1.2169 ms/op 1.15
mainnet_e58758 - phase0 processSlashingsReset 2.0060 us/op 4.6470 us/op 0.43
mainnet_e58758 - phase0 processRandaoMixesReset 2.6620 us/op 4.4100 us/op 0.60
mainnet_e58758 - phase0 processHistoricalRootsUpdate 562.00 ns/op 418.00 ns/op 1.34
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.5260 us/op 4.2160 us/op 1.07
mainnet_e58758 - phase0 afterProcessEpoch 67.555 ms/op 104.65 ms/op 0.65
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0277 ms/op 1.4306 ms/op 0.72
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9449 ms/op 1.5780 ms/op 1.23
altair processInactivityUpdates - 250000 normalcase 22.486 ms/op 25.887 ms/op 0.87
altair processInactivityUpdates - 250000 worstcase 26.576 ms/op 26.984 ms/op 0.98
phase0 processRegistryUpdates - 250000 normalcase 7.4650 us/op 9.4680 us/op 0.79
phase0 processRegistryUpdates - 250000 badcase_full_deposits 324.33 us/op 445.41 us/op 0.73
phase0 processRegistryUpdates - 250000 worstcase 0.5 119.73 ms/op 157.18 ms/op 0.76
altair processRewardsAndPenalties - 250000 normalcase 62.147 ms/op 55.833 ms/op 1.11
altair processRewardsAndPenalties - 250000 worstcase 60.511 ms/op 57.806 ms/op 1.05
phase0 getAttestationDeltas - 250000 normalcase 5.4998 ms/op 11.950 ms/op 0.46
phase0 getAttestationDeltas - 250000 worstcase 5.0279 ms/op 12.745 ms/op 0.39
phase0 processSlashings - 250000 worstcase 47.266 us/op 108.54 us/op 0.44
altair processSyncCommitteeUpdates - 250000 109.38 ms/op 169.21 ms/op 0.65
BeaconState.hashTreeRoot - No change 307.00 ns/op 265.00 ns/op 1.16
BeaconState.hashTreeRoot - 1 full validator 123.14 us/op 162.69 us/op 0.76
BeaconState.hashTreeRoot - 32 full validator 1.4988 ms/op 1.5441 ms/op 0.97
BeaconState.hashTreeRoot - 512 full validator 13.902 ms/op 17.908 ms/op 0.78
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 177.06 us/op 196.24 us/op 0.90
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0488 ms/op 2.5402 ms/op 0.81
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.110 ms/op 32.821 ms/op 0.70
BeaconState.hashTreeRoot - 1 balances 124.76 us/op 198.16 us/op 0.63
BeaconState.hashTreeRoot - 32 balances 1.0353 ms/op 1.6783 ms/op 0.62
BeaconState.hashTreeRoot - 512 balances 12.995 ms/op 13.739 ms/op 0.95
BeaconState.hashTreeRoot - 250000 balances 177.28 ms/op 199.66 ms/op 0.89
aggregationBits - 2048 els - zipIndexesInBitList 11.904 us/op 20.249 us/op 0.59
byteArrayEquals 32 60.101 ns/op 78.757 ns/op 0.76
Buffer.compare 32 34.232 ns/op 57.765 ns/op 0.59
byteArrayEquals 1024 1.5988 us/op 2.0992 us/op 0.76
Buffer.compare 1024 41.525 ns/op 71.980 ns/op 0.58
byteArrayEquals 16384 25.480 us/op 33.454 us/op 0.76
Buffer.compare 16384 194.93 ns/op 275.27 ns/op 0.71
byteArrayEquals 123687377 193.39 ms/op 243.94 ms/op 0.79
Buffer.compare 123687377 5.2903 ms/op 6.0887 ms/op 0.87
byteArrayEquals 32 - diff last byte 57.857 ns/op 71.947 ns/op 0.80
Buffer.compare 32 - diff last byte 37.982 ns/op 60.793 ns/op 0.62
byteArrayEquals 1024 - diff last byte 1.7883 us/op 2.0684 us/op 0.86
Buffer.compare 1024 - diff last byte 46.712 ns/op 73.798 ns/op 0.63
byteArrayEquals 16384 - diff last byte 28.400 us/op 32.852 us/op 0.86
Buffer.compare 16384 - diff last byte 229.71 ns/op 277.13 ns/op 0.83
byteArrayEquals 123687377 - diff last byte 207.04 ms/op 242.70 ms/op 0.85
Buffer.compare 123687377 - diff last byte 3.6479 ms/op 6.0065 ms/op 0.61
byteArrayEquals 32 - random bytes 4.5270 ns/op 5.2280 ns/op 0.87
Buffer.compare 32 - random bytes 40.158 ns/op 58.491 ns/op 0.69
byteArrayEquals 1024 - random bytes 4.4460 ns/op 4.9960 ns/op 0.89
Buffer.compare 1024 - random bytes 37.984 ns/op 58.235 ns/op 0.65
byteArrayEquals 16384 - random bytes 4.4590 ns/op 4.9940 ns/op 0.89
Buffer.compare 16384 - random bytes 37.742 ns/op 57.952 ns/op 0.65
byteArrayEquals 123687377 - random bytes 8.0500 ns/op 8.0000 ns/op 1.01
Buffer.compare 123687377 - random bytes 45.070 ns/op 61.520 ns/op 0.73
regular array get 100000 times 40.957 us/op 42.666 us/op 0.96
wrappedArray get 100000 times 41.000 us/op 42.748 us/op 0.96
arrayWithProxy get 100000 times 10.122 ms/op 13.674 ms/op 0.74
ssz.Root.equals 53.831 ns/op 51.768 ns/op 1.04
byteArrayEquals 49.050 ns/op 50.934 ns/op 0.96
Buffer.compare 9.2140 ns/op 10.409 ns/op 0.89
shuffle list - 16384 els 4.5304 ms/op 6.8939 ms/op 0.66
shuffle list - 250000 els 66.857 ms/op 99.560 ms/op 0.67
processSlot - 1 slots 16.986 us/op 16.664 us/op 1.02
processSlot - 32 slots 2.6779 ms/op 3.0151 ms/op 0.89
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.061 ms/op 51.544 ms/op 1.11
getCommitteeAssignments - req 1 vs - 250000 vc 2.2266 ms/op 2.4448 ms/op 0.91
getCommitteeAssignments - req 100 vs - 250000 vc 3.3786 ms/op 3.6191 ms/op 0.93
getCommitteeAssignments - req 1000 vs - 250000 vc 3.6399 ms/op 3.9800 ms/op 0.91
findModifiedValidators - 10000 modified validators 420.25 ms/op 506.96 ms/op 0.83
findModifiedValidators - 1000 modified validators 302.88 ms/op 406.13 ms/op 0.75
findModifiedValidators - 100 modified validators 293.07 ms/op 402.22 ms/op 0.73
findModifiedValidators - 10 modified validators 289.00 ms/op 431.10 ms/op 0.67
findModifiedValidators - 1 modified validators 268.56 ms/op 414.19 ms/op 0.65
findModifiedValidators - no difference 303.79 ms/op 382.97 ms/op 0.79
compare ViewDUs 3.9585 s/op 4.4744 s/op 0.88
compare each validator Uint8Array 1.7779 s/op 1.6964 s/op 1.05
compare ViewDU to Uint8Array 827.64 ms/op 1.2863 s/op 0.64
migrate state 1000000 validators, 24 modified, 0 new 756.70 ms/op 844.06 ms/op 0.90
migrate state 1000000 validators, 1700 modified, 1000 new 1.0201 s/op 1.1796 s/op 0.86
migrate state 1000000 validators, 3400 modified, 2000 new 1.2198 s/op 1.3955 s/op 0.87
migrate state 1500000 validators, 24 modified, 0 new 736.73 ms/op 725.60 ms/op 1.02
migrate state 1500000 validators, 1700 modified, 1000 new 1.0311 s/op 1.1022 s/op 0.94
migrate state 1500000 validators, 3400 modified, 2000 new 1.2291 s/op 1.4015 s/op 0.88
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.8000 ns/op 4.8000 ns/op 1.00
state getBlockRootAtSlot - 250000 vs - 7PWei 953.34 ns/op 607.94 ns/op 1.57
computeProposers - vc 250000 5.4926 ms/op 9.6847 ms/op 0.57
computeEpochShuffling - vc 250000 68.793 ms/op 110.73 ms/op 0.62
getNextSyncCommittee - vc 250000 104.48 ms/op 161.91 ms/op 0.65
computeSigningRoot for AttestationData 26.525 us/op 24.803 us/op 1.07
hash AttestationData serialized data then Buffer.toString(base64) 1.2242 us/op 2.4611 us/op 0.50
toHexString serialized data 827.25 ns/op 1.1497 us/op 0.72
Buffer.toString(base64) 154.34 ns/op 231.09 ns/op 0.67

by benchmarkbot/action

wemeetagain
wemeetagain previously approved these changes Dec 1, 2023
@g11tech g11tech dismissed stale reviews from wemeetagain and philknows via 0cd4e7e December 2, 2023 05:47
@philknows philknows merged commit 5201ac4 into unstable Dec 2, 2023
14 of 15 checks passed
@philknows philknows deleted the g11tech/bval-option branch December 2, 2023 14:03
philknows pushed a commit that referenced this pull request Dec 2, 2023
…ls (#6151)

* feat: allow configuring broadcast validation on validator for proposals

* fix test

* add bodyroot log

* typo
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.12.1 🎉

@wemeetagain
Copy link
Member

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