-
-
Notifications
You must be signed in to change notification settings - Fork 289
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
Conversation
|
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
There was a problem hiding this 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") { |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
Codecov Report
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"); |
There was a problem hiding this comment.
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.
🎉 This PR is included in v1.16.0 🎉 |
allows per validator configuration of boost factor for builder via static proposer config file
Closes #6304