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: add builder selection executionalways #6370

Merged
merged 1 commit into from
Feb 1, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jan 29, 2024

Motivation

Description

Adds builder selection --builder.selection=executionalways as an alias of --builder.boostFactor=0

Closes #6305

@nflaig nflaig requested a review from a team as a code owner January 29, 2024 11:07
Copy link

codecov bot commented Jan 29, 2024

Codecov Report

Merging #6370 (093a287) into unstable (291e178) will increase coverage by 0.01%.
Report is 1 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6370      +/-   ##
============================================
+ Coverage     60.14%   60.15%   +0.01%     
============================================
  Files           407      407              
  Lines         46490    46506      +16     
  Branches       1545     1548       +3     
============================================
+ Hits          27960    27975      +15     
- Misses        18498    18499       +1     
  Partials         32       32              

Copy link
Contributor

github-actions bot commented Jan 29, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 88fae28 Previous: cbf349c Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 381.77 us/op 830.48 us/op 0.46
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 54.374 us/op 50.516 us/op 1.08
BLS verify - blst-native 1.1282 ms/op 1.0679 ms/op 1.06
BLS verifyMultipleSignatures 3 - blst-native 2.4356 ms/op 2.2662 ms/op 1.07
BLS verifyMultipleSignatures 8 - blst-native 5.3728 ms/op 5.0148 ms/op 1.07
BLS verifyMultipleSignatures 32 - blst-native 19.678 ms/op 18.421 ms/op 1.07
BLS verifyMultipleSignatures 64 - blst-native 38.743 ms/op 36.267 ms/op 1.07
BLS verifyMultipleSignatures 128 - blst-native 77.095 ms/op 72.007 ms/op 1.07
BLS deserializing 10000 signatures 830.81 ms/op 814.39 ms/op 1.02
BLS deserializing 100000 signatures 8.4524 s/op 8.2448 s/op 1.03
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1594 ms/op 1.1338 ms/op 1.02
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.2837 ms/op 1.4334 ms/op 0.90
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.0175 ms/op 2.0306 ms/op 0.99
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.5077 ms/op 3.0247 ms/op 1.16
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.5804 ms/op 6.8777 ms/op 0.96
BLS aggregatePubkeys 32 - blst-native 23.522 us/op 23.506 us/op 1.00
BLS aggregatePubkeys 128 - blst-native 87.172 us/op 88.348 us/op 0.99
getAttestationsForBlock 40.557 ms/op 38.627 ms/op 1.05
getSlashingsAndExits - default max 149.55 us/op 111.36 us/op 1.34
getSlashingsAndExits - 2k 306.05 us/op 265.37 us/op 1.15
proposeBlockBody type=full, size=empty 3.9008 ms/op 3.7746 ms/op 1.03
isKnown best case - 1 super set check 236.00 ns/op 311.00 ns/op 0.76
isKnown normal case - 2 super set checks 239.00 ns/op 312.00 ns/op 0.77
isKnown worse case - 16 super set checks 234.00 ns/op 302.00 ns/op 0.77
CheckpointStateCache - add get delete 3.8660 us/op 3.4960 us/op 1.11
validate api signedAggregateAndProof - struct 2.4462 ms/op 2.4083 ms/op 1.02
validate gossip signedAggregateAndProof - struct 2.3149 ms/op 2.4115 ms/op 0.96
validate gossip attestation - vc 640000 1.1109 ms/op 1.1485 ms/op 0.97
batch validate gossip attestation - vc 640000 - chunk 32 137.61 us/op 137.63 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 64 128.65 us/op 119.85 us/op 1.07
batch validate gossip attestation - vc 640000 - chunk 128 128.28 us/op 112.68 us/op 1.14
batch validate gossip attestation - vc 640000 - chunk 256 121.90 us/op 112.47 us/op 1.08
pickEth1Vote - no votes 1.1095 ms/op 911.15 us/op 1.22
pickEth1Vote - max votes 13.701 ms/op 8.7854 ms/op 1.56
pickEth1Vote - Eth1Data hashTreeRoot value x2048 23.484 ms/op 16.306 ms/op 1.44
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 28.244 ms/op 29.064 ms/op 0.97
pickEth1Vote - Eth1Data fastSerialize value x2048 456.35 us/op 409.02 us/op 1.12
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.7268 ms/op 8.2567 ms/op 1.06
bytes32 toHexString 371.00 ns/op 434.00 ns/op 0.85
bytes32 Buffer.toString(hex) 195.00 ns/op 298.00 ns/op 0.65
bytes32 Buffer.toString(hex) from Uint8Array 333.00 ns/op 420.00 ns/op 0.79
bytes32 Buffer.toString(hex) + 0x 202.00 ns/op 291.00 ns/op 0.69
Object access 1 prop 0.12500 ns/op 0.18800 ns/op 0.66
Map access 1 prop 0.095000 ns/op 0.18500 ns/op 0.51
Object get x1000 5.5070 ns/op 4.8070 ns/op 1.15
Map get x1000 0.70100 ns/op 0.69300 ns/op 1.01
Object set x1000 28.432 ns/op 27.215 ns/op 1.04
Map set x1000 18.484 ns/op 17.073 ns/op 1.08
Return object 10000 times 0.24230 ns/op 0.21300 ns/op 1.14
Throw Error 10000 times 2.7798 us/op 2.6263 us/op 1.06
fastMsgIdFn sha256 / 200 bytes 1.9520 us/op 1.8390 us/op 1.06
fastMsgIdFn h32 xxhash / 200 bytes 209.00 ns/op 276.00 ns/op 0.76
fastMsgIdFn h64 xxhash / 200 bytes 233.00 ns/op 322.00 ns/op 0.72
fastMsgIdFn sha256 / 1000 bytes 6.2920 us/op 5.8600 us/op 1.07
fastMsgIdFn h32 xxhash / 1000 bytes 362.00 ns/op 394.00 ns/op 0.92
fastMsgIdFn h64 xxhash / 1000 bytes 330.00 ns/op 391.00 ns/op 0.84
fastMsgIdFn sha256 / 10000 bytes 61.199 us/op 50.220 us/op 1.22
fastMsgIdFn h32 xxhash / 10000 bytes 1.8180 us/op 1.7090 us/op 1.06
fastMsgIdFn h64 xxhash / 10000 bytes 1.1730 us/op 1.1550 us/op 1.02
send data - 1000 256B messages 13.724 ms/op 11.773 ms/op 1.17
send data - 1000 512B messages 16.856 ms/op 15.168 ms/op 1.11
send data - 1000 1024B messages 27.540 ms/op 24.885 ms/op 1.11
send data - 1000 1200B messages 32.075 ms/op 28.013 ms/op 1.15
send data - 1000 2048B messages 39.512 ms/op 36.755 ms/op 1.07
send data - 1000 4096B messages 41.006 ms/op 33.584 ms/op 1.22
send data - 1000 16384B messages 101.02 ms/op 92.353 ms/op 1.09
send data - 1000 65536B messages 434.37 ms/op 363.13 ms/op 1.20
enrSubnets - fastDeserialize 64 bits 880.00 ns/op 1.0020 us/op 0.88
enrSubnets - ssz BitVector 64 bits 355.00 ns/op 419.00 ns/op 0.85
enrSubnets - fastDeserialize 4 bits 129.00 ns/op 200.00 ns/op 0.65
enrSubnets - ssz BitVector 4 bits 354.00 ns/op 417.00 ns/op 0.85
prioritizePeers score -10:0 att 32-0.1 sync 2-0 80.603 us/op 68.853 us/op 1.17
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 101.87 us/op 82.126 us/op 1.24
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 153.98 us/op 118.28 us/op 1.30
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 263.44 us/op 186.97 us/op 1.41
prioritizePeers score 0:0 att 64-1 sync 4-1 287.41 us/op 210.40 us/op 1.37
array of 16000 items push then shift 1.3072 us/op 1.2397 us/op 1.05
LinkedList of 16000 items push then shift 7.3870 ns/op 6.6990 ns/op 1.10
array of 16000 items push then pop 62.157 ns/op 80.371 ns/op 0.77
LinkedList of 16000 items push then pop 5.8470 ns/op 5.4930 ns/op 1.06
array of 24000 items push then shift 1.9432 us/op 1.7684 us/op 1.10
LinkedList of 24000 items push then shift 6.4320 ns/op 6.2820 ns/op 1.02
array of 24000 items push then pop 116.45 ns/op 114.30 ns/op 1.02
LinkedList of 24000 items push then pop 5.8810 ns/op 5.6300 ns/op 1.04
intersect bitArray bitLen 8 5.3790 ns/op 5.0030 ns/op 1.08
intersect array and set length 8 52.425 ns/op 51.008 ns/op 1.03
intersect bitArray bitLen 128 28.336 ns/op 27.759 ns/op 1.02
intersect array and set length 128 731.55 ns/op 680.80 ns/op 1.07
bitArray.getTrueBitIndexes() bitLen 128 1.3000 us/op 1.1090 us/op 1.17
bitArray.getTrueBitIndexes() bitLen 248 2.5490 us/op 1.8240 us/op 1.40
bitArray.getTrueBitIndexes() bitLen 512 4.7540 us/op 3.4210 us/op 1.39
Buffer.concat 32 items 920.00 ns/op 848.00 ns/op 1.08
Uint8Array.set 32 items 2.7230 us/op 1.7960 us/op 1.52
Set add up to 64 items then delete first 2.4632 us/op 1.7820 us/op 1.38
OrderedSet add up to 64 items then delete first 4.3535 us/op 2.6894 us/op 1.62
Set add up to 64 items then delete last 2.9143 us/op 2.0133 us/op 1.45
OrderedSet add up to 64 items then delete last 4.6039 us/op 2.9800 us/op 1.54
Set add up to 64 items then delete middle 3.0453 us/op 2.0218 us/op 1.51
OrderedSet add up to 64 items then delete middle 5.9842 us/op 4.2851 us/op 1.40
Set add up to 128 items then delete first 5.9255 us/op 3.9704 us/op 1.49
OrderedSet add up to 128 items then delete first 9.1837 us/op 6.1982 us/op 1.48
Set add up to 128 items then delete last 5.4161 us/op 3.8391 us/op 1.41
OrderedSet add up to 128 items then delete last 9.4502 us/op 5.7310 us/op 1.65
Set add up to 128 items then delete middle 5.3485 us/op 3.8740 us/op 1.38
OrderedSet add up to 128 items then delete middle 14.013 us/op 10.524 us/op 1.33
Set add up to 256 items then delete first 10.842 us/op 7.6493 us/op 1.42
OrderedSet add up to 256 items then delete first 18.570 us/op 12.113 us/op 1.53
Set add up to 256 items then delete last 10.576 us/op 7.5926 us/op 1.39
OrderedSet add up to 256 items then delete last 18.580 us/op 11.354 us/op 1.64
Set add up to 256 items then delete middle 11.355 us/op 7.5130 us/op 1.51
OrderedSet add up to 256 items then delete middle 37.287 us/op 30.840 us/op 1.21
transfer serialized Status (84 B) 1.5550 us/op 1.5650 us/op 0.99
copy serialized Status (84 B) 1.1620 us/op 1.1320 us/op 1.03
transfer serialized SignedVoluntaryExit (112 B) 1.6670 us/op 1.6200 us/op 1.03
copy serialized SignedVoluntaryExit (112 B) 1.2060 us/op 1.2580 us/op 0.96
transfer serialized ProposerSlashing (416 B) 2.4060 us/op 2.0870 us/op 1.15
copy serialized ProposerSlashing (416 B) 2.2580 us/op 1.3640 us/op 1.66
transfer serialized Attestation (485 B) 2.4370 us/op 1.5200 us/op 1.60
copy serialized Attestation (485 B) 2.9700 us/op 1.2870 us/op 2.31
transfer serialized AttesterSlashing (33232 B) 1.6660 us/op 1.6200 us/op 1.03
copy serialized AttesterSlashing (33232 B) 4.7250 us/op 3.2690 us/op 1.45
transfer serialized Small SignedBeaconBlock (128000 B) 2.0180 us/op 1.5940 us/op 1.27
copy serialized Small SignedBeaconBlock (128000 B) 13.881 us/op 8.2420 us/op 1.68
transfer serialized Avg SignedBeaconBlock (200000 B) 1.6020 us/op 1.7070 us/op 0.94
copy serialized Avg SignedBeaconBlock (200000 B) 14.183 us/op 11.968 us/op 1.19
transfer serialized BlobsSidecar (524380 B) 2.2790 us/op 2.7990 us/op 0.81
copy serialized BlobsSidecar (524380 B) 191.35 us/op 76.113 us/op 2.51
transfer serialized Big SignedBeaconBlock (1000000 B) 2.9030 us/op 2.2900 us/op 1.27
copy serialized Big SignedBeaconBlock (1000000 B) 144.23 us/op 127.14 us/op 1.13
pass gossip attestations to forkchoice per slot 2.7995 ms/op 2.7174 ms/op 1.03
forkChoice updateHead vc 100000 bc 64 eq 0 464.13 us/op 485.24 us/op 0.96
forkChoice updateHead vc 600000 bc 64 eq 0 2.9370 ms/op 2.7117 ms/op 1.08
forkChoice updateHead vc 1000000 bc 64 eq 0 4.9471 ms/op 4.5517 ms/op 1.09
forkChoice updateHead vc 600000 bc 320 eq 0 2.7544 ms/op 2.6801 ms/op 1.03
forkChoice updateHead vc 600000 bc 1200 eq 0 3.8447 ms/op 2.7748 ms/op 1.39
forkChoice updateHead vc 600000 bc 7200 eq 0 4.8110 ms/op 3.4175 ms/op 1.41
forkChoice updateHead vc 600000 bc 64 eq 1000 11.504 ms/op 9.8842 ms/op 1.16
forkChoice updateHead vc 600000 bc 64 eq 10000 10.686 ms/op 9.7338 ms/op 1.10
forkChoice updateHead vc 600000 bc 64 eq 300000 16.398 ms/op 12.128 ms/op 1.35
computeDeltas 500000 validators 300 proto nodes 3.8021 ms/op 3.5189 ms/op 1.08
computeDeltas 500000 validators 1200 proto nodes 3.9441 ms/op 3.0503 ms/op 1.29
computeDeltas 500000 validators 7200 proto nodes 3.3881 ms/op 3.0194 ms/op 1.12
computeDeltas 750000 validators 300 proto nodes 5.0187 ms/op 4.8680 ms/op 1.03
computeDeltas 750000 validators 1200 proto nodes 4.8901 ms/op 5.0960 ms/op 0.96
computeDeltas 750000 validators 7200 proto nodes 4.5877 ms/op 4.9072 ms/op 0.93
computeDeltas 1400000 validators 300 proto nodes 8.9496 ms/op 10.471 ms/op 0.85
computeDeltas 1400000 validators 1200 proto nodes 8.7517 ms/op 9.5143 ms/op 0.92
computeDeltas 1400000 validators 7200 proto nodes 8.8860 ms/op 10.569 ms/op 0.84
computeDeltas 2100000 validators 300 proto nodes 12.892 ms/op 13.596 ms/op 0.95
computeDeltas 2100000 validators 1200 proto nodes 13.222 ms/op 13.481 ms/op 0.98
computeDeltas 2100000 validators 7200 proto nodes 13.235 ms/op 13.671 ms/op 0.97
altair processAttestation - 250000 vs - 7PWei normalcase 1.7711 ms/op 1.4047 ms/op 1.26
altair processAttestation - 250000 vs - 7PWei worstcase 2.7684 ms/op 2.1711 ms/op 1.28
altair processAttestation - setStatus - 1/6 committees join 97.492 us/op 70.756 us/op 1.38
altair processAttestation - setStatus - 1/3 committees join 224.42 us/op 149.76 us/op 1.50
altair processAttestation - setStatus - 1/2 committees join 290.81 us/op 205.02 us/op 1.42
altair processAttestation - setStatus - 2/3 committees join 373.69 us/op 274.65 us/op 1.36
altair processAttestation - setStatus - 4/5 committees join 493.88 us/op 400.70 us/op 1.23
altair processAttestation - setStatus - 100% committees join 604.07 us/op 479.03 us/op 1.26
altair processBlock - 250000 vs - 7PWei normalcase 7.1802 ms/op 7.6210 ms/op 0.94
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.535 ms/op 33.440 ms/op 0.85
altair processBlock - 250000 vs - 7PWei worstcase 38.390 ms/op 30.093 ms/op 1.28
altair processBlock - 250000 vs - 7PWei worstcase hashState 86.201 ms/op 79.042 ms/op 1.09
phase0 processBlock - 250000 vs - 7PWei normalcase 2.0081 ms/op 2.1647 ms/op 0.93
phase0 processBlock - 250000 vs - 7PWei worstcase 26.523 ms/op 24.217 ms/op 1.10
altair processEth1Data - 250000 vs - 7PWei normalcase 528.20 us/op 292.28 us/op 1.81
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.3610 us/op 9.2750 us/op 0.58
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 34.995 us/op 58.950 us/op 0.59
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 13.958 us/op 16.278 us/op 0.86
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.4490 us/op 10.821 us/op 0.78
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 133.97 us/op 131.88 us/op 1.02
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0195 ms/op 1.1135 ms/op 0.92
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.3268 ms/op 905.92 us/op 1.46
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4054 ms/op 1.4605 ms/op 0.96
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.6677 ms/op 2.2105 ms/op 1.21
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2142 ms/op 1.5298 ms/op 1.45
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.3174 ms/op 3.5708 ms/op 1.21
Tree 40 250000 create 244.67 ms/op 249.69 ms/op 0.98
Tree 40 250000 get(125000) 113.47 ns/op 117.78 ns/op 0.96
Tree 40 250000 set(125000) 775.95 ns/op 735.94 ns/op 1.05
Tree 40 250000 toArray() 9.8304 ms/op 9.4664 ms/op 1.04
Tree 40 250000 iterate all - toArray() + loop 18.827 ms/op 9.6540 ms/op 1.95
Tree 40 250000 iterate all - get(i) 42.709 ms/op 39.951 ms/op 1.07
MutableVector 250000 create 8.7670 ms/op 12.311 ms/op 0.71
MutableVector 250000 get(125000) 5.5880 ns/op 5.5090 ns/op 1.01
MutableVector 250000 set(125000) 204.68 ns/op 201.52 ns/op 1.02
MutableVector 250000 toArray() 2.1056 ms/op 2.4265 ms/op 0.87
MutableVector 250000 iterate all - toArray() + loop 2.4085 ms/op 2.3223 ms/op 1.04
MutableVector 250000 iterate all - get(i) 1.3089 ms/op 1.3451 ms/op 0.97
Array 250000 create 2.1541 ms/op 2.4554 ms/op 0.88
Array 250000 clone - spread 1.1375 ms/op 1.0933 ms/op 1.04
Array 250000 get(125000) 0.94500 ns/op 0.99700 ns/op 0.95
Array 250000 set(125000) 1.1410 ns/op 1.1950 ns/op 0.95
Array 250000 iterate all - loop 149.64 us/op 146.85 us/op 1.02
effectiveBalanceIncrements clone Uint8Array 300000 23.218 us/op 19.900 us/op 1.17
effectiveBalanceIncrements clone MutableVector 300000 343.00 ns/op 404.00 ns/op 0.85
effectiveBalanceIncrements rw all Uint8Array 300000 180.28 us/op 175.82 us/op 1.03
effectiveBalanceIncrements rw all MutableVector 300000 67.513 ms/op 65.730 ms/op 1.03
phase0 afterProcessEpoch - 250000 vs - 7PWei 72.706 ms/op 74.016 ms/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 40.575 ms/op 43.655 ms/op 0.93
altair processEpoch - mainnet_e81889 401.89 ms/op 443.68 ms/op 0.91
mainnet_e81889 - altair beforeProcessEpoch 69.399 ms/op 68.143 ms/op 1.02
mainnet_e81889 - altair processJustificationAndFinalization 7.5860 us/op 10.291 us/op 0.74
mainnet_e81889 - altair processInactivityUpdates 3.8392 ms/op 4.8177 ms/op 0.80
mainnet_e81889 - altair processRewardsAndPenalties 58.052 ms/op 63.311 ms/op 0.92
mainnet_e81889 - altair processRegistryUpdates 1.7590 us/op 1.9370 us/op 0.91
mainnet_e81889 - altair processSlashings 305.00 ns/op 537.00 ns/op 0.57
mainnet_e81889 - altair processEth1DataReset 398.00 ns/op 652.00 ns/op 0.61
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3134 ms/op 1.7317 ms/op 0.76
mainnet_e81889 - altair processSlashingsReset 1.9270 us/op 2.3630 us/op 0.82
mainnet_e81889 - altair processRandaoMixesReset 2.9970 us/op 2.6010 us/op 1.15
mainnet_e81889 - altair processHistoricalRootsUpdate 526.00 ns/op 757.00 ns/op 0.69
mainnet_e81889 - altair processParticipationFlagUpdates 894.00 ns/op 1.6680 us/op 0.54
mainnet_e81889 - altair processSyncCommitteeUpdates 403.00 ns/op 621.00 ns/op 0.65
mainnet_e81889 - altair afterProcessEpoch 79.909 ms/op 75.317 ms/op 1.06
capella processEpoch - mainnet_e217614 1.9649 s/op 1.6421 s/op 1.20
mainnet_e217614 - capella beforeProcessEpoch 454.45 ms/op 430.69 ms/op 1.06
mainnet_e217614 - capella processJustificationAndFinalization 11.540 us/op 11.335 us/op 1.02
mainnet_e217614 - capella processInactivityUpdates 15.229 ms/op 13.271 ms/op 1.15
mainnet_e217614 - capella processRewardsAndPenalties 376.83 ms/op 384.47 ms/op 0.98
mainnet_e217614 - capella processRegistryUpdates 8.1530 us/op 7.9330 us/op 1.03
mainnet_e217614 - capella processSlashings 333.00 ns/op 360.00 ns/op 0.93
mainnet_e217614 - capella processEth1DataReset 244.00 ns/op 324.00 ns/op 0.75
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.0702 ms/op 3.6989 ms/op 1.10
mainnet_e217614 - capella processSlashingsReset 1.8880 us/op 1.8310 us/op 1.03
mainnet_e217614 - capella processRandaoMixesReset 2.2940 us/op 2.3760 us/op 0.97
mainnet_e217614 - capella processHistoricalRootsUpdate 302.00 ns/op 614.00 ns/op 0.49
mainnet_e217614 - capella processParticipationFlagUpdates 1.5940 us/op 1.8050 us/op 0.88
mainnet_e217614 - capella afterProcessEpoch 221.62 ms/op 197.06 ms/op 1.12
phase0 processEpoch - mainnet_e58758 391.49 ms/op 385.81 ms/op 1.01
mainnet_e58758 - phase0 beforeProcessEpoch 145.14 ms/op 125.25 ms/op 1.16
mainnet_e58758 - phase0 processJustificationAndFinalization 11.775 us/op 11.906 us/op 0.99
mainnet_e58758 - phase0 processRewardsAndPenalties 42.451 ms/op 40.359 ms/op 1.05
mainnet_e58758 - phase0 processRegistryUpdates 6.4180 us/op 12.047 us/op 0.53
mainnet_e58758 - phase0 processSlashings 324.00 ns/op 808.00 ns/op 0.40
mainnet_e58758 - phase0 processEth1DataReset 529.00 ns/op 635.00 ns/op 0.83
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 910.50 us/op 855.68 us/op 1.06
mainnet_e58758 - phase0 processSlashingsReset 2.7020 us/op 3.5070 us/op 0.77
mainnet_e58758 - phase0 processRandaoMixesReset 2.3220 us/op 2.6660 us/op 0.87
mainnet_e58758 - phase0 processHistoricalRootsUpdate 236.00 ns/op 807.00 ns/op 0.29
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.2210 us/op 3.2590 us/op 1.91
mainnet_e58758 - phase0 afterProcessEpoch 78.009 ms/op 68.575 ms/op 1.14
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2244 ms/op 1.0926 ms/op 1.12
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.3384 ms/op 1.0888 ms/op 1.23
altair processInactivityUpdates - 250000 normalcase 28.021 ms/op 20.110 ms/op 1.39
altair processInactivityUpdates - 250000 worstcase 24.677 ms/op 17.988 ms/op 1.37
phase0 processRegistryUpdates - 250000 normalcase 8.3690 us/op 9.8250 us/op 0.85
phase0 processRegistryUpdates - 250000 badcase_full_deposits 264.71 us/op 364.14 us/op 0.73
phase0 processRegistryUpdates - 250000 worstcase 0.5 137.84 ms/op 104.19 ms/op 1.32
altair processRewardsAndPenalties - 250000 normalcase 52.955 ms/op 51.961 ms/op 1.02
altair processRewardsAndPenalties - 250000 worstcase 54.403 ms/op 51.741 ms/op 1.05
phase0 getAttestationDeltas - 250000 normalcase 10.360 ms/op 5.9135 ms/op 1.75
phase0 getAttestationDeltas - 250000 worstcase 6.3173 ms/op 5.7975 ms/op 1.09
phase0 processSlashings - 250000 worstcase 74.489 us/op 94.233 us/op 0.79
altair processSyncCommitteeUpdates - 250000 127.13 ms/op 99.467 ms/op 1.28
BeaconState.hashTreeRoot - No change 295.00 ns/op 424.00 ns/op 0.70
BeaconState.hashTreeRoot - 1 full validator 127.14 us/op 98.670 us/op 1.29
BeaconState.hashTreeRoot - 32 full validator 1.1799 ms/op 979.48 us/op 1.20
BeaconState.hashTreeRoot - 512 full validator 13.731 ms/op 12.299 ms/op 1.12
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 142.16 us/op 107.35 us/op 1.32
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.3424 ms/op 1.7334 ms/op 1.35
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.966 ms/op 21.740 ms/op 1.15
BeaconState.hashTreeRoot - 1 balances 136.73 us/op 134.67 us/op 1.02
BeaconState.hashTreeRoot - 32 balances 1.0676 ms/op 1.2190 ms/op 0.88
BeaconState.hashTreeRoot - 512 balances 12.129 ms/op 12.524 ms/op 0.97
BeaconState.hashTreeRoot - 250000 balances 187.18 ms/op 205.31 ms/op 0.91
aggregationBits - 2048 els - zipIndexesInBitList 48.135 us/op 14.718 us/op 3.27
byteArrayEquals 32 65.762 ns/op 62.536 ns/op 1.05
Buffer.compare 32 39.867 ns/op 37.623 ns/op 1.06
byteArrayEquals 1024 1.8443 us/op 1.6696 us/op 1.10
Buffer.compare 1024 49.011 ns/op 47.830 ns/op 1.02
byteArrayEquals 16384 28.964 us/op 26.475 us/op 1.09
Buffer.compare 16384 227.66 ns/op 199.72 ns/op 1.14
byteArrayEquals 123687377 208.07 ms/op 213.70 ms/op 0.97
Buffer.compare 123687377 6.1623 ms/op 5.6689 ms/op 1.09
byteArrayEquals 32 - diff last byte 59.147 ns/op 63.097 ns/op 0.94
Buffer.compare 32 - diff last byte 36.195 ns/op 42.020 ns/op 0.86
byteArrayEquals 1024 - diff last byte 1.6934 us/op 1.7763 us/op 0.95
Buffer.compare 1024 - diff last byte 42.485 ns/op 49.567 ns/op 0.86
byteArrayEquals 16384 - diff last byte 26.293 us/op 28.378 us/op 0.93
Buffer.compare 16384 - diff last byte 190.96 ns/op 227.51 ns/op 0.84
byteArrayEquals 123687377 - diff last byte 208.94 ms/op 203.56 ms/op 1.03
Buffer.compare 123687377 - diff last byte 5.4387 ms/op 3.7140 ms/op 1.46
byteArrayEquals 32 - random bytes 5.3820 ns/op 4.2550 ns/op 1.26
Buffer.compare 32 - random bytes 38.072 ns/op 35.819 ns/op 1.06
byteArrayEquals 1024 - random bytes 5.4060 ns/op 4.0880 ns/op 1.32
Buffer.compare 1024 - random bytes 36.162 ns/op 34.898 ns/op 1.04
byteArrayEquals 16384 - random bytes 5.8800 ns/op 4.0880 ns/op 1.44
Buffer.compare 16384 - random bytes 36.581 ns/op 34.800 ns/op 1.05
byteArrayEquals 123687377 - random bytes 8.2500 ns/op 7.2600 ns/op 1.14
Buffer.compare 123687377 - random bytes 51.890 ns/op 37.930 ns/op 1.37
regular array get 100000 times 44.164 us/op 37.676 us/op 1.17
wrappedArray get 100000 times 42.920 us/op 37.864 us/op 1.13
arrayWithProxy get 100000 times 10.908 ms/op 10.520 ms/op 1.04
ssz.Root.equals 61.066 ns/op 51.269 ns/op 1.19
byteArrayEquals 58.185 ns/op 49.799 ns/op 1.17
Buffer.compare 9.9360 ns/op 8.6800 ns/op 1.14
shuffle list - 16384 els 5.0000 ms/op 4.2443 ms/op 1.18
shuffle list - 250000 els 70.170 ms/op 65.764 ms/op 1.07
processSlot - 1 slots 16.662 us/op 14.766 us/op 1.13
processSlot - 32 slots 2.1029 ms/op 3.0840 ms/op 0.68
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 51.282 ms/op 50.917 ms/op 1.01
getCommitteeAssignments - req 1 vs - 250000 vc 2.2352 ms/op 2.1771 ms/op 1.03
getCommitteeAssignments - req 100 vs - 250000 vc 3.6497 ms/op 3.3633 ms/op 1.09
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7551 ms/op 3.6360 ms/op 1.03
findModifiedValidators - 10000 modified validators 429.33 ms/op 424.94 ms/op 1.01
findModifiedValidators - 1000 modified validators 361.43 ms/op 321.71 ms/op 1.12
findModifiedValidators - 100 modified validators 348.18 ms/op 296.55 ms/op 1.17
findModifiedValidators - 10 modified validators 376.10 ms/op 318.87 ms/op 1.18
findModifiedValidators - 1 modified validators 316.32 ms/op 314.95 ms/op 1.00
findModifiedValidators - no difference 322.03 ms/op 318.06 ms/op 1.01
compare ViewDUs 4.2805 s/op 3.7586 s/op 1.14
compare each validator Uint8Array 1.8228 s/op 1.5713 s/op 1.16
compare ViewDU to Uint8Array 1.0709 s/op 791.60 ms/op 1.35
migrate state 1000000 validators, 24 modified, 0 new 753.78 ms/op 702.11 ms/op 1.07
migrate state 1000000 validators, 1700 modified, 1000 new 923.85 ms/op 1.0125 s/op 0.91
migrate state 1000000 validators, 3400 modified, 2000 new 1.1849 s/op 1.2159 s/op 0.97
migrate state 1500000 validators, 24 modified, 0 new 689.21 ms/op 696.07 ms/op 0.99
migrate state 1500000 validators, 1700 modified, 1000 new 946.07 ms/op 1.0164 s/op 0.93
migrate state 1500000 validators, 3400 modified, 2000 new 1.1771 s/op 1.2313 s/op 0.96
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 3.7300 ns/op 4.3800 ns/op 0.85
state getBlockRootAtSlot - 250000 vs - 7PWei 384.67 ns/op 734.36 ns/op 0.52
computeProposers - vc 250000 5.9859 ms/op 6.2227 ms/op 0.96
computeEpochShuffling - vc 250000 72.227 ms/op 64.868 ms/op 1.11
getNextSyncCommittee - vc 250000 99.804 ms/op 108.95 ms/op 0.92
computeSigningRoot for AttestationData 21.767 us/op 23.812 us/op 0.91
hash AttestationData serialized data then Buffer.toString(base64) 1.3055 us/op 1.2310 us/op 1.06
toHexString serialized data 812.59 ns/op 796.66 ns/op 1.02
Buffer.toString(base64) 174.21 ns/op 171.99 ns/op 1.01

by benchmarkbot/action

case "executiononly":
break;
default:
throw new YargsError("Invalid input for builder selection, check help");
throw Error("Invalid input for builder selection, check help");
Copy link
Contributor

Choose a reason for hiding this comment

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

Any reason for abandoning YargsError? I see it being used extensively in cli package

Copy link
Member Author

Choose a reason for hiding this comment

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

I changed those to YargsError in #6332 but we reuse it now for validation of proposer settings file in #6357.

The main reason to use YargsError is to have a cleaner error if a cli arg is incorrect as it does not include a stack trace but this error can now be thrown in multiple places and imo it's better to have a stack trace now.

@nflaig nflaig requested a review from g11tech January 30, 2024 16:11
@wemeetagain wemeetagain merged commit 00dfa63 into unstable Feb 1, 2024
14 of 15 checks passed
@wemeetagain wemeetagain deleted the nflaig/executionalways branch February 1, 2024 21:42
@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.

Add builder selection executionalways
3 participants