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 builder boost factor to be configured via proposer config file #6357

Merged
merged 3 commits into from
Jan 26, 2024

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Jan 26, 2024

allows per validator configuration of boost factor for builder via static proposer config file

Closes #6304

@g11tech g11tech requested a review from a team as a code owner January 26, 2024 08:58
Copy link
Contributor

github-actions bot commented Jan 26, 2024

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: c7c8fb1 Previous: 01d47b9 Ratio
toHexString serialized data 3.7264 us/op 1.0998 us/op 3.39
Full benchmark results
Benchmark suite Current: c7c8fb1 Previous: 01d47b9 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 810.02 us/op 960.45 us/op 0.84
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 105.84 us/op 96.573 us/op 1.10
BLS verify - blst-native 1.3416 ms/op 1.2916 ms/op 1.04
BLS verifyMultipleSignatures 3 - blst-native 2.8031 ms/op 2.7928 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst-native 6.1749 ms/op 6.1495 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 22.472 ms/op 22.561 ms/op 1.00
BLS verifyMultipleSignatures 64 - blst-native 44.492 ms/op 44.156 ms/op 1.01
BLS verifyMultipleSignatures 128 - blst-native 87.833 ms/op 88.476 ms/op 0.99
BLS deserializing 10000 signatures 939.84 ms/op 918.39 ms/op 1.02
BLS deserializing 100000 signatures 9.4848 s/op 9.4698 s/op 1.00
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3755 ms/op 1.3170 ms/op 1.04
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5447 ms/op 1.6647 ms/op 0.93
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.7425 ms/op 2.9116 ms/op 0.94
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.2106 ms/op 4.2850 ms/op 0.98
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.6885 ms/op 7.2130 ms/op 1.07
BLS aggregatePubkeys 32 - blst-native 28.784 us/op 26.770 us/op 1.08
BLS aggregatePubkeys 128 - blst-native 103.94 us/op 99.999 us/op 1.04
getAttestationsForBlock 59.361 ms/op 51.779 ms/op 1.15
getSlashingsAndExits - default max 233.91 us/op 163.45 us/op 1.43
getSlashingsAndExits - 2k 485.99 us/op 556.02 us/op 0.87
proposeBlockBody type=full, size=empty 5.2148 ms/op 5.3332 ms/op 0.98
isKnown best case - 1 super set check 462.00 ns/op 482.00 ns/op 0.96
isKnown normal case - 2 super set checks 469.00 ns/op 637.00 ns/op 0.74
isKnown worse case - 16 super set checks 418.00 ns/op 619.00 ns/op 0.68
CheckpointStateCache - add get delete 7.9790 us/op 6.3590 us/op 1.25
validate api signedAggregateAndProof - struct 2.8721 ms/op 2.8511 ms/op 1.01
validate gossip signedAggregateAndProof - struct 2.8487 ms/op 2.8270 ms/op 1.01
validate gossip attestation - vc 640000 1.4040 ms/op 1.3780 ms/op 1.02
batch validate gossip attestation - vc 640000 - chunk 32 173.77 us/op 170.56 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 64 150.16 us/op 155.24 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 128 141.67 us/op 153.13 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 256 135.38 us/op 133.86 us/op 1.01
pickEth1Vote - no votes 1.2943 ms/op 1.2567 ms/op 1.03
pickEth1Vote - max votes 9.8603 ms/op 11.269 ms/op 0.87
pickEth1Vote - Eth1Data hashTreeRoot value x2048 20.806 ms/op 20.268 ms/op 1.03
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.008 ms/op 33.232 ms/op 0.78
pickEth1Vote - Eth1Data fastSerialize value x2048 669.74 us/op 686.96 us/op 0.97
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.2579 ms/op 5.9611 ms/op 0.88
bytes32 toHexString 751.00 ns/op 506.00 ns/op 1.48
bytes32 Buffer.toString(hex) 363.00 ns/op 290.00 ns/op 1.25
bytes32 Buffer.toString(hex) from Uint8Array 500.00 ns/op 418.00 ns/op 1.20
bytes32 Buffer.toString(hex) + 0x 372.00 ns/op 298.00 ns/op 1.25
Object access 1 prop 0.22100 ns/op 0.17400 ns/op 1.27
Map access 1 prop 0.20200 ns/op 0.14400 ns/op 1.40
Object get x1000 7.5980 ns/op 6.9590 ns/op 1.09
Map get x1000 0.80500 ns/op 0.82300 ns/op 0.98
Object set x1000 54.874 ns/op 55.484 ns/op 0.99
Map set x1000 46.674 ns/op 45.274 ns/op 1.03
Return object 10000 times 0.25210 ns/op 0.24110 ns/op 1.05
Throw Error 10000 times 3.8868 us/op 3.9333 us/op 0.99
fastMsgIdFn sha256 / 200 bytes 3.4540 us/op 3.3470 us/op 1.03
fastMsgIdFn h32 xxhash / 200 bytes 370.00 ns/op 297.00 ns/op 1.25
fastMsgIdFn h64 xxhash / 200 bytes 448.00 ns/op 337.00 ns/op 1.33
fastMsgIdFn sha256 / 1000 bytes 11.827 us/op 11.385 us/op 1.04
fastMsgIdFn h32 xxhash / 1000 bytes 478.00 ns/op 429.00 ns/op 1.11
fastMsgIdFn h64 xxhash / 1000 bytes 509.00 ns/op 429.00 ns/op 1.19
fastMsgIdFn sha256 / 10000 bytes 109.45 us/op 101.85 us/op 1.07
fastMsgIdFn h32 xxhash / 10000 bytes 2.0840 us/op 1.9640 us/op 1.06
fastMsgIdFn h64 xxhash / 10000 bytes 1.4330 us/op 1.3250 us/op 1.08
send data - 1000 256B messages 22.428 ms/op 19.422 ms/op 1.15
send data - 1000 512B messages 26.808 ms/op 27.072 ms/op 0.99
send data - 1000 1024B messages 45.562 ms/op 39.409 ms/op 1.16
send data - 1000 1200B messages 40.050 ms/op 37.768 ms/op 1.06
send data - 1000 2048B messages 51.423 ms/op 48.190 ms/op 1.07
send data - 1000 4096B messages 45.383 ms/op 44.479 ms/op 1.02
send data - 1000 16384B messages 116.60 ms/op 119.26 ms/op 0.98
send data - 1000 65536B messages 462.72 ms/op 475.98 ms/op 0.97
enrSubnets - fastDeserialize 64 bits 1.5480 us/op 1.3570 us/op 1.14
enrSubnets - ssz BitVector 64 bits 600.00 ns/op 479.00 ns/op 1.25
enrSubnets - fastDeserialize 4 bits 263.00 ns/op 180.00 ns/op 1.46
enrSubnets - ssz BitVector 4 bits 526.00 ns/op 428.00 ns/op 1.23
prioritizePeers score -10:0 att 32-0.1 sync 2-0 108.69 us/op 107.34 us/op 1.01
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 150.21 us/op 140.20 us/op 1.07
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 178.30 us/op 181.99 us/op 0.98
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 308.55 us/op 324.92 us/op 0.95
prioritizePeers score 0:0 att 64-1 sync 4-1 349.90 us/op 369.87 us/op 0.95
array of 16000 items push then shift 1.6456 us/op 1.6702 us/op 0.99
LinkedList of 16000 items push then shift 9.0760 ns/op 9.2170 ns/op 0.98
array of 16000 items push then pop 100.52 ns/op 106.71 ns/op 0.94
LinkedList of 16000 items push then pop 9.2390 ns/op 8.9860 ns/op 1.03
array of 24000 items push then shift 2.5119 us/op 2.5396 us/op 0.99
LinkedList of 24000 items push then shift 9.5430 ns/op 9.4930 ns/op 1.01
array of 24000 items push then pop 138.36 ns/op 150.21 ns/op 0.92
LinkedList of 24000 items push then pop 9.1370 ns/op 8.7930 ns/op 1.04
intersect bitArray bitLen 8 6.6080 ns/op 6.5150 ns/op 1.01
intersect array and set length 8 86.235 ns/op 70.234 ns/op 1.23
intersect bitArray bitLen 128 34.533 ns/op 35.100 ns/op 0.98
intersect array and set length 128 937.96 ns/op 1.0294 us/op 0.91
bitArray.getTrueBitIndexes() bitLen 128 1.7810 us/op 1.8380 us/op 0.97
bitArray.getTrueBitIndexes() bitLen 248 2.8560 us/op 3.1020 us/op 0.92
bitArray.getTrueBitIndexes() bitLen 512 5.6840 us/op 6.1460 us/op 0.92
Buffer.concat 32 items 1.3640 us/op 1.0280 us/op 1.33
Uint8Array.set 32 items 1.6840 us/op 1.7360 us/op 0.97
Set add up to 64 items then delete first 4.6634 us/op 4.7536 us/op 0.98
OrderedSet add up to 64 items then delete first 6.6245 us/op 5.9412 us/op 1.12
Set add up to 64 items then delete last 4.9060 us/op 5.3983 us/op 0.91
OrderedSet add up to 64 items then delete last 6.8784 us/op 7.1816 us/op 0.96
Set add up to 64 items then delete middle 4.9333 us/op 5.4283 us/op 0.91
OrderedSet add up to 64 items then delete middle 8.3004 us/op 8.4995 us/op 0.98
Set add up to 128 items then delete first 10.305 us/op 10.958 us/op 0.94
OrderedSet add up to 128 items then delete first 15.752 us/op 15.039 us/op 1.05
Set add up to 128 items then delete last 10.020 us/op 10.794 us/op 0.93
OrderedSet add up to 128 items then delete last 13.301 us/op 13.598 us/op 0.98
Set add up to 128 items then delete middle 9.5549 us/op 10.893 us/op 0.88
OrderedSet add up to 128 items then delete middle 18.768 us/op 19.826 us/op 0.95
Set add up to 256 items then delete first 21.537 us/op 21.924 us/op 0.98
OrderedSet add up to 256 items then delete first 31.040 us/op 30.261 us/op 1.03
Set add up to 256 items then delete last 20.434 us/op 21.545 us/op 0.95
OrderedSet add up to 256 items then delete last 27.249 us/op 28.131 us/op 0.97
Set add up to 256 items then delete middle 18.952 us/op 20.950 us/op 0.90
OrderedSet add up to 256 items then delete middle 48.980 us/op 51.454 us/op 0.95
transfer serialized Status (84 B) 1.7750 us/op 1.7530 us/op 1.01
copy serialized Status (84 B) 1.3120 us/op 1.3820 us/op 0.95
transfer serialized SignedVoluntaryExit (112 B) 1.8920 us/op 1.9560 us/op 0.97
copy serialized SignedVoluntaryExit (112 B) 1.4060 us/op 1.4570 us/op 0.96
transfer serialized ProposerSlashing (416 B) 2.2080 us/op 2.2200 us/op 0.99
copy serialized ProposerSlashing (416 B) 1.8540 us/op 1.9980 us/op 0.93
transfer serialized Attestation (485 B) 2.2280 us/op 2.9840 us/op 0.75
copy serialized Attestation (485 B) 1.8970 us/op 2.6140 us/op 0.73
transfer serialized AttesterSlashing (33232 B) 2.3270 us/op 2.8440 us/op 0.82
copy serialized AttesterSlashing (33232 B) 5.2570 us/op 8.1640 us/op 0.64
transfer serialized Small SignedBeaconBlock (128000 B) 2.4700 us/op 2.8340 us/op 0.87
copy serialized Small SignedBeaconBlock (128000 B) 15.094 us/op 18.223 us/op 0.83
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2610 us/op 3.0190 us/op 1.08
copy serialized Avg SignedBeaconBlock (200000 B) 20.715 us/op 44.175 us/op 0.47
transfer serialized BlobsSidecar (524380 B) 3.3330 us/op 3.9130 us/op 0.85
copy serialized BlobsSidecar (524380 B) 175.66 us/op 101.00 us/op 1.74
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3970 us/op 4.2500 us/op 0.80
copy serialized Big SignedBeaconBlock (1000000 B) 185.98 us/op 216.81 us/op 0.86
pass gossip attestations to forkchoice per slot 5.0005 ms/op 4.4360 ms/op 1.13
forkChoice updateHead vc 100000 bc 64 eq 0 696.69 us/op 700.00 us/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 0 4.3708 ms/op 5.1684 ms/op 0.85
forkChoice updateHead vc 1000000 bc 64 eq 0 7.8828 ms/op 7.6310 ms/op 1.03
forkChoice updateHead vc 600000 bc 320 eq 0 8.3784 ms/op 4.7029 ms/op 1.78
forkChoice updateHead vc 600000 bc 1200 eq 0 13.131 ms/op 4.4931 ms/op 2.92
forkChoice updateHead vc 600000 bc 7200 eq 0 9.4791 ms/op 5.8451 ms/op 1.62
forkChoice updateHead vc 600000 bc 64 eq 1000 11.527 ms/op 11.549 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 10000 12.650 ms/op 12.166 ms/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 300000 18.495 ms/op 17.024 ms/op 1.09
computeDeltas 500000 validators 300 proto nodes 14.514 ms/op 6.9021 ms/op 2.10
computeDeltas 500000 validators 1200 proto nodes 14.477 ms/op 7.0277 ms/op 2.06
computeDeltas 500000 validators 7200 proto nodes 6.9334 ms/op 6.8015 ms/op 1.02
computeDeltas 750000 validators 300 proto nodes 9.7896 ms/op 9.9399 ms/op 0.98
computeDeltas 750000 validators 1200 proto nodes 9.6436 ms/op 10.432 ms/op 0.92
computeDeltas 750000 validators 7200 proto nodes 9.6403 ms/op 10.728 ms/op 0.90
computeDeltas 1400000 validators 300 proto nodes 18.300 ms/op 19.559 ms/op 0.94
computeDeltas 1400000 validators 1200 proto nodes 18.867 ms/op 19.530 ms/op 0.97
computeDeltas 1400000 validators 7200 proto nodes 18.424 ms/op 20.005 ms/op 0.92
computeDeltas 2100000 validators 300 proto nodes 28.188 ms/op 29.657 ms/op 0.95
computeDeltas 2100000 validators 1200 proto nodes 28.309 ms/op 29.881 ms/op 0.95
computeDeltas 2100000 validators 7200 proto nodes 28.414 ms/op 29.110 ms/op 0.98
altair processAttestation - 250000 vs - 7PWei normalcase 2.3178 ms/op 2.8861 ms/op 0.80
altair processAttestation - 250000 vs - 7PWei worstcase 3.8437 ms/op 4.5748 ms/op 0.84
altair processAttestation - setStatus - 1/6 committees join 157.74 us/op 200.61 us/op 0.79
altair processAttestation - setStatus - 1/3 committees join 317.24 us/op 375.75 us/op 0.84
altair processAttestation - setStatus - 1/2 committees join 380.13 us/op 511.28 us/op 0.74
altair processAttestation - setStatus - 2/3 committees join 477.70 us/op 627.98 us/op 0.76
altair processAttestation - setStatus - 4/5 committees join 676.74 us/op 887.51 us/op 0.76
altair processAttestation - setStatus - 100% committees join 805.93 us/op 1.0120 ms/op 0.80
altair processBlock - 250000 vs - 7PWei normalcase 10.914 ms/op 12.068 ms/op 0.90
altair processBlock - 250000 vs - 7PWei normalcase hashState 35.939 ms/op 36.816 ms/op 0.98
altair processBlock - 250000 vs - 7PWei worstcase 38.987 ms/op 42.296 ms/op 0.92
altair processBlock - 250000 vs - 7PWei worstcase hashState 95.032 ms/op 99.948 ms/op 0.95
phase0 processBlock - 250000 vs - 7PWei normalcase 3.3766 ms/op 3.0613 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei worstcase 31.552 ms/op 32.716 ms/op 0.96
altair processEth1Data - 250000 vs - 7PWei normalcase 627.21 us/op 750.32 us/op 0.84
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 18.085 us/op 15.535 us/op 1.16
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 87.064 us/op 77.929 us/op 1.12
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 22.756 us/op 20.724 us/op 1.10
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 13.048 us/op 17.089 us/op 0.76
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 210.99 us/op 217.54 us/op 0.97
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.9347 ms/op 1.2436 ms/op 1.56
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.2717 ms/op 1.8556 ms/op 1.22
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.0501 ms/op 2.0764 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.9398 ms/op 4.0107 ms/op 0.98
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.1023 ms/op 2.7342 ms/op 1.13
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.0546 ms/op 6.1032 ms/op 0.99
Tree 40 250000 create 567.52 ms/op 493.42 ms/op 1.15
Tree 40 250000 get(125000) 231.62 ns/op 215.33 ns/op 1.08
Tree 40 250000 set(125000) 2.2567 us/op 1.4797 us/op 1.53
Tree 40 250000 toArray() 24.723 ms/op 27.327 ms/op 0.90
Tree 40 250000 iterate all - toArray() + loop 29.170 ms/op 23.050 ms/op 1.27
Tree 40 250000 iterate all - get(i) 84.509 ms/op 75.927 ms/op 1.11
MutableVector 250000 create 17.129 ms/op 15.575 ms/op 1.10
MutableVector 250000 get(125000) 7.6640 ns/op 6.5560 ns/op 1.17
MutableVector 250000 set(125000) 421.65 ns/op 301.65 ns/op 1.40
MutableVector 250000 toArray() 4.4005 ms/op 3.7500 ms/op 1.17
MutableVector 250000 iterate all - toArray() + loop 4.2811 ms/op 4.3030 ms/op 0.99
MutableVector 250000 iterate all - get(i) 1.6119 ms/op 1.5780 ms/op 1.02
Array 250000 create 4.2207 ms/op 3.7275 ms/op 1.13
Array 250000 clone - spread 1.5202 ms/op 1.4524 ms/op 1.05
Array 250000 get(125000) 1.4050 ns/op 1.2760 ns/op 1.10
Array 250000 set(125000) 5.1720 ns/op 5.1220 ns/op 1.01
Array 250000 iterate all - loop 180.12 us/op 175.81 us/op 1.02
effectiveBalanceIncrements clone Uint8Array 300000 49.536 us/op 51.701 us/op 0.96
effectiveBalanceIncrements clone MutableVector 300000 576.00 ns/op 389.00 ns/op 1.48
effectiveBalanceIncrements rw all Uint8Array 300000 258.65 us/op 207.45 us/op 1.25
effectiveBalanceIncrements rw all MutableVector 300000 155.42 ms/op 123.45 ms/op 1.26
phase0 afterProcessEpoch - 250000 vs - 7PWei 122.08 ms/op 118.44 ms/op 1.03
phase0 beforeProcessEpoch - 250000 vs - 7PWei 61.987 ms/op 60.860 ms/op 1.02
altair processEpoch - mainnet_e81889 598.38 ms/op 582.68 ms/op 1.03
mainnet_e81889 - altair beforeProcessEpoch 95.737 ms/op 90.984 ms/op 1.05
mainnet_e81889 - altair processJustificationAndFinalization 27.279 us/op 21.550 us/op 1.27
mainnet_e81889 - altair processInactivityUpdates 8.7847 ms/op 7.1402 ms/op 1.23
mainnet_e81889 - altair processRewardsAndPenalties 85.025 ms/op 67.340 ms/op 1.26
mainnet_e81889 - altair processRegistryUpdates 4.8260 us/op 3.4490 us/op 1.40
mainnet_e81889 - altair processSlashings 1.0310 us/op 704.00 ns/op 1.46
mainnet_e81889 - altair processEth1DataReset 1.2300 us/op 1.0270 us/op 1.20
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.8265 ms/op 1.8008 ms/op 1.01
mainnet_e81889 - altair processSlashingsReset 6.1620 us/op 7.3260 us/op 0.84
mainnet_e81889 - altair processRandaoMixesReset 7.2350 us/op 10.054 us/op 0.72
mainnet_e81889 - altair processHistoricalRootsUpdate 1.1090 us/op 968.00 ns/op 1.15
mainnet_e81889 - altair processParticipationFlagUpdates 3.8600 us/op 2.5910 us/op 1.49
mainnet_e81889 - altair processSyncCommitteeUpdates 1.2230 us/op 911.00 ns/op 1.34
mainnet_e81889 - altair afterProcessEpoch 127.59 ms/op 122.53 ms/op 1.04
capella processEpoch - mainnet_e217614 2.1791 s/op 2.4534 s/op 0.89
mainnet_e217614 - capella beforeProcessEpoch 502.02 ms/op 555.55 ms/op 0.90
mainnet_e217614 - capella processJustificationAndFinalization 24.206 us/op 24.974 us/op 0.97
mainnet_e217614 - capella processInactivityUpdates 24.631 ms/op 22.395 ms/op 1.10
mainnet_e217614 - capella processRewardsAndPenalties 419.42 ms/op 423.22 ms/op 0.99
mainnet_e217614 - capella processRegistryUpdates 26.546 us/op 24.955 us/op 1.06
mainnet_e217614 - capella processSlashings 573.00 ns/op 728.00 ns/op 0.79
mainnet_e217614 - capella processEth1DataReset 484.00 ns/op 727.00 ns/op 0.67
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.6310 ms/op 6.3006 ms/op 0.74
mainnet_e217614 - capella processSlashingsReset 2.9920 us/op 3.6230 us/op 0.83
mainnet_e217614 - capella processRandaoMixesReset 4.5250 us/op 4.3160 us/op 1.05
mainnet_e217614 - capella processHistoricalRootsUpdate 616.00 ns/op 580.00 ns/op 1.06
mainnet_e217614 - capella processParticipationFlagUpdates 1.9080 us/op 2.5190 us/op 0.76
mainnet_e217614 - capella afterProcessEpoch 333.36 ms/op 304.95 ms/op 1.09
phase0 processEpoch - mainnet_e58758 445.03 ms/op 478.50 ms/op 0.93
mainnet_e58758 - phase0 beforeProcessEpoch 122.86 ms/op 150.26 ms/op 0.82
mainnet_e58758 - phase0 processJustificationAndFinalization 19.331 us/op 16.263 us/op 1.19
mainnet_e58758 - phase0 processRewardsAndPenalties 56.129 ms/op 34.023 ms/op 1.65
mainnet_e58758 - phase0 processRegistryUpdates 12.605 us/op 9.5570 us/op 1.32
mainnet_e58758 - phase0 processSlashings 575.00 ns/op 574.00 ns/op 1.00
mainnet_e58758 - phase0 processEth1DataReset 637.00 ns/op 431.00 ns/op 1.48
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2053 ms/op 1.1351 ms/op 1.06
mainnet_e58758 - phase0 processSlashingsReset 4.1330 us/op 4.9590 us/op 0.83
mainnet_e58758 - phase0 processRandaoMixesReset 5.1540 us/op 5.2070 us/op 0.99
mainnet_e58758 - phase0 processHistoricalRootsUpdate 482.00 ns/op 465.00 ns/op 1.04
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.7100 us/op 5.8960 us/op 0.80
mainnet_e58758 - phase0 afterProcessEpoch 99.251 ms/op 99.458 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4709 ms/op 1.4318 ms/op 1.03
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.8517 ms/op 1.4463 ms/op 1.28
altair processInactivityUpdates - 250000 normalcase 30.923 ms/op 23.984 ms/op 1.29
altair processInactivityUpdates - 250000 worstcase 35.575 ms/op 29.635 ms/op 1.20
phase0 processRegistryUpdates - 250000 normalcase 15.898 us/op 11.590 us/op 1.37
phase0 processRegistryUpdates - 250000 badcase_full_deposits 470.70 us/op 436.20 us/op 1.08
phase0 processRegistryUpdates - 250000 worstcase 0.5 158.59 ms/op 145.73 ms/op 1.09
altair processRewardsAndPenalties - 250000 normalcase 62.063 ms/op 53.417 ms/op 1.16
altair processRewardsAndPenalties - 250000 worstcase 56.714 ms/op 56.395 ms/op 1.01
phase0 getAttestationDeltas - 250000 normalcase 10.095 ms/op 11.972 ms/op 0.84
phase0 getAttestationDeltas - 250000 worstcase 12.493 ms/op 11.926 ms/op 1.05
phase0 processSlashings - 250000 worstcase 128.18 us/op 113.87 us/op 1.13
altair processSyncCommitteeUpdates - 250000 175.20 ms/op 164.85 ms/op 1.06
BeaconState.hashTreeRoot - No change 870.00 ns/op 781.00 ns/op 1.11
BeaconState.hashTreeRoot - 1 full validator 171.59 us/op 130.85 us/op 1.31
BeaconState.hashTreeRoot - 32 full validator 1.6733 ms/op 1.6300 ms/op 1.03
BeaconState.hashTreeRoot - 512 full validator 15.932 ms/op 17.039 ms/op 0.94
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 166.30 us/op 168.59 us/op 0.99
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.2028 ms/op 2.2718 ms/op 0.97
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 28.691 ms/op 27.901 ms/op 1.03
BeaconState.hashTreeRoot - 1 balances 142.31 us/op 136.00 us/op 1.05
BeaconState.hashTreeRoot - 32 balances 1.5284 ms/op 1.3077 ms/op 1.17
BeaconState.hashTreeRoot - 512 balances 13.941 ms/op 13.241 ms/op 1.05
BeaconState.hashTreeRoot - 250000 balances 250.20 ms/op 231.17 ms/op 1.08
aggregationBits - 2048 els - zipIndexesInBitList 30.799 us/op 31.787 us/op 0.97
byteArrayEquals 32 84.261 ns/op 78.142 ns/op 1.08
Buffer.compare 32 67.920 ns/op 58.664 ns/op 1.16
byteArrayEquals 1024 2.2811 us/op 2.0908 us/op 1.09
Buffer.compare 1024 80.529 ns/op 72.385 ns/op 1.11
byteArrayEquals 16384 38.698 us/op 33.412 us/op 1.16
Buffer.compare 16384 264.87 ns/op 257.16 ns/op 1.03
byteArrayEquals 123687377 269.33 ms/op 253.88 ms/op 1.06
Buffer.compare 123687377 7.5145 ms/op 8.5507 ms/op 0.88
byteArrayEquals 32 - diff last byte 79.148 ns/op 83.511 ns/op 0.95
Buffer.compare 32 - diff last byte 67.197 ns/op 59.218 ns/op 1.13
byteArrayEquals 1024 - diff last byte 2.1022 us/op 2.1149 us/op 0.99
Buffer.compare 1024 - diff last byte 82.602 ns/op 74.113 ns/op 1.11
byteArrayEquals 16384 - diff last byte 33.906 us/op 33.312 us/op 1.02
Buffer.compare 16384 - diff last byte 296.02 ns/op 250.19 ns/op 1.18
byteArrayEquals 123687377 - diff last byte 256.10 ms/op 252.00 ms/op 1.02
Buffer.compare 123687377 - diff last byte 7.5246 ms/op 8.8716 ms/op 0.85
byteArrayEquals 32 - random bytes 5.9790 ns/op 6.2500 ns/op 0.96
Buffer.compare 32 - random bytes 70.481 ns/op 63.880 ns/op 1.10
byteArrayEquals 1024 - random bytes 5.8990 ns/op 6.4110 ns/op 0.92
Buffer.compare 1024 - random bytes 69.310 ns/op 62.611 ns/op 1.11
byteArrayEquals 16384 - random bytes 6.4490 ns/op 6.1500 ns/op 1.05
Buffer.compare 16384 - random bytes 71.385 ns/op 62.356 ns/op 1.14
byteArrayEquals 123687377 - random bytes 9.7000 ns/op 16.310 ns/op 0.59
Buffer.compare 123687377 - random bytes 78.270 ns/op 75.960 ns/op 1.03
regular array get 100000 times 46.806 us/op 46.334 us/op 1.01
wrappedArray get 100000 times 46.625 us/op 45.841 us/op 1.02
arrayWithProxy get 100000 times 15.501 ms/op 15.675 ms/op 0.99
ssz.Root.equals 56.297 ns/op 56.383 ns/op 1.00
byteArrayEquals 54.362 ns/op 55.104 ns/op 0.99
Buffer.compare 12.280 ns/op 12.514 ns/op 0.98
shuffle list - 16384 els 8.3548 ms/op 7.1822 ms/op 1.16
shuffle list - 250000 els 126.10 ms/op 105.57 ms/op 1.19
processSlot - 1 slots 17.678 us/op 21.060 us/op 0.84
processSlot - 32 slots 3.8751 ms/op 3.7649 ms/op 1.03
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 64.311 ms/op 64.088 ms/op 1.00
getCommitteeAssignments - req 1 vs - 250000 vc 3.0586 ms/op 2.5481 ms/op 1.20
getCommitteeAssignments - req 100 vs - 250000 vc 4.3242 ms/op 3.7990 ms/op 1.14
getCommitteeAssignments - req 1000 vs - 250000 vc 4.6359 ms/op 4.1648 ms/op 1.11
findModifiedValidators - 10000 modified validators 574.76 ms/op 538.12 ms/op 1.07
findModifiedValidators - 1000 modified validators 470.39 ms/op 446.52 ms/op 1.05
findModifiedValidators - 100 modified validators 440.88 ms/op 458.10 ms/op 0.96
findModifiedValidators - 10 modified validators 496.89 ms/op 435.36 ms/op 1.14
findModifiedValidators - 1 modified validators 474.50 ms/op 437.02 ms/op 1.09
findModifiedValidators - no difference 464.78 ms/op 411.95 ms/op 1.13
compare ViewDUs 5.0843 s/op 4.5897 s/op 1.11
compare each validator Uint8Array 2.3952 s/op 1.6424 s/op 1.46
compare ViewDU to Uint8Array 1.6936 s/op 1.2928 s/op 1.31
migrate state 1000000 validators, 24 modified, 0 new 865.88 ms/op 812.67 ms/op 1.07
migrate state 1000000 validators, 1700 modified, 1000 new 1.0496 s/op 1.1329 s/op 0.93
migrate state 1000000 validators, 3400 modified, 2000 new 1.3259 s/op 1.3954 s/op 0.95
migrate state 1500000 validators, 24 modified, 0 new 768.37 ms/op 759.83 ms/op 1.01
migrate state 1500000 validators, 1700 modified, 1000 new 1.1514 s/op 1.0692 s/op 1.08
migrate state 1500000 validators, 3400 modified, 2000 new 1.4196 s/op 1.3236 s/op 1.07
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.1900 ns/op 4.6800 ns/op 1.11
state getBlockRootAtSlot - 250000 vs - 7PWei 624.11 ns/op 629.81 ns/op 0.99
computeProposers - vc 250000 9.9087 ms/op 8.8791 ms/op 1.12
computeEpochShuffling - vc 250000 107.75 ms/op 101.54 ms/op 1.06
getNextSyncCommittee - vc 250000 165.12 ms/op 152.86 ms/op 1.08
computeSigningRoot for AttestationData 29.257 us/op 27.358 us/op 1.07
hash AttestationData serialized data then Buffer.toString(base64) 2.4730 us/op 2.3154 us/op 1.07
toHexString serialized data 3.7264 us/op 1.0998 us/op 3.39
Buffer.toString(base64) 257.08 ns/op 226.25 ns/op 1.14

by benchmarkbot/action

Copy link
Contributor

@ensi321 ensi321 left a comment

Choose a reason for hiding this comment

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

lgtm

@@ -79,6 +80,9 @@ function parseProposerConfigSection(
throw Error("(Number.isNaN(Number(gas_limit)) 2");
}
}
if (boost_factor !== undefined && typeof boost_factor !== "string") {
Copy link
Contributor

Choose a reason for hiding this comment

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

Funny how boost_factor has type bigint | undefined yet we check for a string here. Looks confusing along with string checks on other config fields. Anyway it looks fine for the purpose of this PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

bigint is jsoned as a string as its not number safe

Copy link

codecov bot commented Jan 26, 2024

Codecov Report

Merging #6357 (621bc13) into unstable (01d47b9) will increase coverage by 0.00%.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6357   +/-   ##
=========================================
  Coverage     60.13%   60.14%           
=========================================
  Files           407      407           
  Lines         46451    46485   +34     
  Branches       1534     1545   +11     
=========================================
+ Hits          27935    27957   +22     
- Misses        18486    18496   +10     
- Partials         30       32    +2     

if (boostFactor === undefined) return;

if (!/^\d+$/.test(boostFactor)) {
throw new YargsError("Invalid input for builder boost factor, must be a valid number without decimals");
Copy link
Member

@nflaig nflaig Jan 26, 2024

Choose a reason for hiding this comment

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

Just came to my mind that we might wanna use a normal Error here now as this can be thrown from multiple places and not just strictly from the CLI (yargs). Having a stacktrace might also be helpful for users to identify the error in that case.

I can address this in another PR, wanted to look into adding executionalways but this is currently conflicts with #6241, so makes sense to wait on that until that is merged.

@g11tech g11tech merged commit 347c95f into unstable Jan 26, 2024
13 of 15 checks passed
@g11tech g11tech deleted the add-bboost-pconfig branch January 26, 2024 16:58
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.16.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support builder boost factor in proposer settings file
4 participants