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

fix: parse --builder.boostFactor value as bigint instead of number #6277

Merged
merged 1 commit into from
Jan 10, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jan 9, 2024

Motivation

Noticed another issue related to #6275, we parse the value of --builder.boostFactor as a number instead of bigint. We have to use string and parse it separately for the same reason as we do in on API level as otherwise we lose precision on the value.

Description

Parse --builder.boostFactor value as bigint instead of number.

@nflaig nflaig requested a review from a team as a code owner January 9, 2024 22:30
@@ -248,7 +248,7 @@ export const validatorOptions: CliCommandOptions<IValidatorCliArgs> = {
},

"builder.boostFactor": {
type: "number",
type: "string",
Copy link
Member Author

Choose a reason for hiding this comment

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

It does not look like yargs supports bigint based on yargs/yargs#440 and looking at type options.

@nflaig
Copy link
Member Author

nflaig commented Jan 9, 2024

@g11tech somewhat related to this, I noticed we are not supporting boostFactor in proposer settings file but instead only on the keymanager API. Is this something that should be added or was it intentionally excluded there?

type ProposerConfigFileSection = {
graffiti?: string;
strict_fee_recipient_check?: string;
fee_recipient?: string;
builder?: {
// boolean are parse as string by the default schema readFile employs
// for js-yaml
gas_limit?: number;
selection?: routes.validator.BuilderSelection;
};
};

Copy link
Contributor

github-actions bot commented Jan 9, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: b3ddea3 Previous: e51f495 Ratio
Set add up to 256 items then delete middle 7.5540 us/op 23.133 us/op 0.33
Buffer.compare 123687377 - diff last byte 5.3393 ms/op 16.811 ms/op 0.32
byteArrayEquals 123687377 - random bytes 8.1300 ns/op 24.470 ns/op 0.33
Full benchmark results
Benchmark suite Current: b3ddea3 Previous: e51f495 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 840.60 us/op 686.96 us/op 1.22
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 109.37 us/op 84.736 us/op 1.29
BLS verify - blst-native 1.1364 ms/op 1.2891 ms/op 0.88
BLS verifyMultipleSignatures 3 - blst-native 2.4168 ms/op 2.6872 ms/op 0.90
BLS verifyMultipleSignatures 8 - blst-native 5.3784 ms/op 5.8794 ms/op 0.91
BLS verifyMultipleSignatures 32 - blst-native 20.591 ms/op 21.595 ms/op 0.95
BLS verifyMultipleSignatures 64 - blst-native 39.370 ms/op 42.936 ms/op 0.92
BLS verifyMultipleSignatures 128 - blst-native 82.101 ms/op 85.121 ms/op 0.96
BLS deserializing 10000 signatures 875.08 ms/op 912.86 ms/op 0.96
BLS deserializing 100000 signatures 8.8145 s/op 9.3905 s/op 0.94
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1722 ms/op 1.3479 ms/op 0.87
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5578 ms/op 1.6630 ms/op 0.94
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.6190 ms/op 2.9227 ms/op 0.90
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.0389 ms/op 3.7463 ms/op 1.08
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.1592 ms/op 8.0288 ms/op 0.64
BLS aggregatePubkeys 32 - blst-native 23.891 us/op 25.763 us/op 0.93
BLS aggregatePubkeys 128 - blst-native 90.666 us/op 101.39 us/op 0.89
getAttestationsForBlock 41.801 ms/op 54.682 ms/op 0.76
getSlashingsAndExits - default max 158.37 us/op 207.80 us/op 0.76
getSlashingsAndExits - 2k 553.74 us/op 482.81 us/op 1.15
proposeBlockBody type=full, size=empty 4.2918 ms/op 5.3028 ms/op 0.81
isKnown best case - 1 super set check 365.00 ns/op 397.00 ns/op 0.92
isKnown normal case - 2 super set checks 331.00 ns/op 552.00 ns/op 0.60
isKnown worse case - 16 super set checks 320.00 ns/op 535.00 ns/op 0.60
CheckpointStateCache - add get delete 3.9800 us/op 6.0630 us/op 0.66
validate api signedAggregateAndProof - struct 2.4437 ms/op 2.7995 ms/op 0.87
validate gossip signedAggregateAndProof - struct 2.4199 ms/op 2.8309 ms/op 0.85
validate gossip attestation - vc 640000 1.1746 ms/op 1.4246 ms/op 0.82
batch validate gossip attestation - vc 640000 - chunk 32 143.31 us/op 181.40 us/op 0.79
batch validate gossip attestation - vc 640000 - chunk 64 128.04 us/op 157.64 us/op 0.81
batch validate gossip attestation - vc 640000 - chunk 128 127.69 us/op 167.97 us/op 0.76
batch validate gossip attestation - vc 640000 - chunk 256 112.81 us/op 148.06 us/op 0.76
pickEth1Vote - no votes 889.61 us/op 1.5563 ms/op 0.57
pickEth1Vote - max votes 7.2151 ms/op 15.789 ms/op 0.46
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.655 ms/op 23.305 ms/op 0.63
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 24.967 ms/op 39.298 ms/op 0.64
pickEth1Vote - Eth1Data fastSerialize value x2048 494.68 us/op 720.99 us/op 0.69
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.4312 ms/op 5.9289 ms/op 1.59
bytes32 toHexString 482.00 ns/op 690.00 ns/op 0.70
bytes32 Buffer.toString(hex) 329.00 ns/op 314.00 ns/op 1.05
bytes32 Buffer.toString(hex) from Uint8Array 470.00 ns/op 475.00 ns/op 0.99
bytes32 Buffer.toString(hex) + 0x 340.00 ns/op 306.00 ns/op 1.11
Object access 1 prop 0.23500 ns/op 0.20500 ns/op 1.15
Map access 1 prop 0.20600 ns/op 0.16200 ns/op 1.27
Object get x1000 5.2290 ns/op 7.6270 ns/op 0.69
Map get x1000 0.82500 ns/op 0.87200 ns/op 0.95
Object set x1000 49.175 ns/op 61.818 ns/op 0.80
Map set x1000 28.438 ns/op 47.952 ns/op 0.59
Return object 10000 times 0.22890 ns/op 0.26360 ns/op 0.87
Throw Error 10000 times 2.8464 us/op 4.0842 us/op 0.70
fastMsgIdFn sha256 / 200 bytes 2.0840 us/op 3.4560 us/op 0.60
fastMsgIdFn h32 xxhash / 200 bytes 377.00 ns/op 341.00 ns/op 1.11
fastMsgIdFn h64 xxhash / 200 bytes 395.00 ns/op 390.00 ns/op 1.01
fastMsgIdFn sha256 / 1000 bytes 6.2870 us/op 11.782 us/op 0.53
fastMsgIdFn h32 xxhash / 1000 bytes 517.00 ns/op 485.00 ns/op 1.07
fastMsgIdFn h64 xxhash / 1000 bytes 463.00 ns/op 472.00 ns/op 0.98
fastMsgIdFn sha256 / 10000 bytes 55.323 us/op 105.26 us/op 0.53
fastMsgIdFn h32 xxhash / 10000 bytes 1.8790 us/op 2.0400 us/op 0.92
fastMsgIdFn h64 xxhash / 10000 bytes 1.3570 us/op 1.4270 us/op 0.95
send data - 1000 256B messages 13.299 ms/op 23.193 ms/op 0.57
send data - 1000 512B messages 17.474 ms/op 28.733 ms/op 0.61
send data - 1000 1024B messages 26.068 ms/op 44.886 ms/op 0.58
send data - 1000 1200B messages 28.393 ms/op 42.806 ms/op 0.66
send data - 1000 2048B messages 38.736 ms/op 50.897 ms/op 0.76
send data - 1000 4096B messages 35.552 ms/op 46.016 ms/op 0.77
send data - 1000 16384B messages 111.99 ms/op 121.51 ms/op 0.92
send data - 1000 65536B messages 429.30 ms/op 532.86 ms/op 0.81
enrSubnets - fastDeserialize 64 bits 1.3940 us/op 1.8260 us/op 0.76
enrSubnets - ssz BitVector 64 bits 467.00 ns/op 545.00 ns/op 0.86
enrSubnets - fastDeserialize 4 bits 207.00 ns/op 242.00 ns/op 0.86
enrSubnets - ssz BitVector 4 bits 471.00 ns/op 553.00 ns/op 0.85
prioritizePeers score -10:0 att 32-0.1 sync 2-0 88.524 us/op 121.95 us/op 0.73
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 120.85 us/op 165.70 us/op 0.73
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 145.86 us/op 219.58 us/op 0.66
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 247.88 us/op 356.31 us/op 0.70
prioritizePeers score 0:0 att 64-1 sync 4-1 235.84 us/op 429.72 us/op 0.55
array of 16000 items push then shift 1.3233 us/op 1.8223 us/op 0.73
LinkedList of 16000 items push then shift 5.8740 ns/op 9.8140 ns/op 0.60
array of 16000 items push then pop 98.485 ns/op 116.46 ns/op 0.85
LinkedList of 16000 items push then pop 6.2890 ns/op 9.5190 ns/op 0.66
array of 24000 items push then shift 1.9633 us/op 2.6906 us/op 0.73
LinkedList of 24000 items push then shift 6.6930 ns/op 9.9680 ns/op 0.67
array of 24000 items push then pop 139.05 ns/op 157.73 ns/op 0.88
LinkedList of 24000 items push then pop 5.7510 ns/op 9.0120 ns/op 0.64
intersect bitArray bitLen 8 5.2000 ns/op 7.4600 ns/op 0.70
intersect array and set length 8 49.877 ns/op 95.111 ns/op 0.52
intersect bitArray bitLen 128 27.854 ns/op 35.296 ns/op 0.79
intersect array and set length 128 717.18 ns/op 1.1801 us/op 0.61
bitArray.getTrueBitIndexes() bitLen 128 1.2490 us/op 1.9690 us/op 0.63
bitArray.getTrueBitIndexes() bitLen 248 2.4690 us/op 3.6040 us/op 0.69
bitArray.getTrueBitIndexes() bitLen 512 4.2510 us/op 7.0260 us/op 0.61
Buffer.concat 32 items 967.00 ns/op 1.1060 us/op 0.87
Uint8Array.set 32 items 1.8930 us/op 2.6290 us/op 0.72
Set add up to 64 items then delete first 1.7983 us/op 5.2973 us/op 0.34
OrderedSet add up to 64 items then delete first 2.7203 us/op 7.0476 us/op 0.39
Set add up to 64 items then delete last 2.0642 us/op 5.5339 us/op 0.37
OrderedSet add up to 64 items then delete last 3.0015 us/op 7.8590 us/op 0.38
Set add up to 64 items then delete middle 2.1247 us/op 5.4706 us/op 0.39
OrderedSet add up to 64 items then delete middle 4.2007 us/op 9.4878 us/op 0.44
Set add up to 128 items then delete first 4.0266 us/op 11.218 us/op 0.36
OrderedSet add up to 128 items then delete first 6.4654 us/op 15.870 us/op 0.41
Set add up to 128 items then delete last 3.8858 us/op 11.243 us/op 0.35
OrderedSet add up to 128 items then delete last 5.8382 us/op 15.164 us/op 0.38
Set add up to 128 items then delete middle 3.8904 us/op 11.167 us/op 0.35
OrderedSet add up to 128 items then delete middle 10.630 us/op 22.584 us/op 0.47
Set add up to 256 items then delete first 7.7633 us/op 22.681 us/op 0.34
OrderedSet add up to 256 items then delete first 12.263 us/op 34.115 us/op 0.36
Set add up to 256 items then delete last 7.5345 us/op 22.183 us/op 0.34
OrderedSet add up to 256 items then delete last 11.625 us/op 30.358 us/op 0.38
Set add up to 256 items then delete middle 7.5540 us/op 23.133 us/op 0.33
OrderedSet add up to 256 items then delete middle 30.563 us/op 58.366 us/op 0.52
transfer serialized Status (84 B) 1.5310 us/op 2.0520 us/op 0.75
copy serialized Status (84 B) 1.3840 us/op 1.7720 us/op 0.78
transfer serialized SignedVoluntaryExit (112 B) 1.7180 us/op 2.1080 us/op 0.81
copy serialized SignedVoluntaryExit (112 B) 1.3320 us/op 1.8930 us/op 0.70
transfer serialized ProposerSlashing (416 B) 1.7340 us/op 2.8260 us/op 0.61
copy serialized ProposerSlashing (416 B) 2.7990 us/op 3.1170 us/op 0.90
transfer serialized Attestation (485 B) 3.1140 us/op 2.8570 us/op 1.09
copy serialized Attestation (485 B) 2.5760 us/op 2.6730 us/op 0.96
transfer serialized AttesterSlashing (33232 B) 2.5560 us/op 2.6580 us/op 0.96
copy serialized AttesterSlashing (33232 B) 5.0720 us/op 9.9570 us/op 0.51
transfer serialized Small SignedBeaconBlock (128000 B) 2.7560 us/op 3.4110 us/op 0.81
copy serialized Small SignedBeaconBlock (128000 B) 9.9150 us/op 24.130 us/op 0.41
transfer serialized Avg SignedBeaconBlock (200000 B) 2.7070 us/op 4.2600 us/op 0.64
copy serialized Avg SignedBeaconBlock (200000 B) 14.106 us/op 46.821 us/op 0.30
transfer serialized BlobsSidecar (524380 B) 3.2070 us/op 4.4670 us/op 0.72
copy serialized BlobsSidecar (524380 B) 79.385 us/op 146.55 us/op 0.54
transfer serialized Big SignedBeaconBlock (1000000 B) 2.8690 us/op 4.4010 us/op 0.65
copy serialized Big SignedBeaconBlock (1000000 B) 203.43 us/op 493.31 us/op 0.41
pass gossip attestations to forkchoice per slot 2.8408 ms/op 4.3293 ms/op 0.66
forkChoice updateHead vc 100000 bc 64 eq 0 447.32 us/op 709.14 us/op 0.63
forkChoice updateHead vc 600000 bc 64 eq 0 2.5588 ms/op 5.7408 ms/op 0.45
forkChoice updateHead vc 1000000 bc 64 eq 0 4.3022 ms/op 8.0350 ms/op 0.54
forkChoice updateHead vc 600000 bc 320 eq 0 2.7170 ms/op 4.9210 ms/op 0.55
forkChoice updateHead vc 600000 bc 1200 eq 0 2.6956 ms/op 5.6429 ms/op 0.48
forkChoice updateHead vc 600000 bc 7200 eq 0 3.3953 ms/op 6.3009 ms/op 0.54
forkChoice updateHead vc 600000 bc 64 eq 1000 9.8476 ms/op 13.019 ms/op 0.76
forkChoice updateHead vc 600000 bc 64 eq 10000 9.8300 ms/op 13.825 ms/op 0.71
forkChoice updateHead vc 600000 bc 64 eq 300000 12.100 ms/op 32.650 ms/op 0.37
computeDeltas 500000 validators 300 proto nodes 3.1144 ms/op 7.1847 ms/op 0.43
computeDeltas 500000 validators 1200 proto nodes 3.0441 ms/op 7.2538 ms/op 0.42
computeDeltas 500000 validators 7200 proto nodes 2.9056 ms/op 6.4474 ms/op 0.45
computeDeltas 750000 validators 300 proto nodes 4.5019 ms/op 9.8925 ms/op 0.46
computeDeltas 750000 validators 1200 proto nodes 4.9351 ms/op 10.334 ms/op 0.48
computeDeltas 750000 validators 7200 proto nodes 4.5617 ms/op 10.198 ms/op 0.45
computeDeltas 1400000 validators 300 proto nodes 9.3244 ms/op 19.284 ms/op 0.48
computeDeltas 1400000 validators 1200 proto nodes 8.8493 ms/op 19.227 ms/op 0.46
computeDeltas 1400000 validators 7200 proto nodes 8.9617 ms/op 19.802 ms/op 0.45
computeDeltas 2100000 validators 300 proto nodes 13.853 ms/op 29.545 ms/op 0.47
computeDeltas 2100000 validators 1200 proto nodes 13.950 ms/op 29.178 ms/op 0.48
computeDeltas 2100000 validators 7200 proto nodes 14.318 ms/op 28.735 ms/op 0.50
computeProposerBoostScoreFromBalances 500000 validators 3.3046 ms/op 3.8100 ms/op 0.87
computeProposerBoostScoreFromBalances 750000 validators 3.3943 ms/op 3.8712 ms/op 0.88
computeProposerBoostScoreFromBalances 1400000 validators 3.4296 ms/op 3.8990 ms/op 0.88
computeProposerBoostScoreFromBalances 2100000 validators 3.4676 ms/op 3.7788 ms/op 0.92
altair processAttestation - 250000 vs - 7PWei normalcase 2.2565 ms/op 2.2457 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei worstcase 2.5127 ms/op 3.7202 ms/op 0.68
altair processAttestation - setStatus - 1/6 committees join 73.489 us/op 144.86 us/op 0.51
altair processAttestation - setStatus - 1/3 committees join 155.31 us/op 284.59 us/op 0.55
altair processAttestation - setStatus - 1/2 committees join 224.52 us/op 366.64 us/op 0.61
altair processAttestation - setStatus - 2/3 committees join 311.76 us/op 468.92 us/op 0.66
altair processAttestation - setStatus - 4/5 committees join 399.91 us/op 660.45 us/op 0.61
altair processAttestation - setStatus - 100% committees join 505.50 us/op 775.18 us/op 0.65
altair processBlock - 250000 vs - 7PWei normalcase 9.6480 ms/op 10.252 ms/op 0.94
altair processBlock - 250000 vs - 7PWei normalcase hashState 31.036 ms/op 36.698 ms/op 0.85
altair processBlock - 250000 vs - 7PWei worstcase 34.952 ms/op 41.420 ms/op 0.84
altair processBlock - 250000 vs - 7PWei worstcase hashState 80.166 ms/op 102.18 ms/op 0.78
phase0 processBlock - 250000 vs - 7PWei normalcase 2.7247 ms/op 3.1322 ms/op 0.87
phase0 processBlock - 250000 vs - 7PWei worstcase 29.804 ms/op 34.243 ms/op 0.87
altair processEth1Data - 250000 vs - 7PWei normalcase 307.45 us/op 644.90 us/op 0.48
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 13.789 us/op 18.831 us/op 0.73
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 53.956 us/op 77.238 us/op 0.70
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 16.743 us/op 25.617 us/op 0.65
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.8270 us/op 20.115 us/op 0.39
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 188.56 us/op 229.04 us/op 0.82
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2267 ms/op 1.6776 ms/op 0.73
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7623 ms/op 2.0968 ms/op 0.84
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4507 ms/op 2.1032 ms/op 0.69
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.7212 ms/op 4.1626 ms/op 0.65
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.8372 ms/op 2.9009 ms/op 0.63
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.0109 ms/op 6.0043 ms/op 0.67
Tree 40 250000 create 259.77 ms/op 559.90 ms/op 0.46
Tree 40 250000 get(125000) 111.34 ns/op 216.98 ns/op 0.51
Tree 40 250000 set(125000) 742.94 ns/op 1.3510 us/op 0.55
Tree 40 250000 toArray() 10.439 ms/op 23.956 ms/op 0.44
Tree 40 250000 iterate all - toArray() + loop 9.8399 ms/op 23.835 ms/op 0.41
Tree 40 250000 iterate all - get(i) 40.982 ms/op 88.468 ms/op 0.46
MutableVector 250000 create 10.604 ms/op 17.578 ms/op 0.60
MutableVector 250000 get(125000) 5.5150 ns/op 6.7260 ns/op 0.82
MutableVector 250000 set(125000) 207.06 ns/op 514.39 ns/op 0.40
MutableVector 250000 toArray() 3.5353 ms/op 4.5162 ms/op 0.78
MutableVector 250000 iterate all - toArray() + loop 3.5566 ms/op 4.7784 ms/op 0.74
MutableVector 250000 iterate all - get(i) 1.2844 ms/op 1.7208 ms/op 0.75
Array 250000 create 3.2728 ms/op 5.1242 ms/op 0.64
Array 250000 clone - spread 1.0545 ms/op 5.3605 ms/op 0.20
Array 250000 get(125000) 0.99100 ns/op 2.7430 ns/op 0.36
Array 250000 set(125000) 1.1880 ns/op 6.0540 ns/op 0.20
Array 250000 iterate all - loop 153.94 us/op 219.33 us/op 0.70
effectiveBalanceIncrements clone Uint8Array 300000 13.105 us/op 73.824 us/op 0.18
effectiveBalanceIncrements clone MutableVector 300000 368.00 ns/op 993.00 ns/op 0.37
effectiveBalanceIncrements rw all Uint8Array 300000 176.56 us/op 265.86 us/op 0.66
effectiveBalanceIncrements rw all MutableVector 300000 61.248 ms/op 246.70 ms/op 0.25
phase0 afterProcessEpoch - 250000 vs - 7PWei 74.774 ms/op 140.77 ms/op 0.53
phase0 beforeProcessEpoch - 250000 vs - 7PWei 45.947 ms/op 73.884 ms/op 0.62
altair processEpoch - mainnet_e81889 393.30 ms/op 694.51 ms/op 0.57
mainnet_e81889 - altair beforeProcessEpoch 48.659 ms/op 131.81 ms/op 0.37
mainnet_e81889 - altair processJustificationAndFinalization 10.892 us/op 28.240 us/op 0.39
mainnet_e81889 - altair processInactivityUpdates 4.0617 ms/op 12.056 ms/op 0.34
mainnet_e81889 - altair processRewardsAndPenalties 59.647 ms/op 85.254 ms/op 0.70
mainnet_e81889 - altair processRegistryUpdates 1.3920 us/op 6.2960 us/op 0.22
mainnet_e81889 - altair processSlashings 551.00 ns/op 1.1650 us/op 0.47
mainnet_e81889 - altair processEth1DataReset 547.00 ns/op 1.2070 us/op 0.45
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.8143 ms/op 2.3689 ms/op 0.77
mainnet_e81889 - altair processSlashingsReset 2.2800 us/op 10.191 us/op 0.22
mainnet_e81889 - altair processRandaoMixesReset 4.0100 us/op 10.703 us/op 0.37
mainnet_e81889 - altair processHistoricalRootsUpdate 757.00 ns/op 1.5530 us/op 0.49
mainnet_e81889 - altair processParticipationFlagUpdates 1.2720 us/op 5.2770 us/op 0.24
mainnet_e81889 - altair processSyncCommitteeUpdates 656.00 ns/op 1.6510 us/op 0.40
mainnet_e81889 - altair afterProcessEpoch 79.647 ms/op 136.96 ms/op 0.58
capella processEpoch - mainnet_e217614 1.8470 s/op 3.5612 s/op 0.52
mainnet_e217614 - capella beforeProcessEpoch 434.69 ms/op 763.86 ms/op 0.57
mainnet_e217614 - capella processJustificationAndFinalization 10.874 us/op 29.119 us/op 0.37
mainnet_e217614 - capella processInactivityUpdates 16.552 ms/op 30.278 ms/op 0.55
mainnet_e217614 - capella processRewardsAndPenalties 351.07 ms/op 555.30 ms/op 0.63
mainnet_e217614 - capella processRegistryUpdates 14.437 us/op 31.011 us/op 0.47
mainnet_e217614 - capella processSlashings 625.00 ns/op 1.0980 us/op 0.57
mainnet_e217614 - capella processEth1DataReset 543.00 ns/op 1.2820 us/op 0.42
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.6122 ms/op 7.7378 ms/op 0.47
mainnet_e217614 - capella processSlashingsReset 2.6450 us/op 7.8740 us/op 0.34
mainnet_e217614 - capella processRandaoMixesReset 3.0280 us/op 9.3140 us/op 0.33
mainnet_e217614 - capella processHistoricalRootsUpdate 631.00 ns/op 1.4300 us/op 0.44
mainnet_e217614 - capella processParticipationFlagUpdates 1.8720 us/op 4.2740 us/op 0.44
mainnet_e217614 - capella afterProcessEpoch 193.56 ms/op 341.12 ms/op 0.57
phase0 processEpoch - mainnet_e58758 405.70 ms/op 635.38 ms/op 0.64
mainnet_e58758 - phase0 beforeProcessEpoch 120.92 ms/op 227.13 ms/op 0.53
mainnet_e58758 - phase0 processJustificationAndFinalization 14.050 us/op 33.098 us/op 0.42
mainnet_e58758 - phase0 processRewardsAndPenalties 56.101 ms/op 78.666 ms/op 0.71
mainnet_e58758 - phase0 processRegistryUpdates 7.3440 us/op 19.793 us/op 0.37
mainnet_e58758 - phase0 processSlashings 656.00 ns/op 1.1940 us/op 0.55
mainnet_e58758 - phase0 processEth1DataReset 535.00 ns/op 995.00 ns/op 0.54
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3942 ms/op 2.1741 ms/op 0.64
mainnet_e58758 - phase0 processSlashingsReset 2.8270 us/op 5.9320 us/op 0.48
mainnet_e58758 - phase0 processRandaoMixesReset 2.5630 us/op 8.0480 us/op 0.32
mainnet_e58758 - phase0 processHistoricalRootsUpdate 493.00 ns/op 1.0530 us/op 0.47
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.9480 us/op 6.5730 us/op 0.45
mainnet_e58758 - phase0 afterProcessEpoch 64.403 ms/op 105.67 ms/op 0.61
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0131 ms/op 2.0021 ms/op 0.51
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.0715 ms/op 2.2290 ms/op 0.48
altair processInactivityUpdates - 250000 normalcase 20.300 ms/op 35.202 ms/op 0.58
altair processInactivityUpdates - 250000 worstcase 24.629 ms/op 34.575 ms/op 0.71
phase0 processRegistryUpdates - 250000 normalcase 5.4530 us/op 18.375 us/op 0.30
phase0 processRegistryUpdates - 250000 badcase_full_deposits 319.80 us/op 500.80 us/op 0.64
phase0 processRegistryUpdates - 250000 worstcase 0.5 121.87 ms/op 168.24 ms/op 0.72
altair processRewardsAndPenalties - 250000 normalcase 54.633 ms/op 71.668 ms/op 0.76
altair processRewardsAndPenalties - 250000 worstcase 54.362 ms/op 70.123 ms/op 0.78
phase0 getAttestationDeltas - 250000 normalcase 5.6292 ms/op 13.316 ms/op 0.42
phase0 getAttestationDeltas - 250000 worstcase 5.5525 ms/op 13.954 ms/op 0.40
phase0 processSlashings - 250000 worstcase 75.551 us/op 131.16 us/op 0.58
altair processSyncCommitteeUpdates - 250000 100.61 ms/op 182.75 ms/op 0.55
BeaconState.hashTreeRoot - No change 324.00 ns/op 308.00 ns/op 1.05
BeaconState.hashTreeRoot - 1 full validator 129.71 us/op 200.09 us/op 0.65
BeaconState.hashTreeRoot - 32 full validator 1.5117 ms/op 2.0603 ms/op 0.73
BeaconState.hashTreeRoot - 512 full validator 15.116 ms/op 21.906 ms/op 0.69
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 158.53 us/op 225.34 us/op 0.70
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.3521 ms/op 2.8917 ms/op 0.81
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.606 ms/op 36.785 ms/op 0.70
BeaconState.hashTreeRoot - 1 balances 140.30 us/op 195.35 us/op 0.72
BeaconState.hashTreeRoot - 32 balances 1.1047 ms/op 1.6284 ms/op 0.68
BeaconState.hashTreeRoot - 512 balances 12.246 ms/op 16.143 ms/op 0.76
BeaconState.hashTreeRoot - 250000 balances 195.89 ms/op 252.89 ms/op 0.77
aggregationBits - 2048 els - zipIndexesInBitList 12.223 us/op 32.818 us/op 0.37
byteArrayEquals 32 63.823 ns/op 80.665 ns/op 0.79
Buffer.compare 32 38.713 ns/op 56.666 ns/op 0.68
byteArrayEquals 1024 1.7227 us/op 2.2203 us/op 0.78
Buffer.compare 1024 47.109 ns/op 72.604 ns/op 0.65
byteArrayEquals 16384 27.615 us/op 34.755 us/op 0.79
Buffer.compare 16384 220.71 ns/op 287.85 ns/op 0.77
byteArrayEquals 123687377 205.58 ms/op 300.37 ms/op 0.68
Buffer.compare 123687377 5.2735 ms/op 15.431 ms/op 0.34
byteArrayEquals 32 - diff last byte 55.225 ns/op 113.98 ns/op 0.48
Buffer.compare 32 - diff last byte 34.634 ns/op 79.537 ns/op 0.44
byteArrayEquals 1024 - diff last byte 1.5316 us/op 3.0339 us/op 0.50
Buffer.compare 1024 - diff last byte 40.125 ns/op 94.481 ns/op 0.42
byteArrayEquals 16384 - diff last byte 24.723 us/op 42.602 us/op 0.58
Buffer.compare 16384 - diff last byte 203.81 ns/op 355.09 ns/op 0.57
byteArrayEquals 123687377 - diff last byte 199.17 ms/op 355.13 ms/op 0.56
Buffer.compare 123687377 - diff last byte 5.3393 ms/op 16.811 ms/op 0.32
byteArrayEquals 32 - random bytes 4.7550 ns/op 9.2100 ns/op 0.52
Buffer.compare 32 - random bytes 39.229 ns/op 71.274 ns/op 0.55
byteArrayEquals 1024 - random bytes 4.4540 ns/op 7.8460 ns/op 0.57
Buffer.compare 1024 - random bytes 37.688 ns/op 71.020 ns/op 0.53
byteArrayEquals 16384 - random bytes 4.5760 ns/op 7.5460 ns/op 0.61
Buffer.compare 16384 - random bytes 37.379 ns/op 66.947 ns/op 0.56
byteArrayEquals 123687377 - random bytes 8.1300 ns/op 24.470 ns/op 0.33
Buffer.compare 123687377 - random bytes 40.760 ns/op 88.800 ns/op 0.46
regular array get 100000 times 41.948 us/op 56.846 us/op 0.74
wrappedArray get 100000 times 42.338 us/op 53.193 us/op 0.80
arrayWithProxy get 100000 times 10.584 ms/op 18.332 ms/op 0.58
ssz.Root.equals 55.675 ns/op 66.318 ns/op 0.84
byteArrayEquals 56.912 ns/op 65.501 ns/op 0.87
Buffer.compare 9.8740 ns/op 17.322 ns/op 0.57
shuffle list - 16384 els 4.5953 ms/op 8.3148 ms/op 0.55
shuffle list - 250000 els 65.583 ms/op 116.15 ms/op 0.56
processSlot - 1 slots 17.535 us/op 33.813 us/op 0.52
processSlot - 32 slots 3.1250 ms/op 4.8272 ms/op 0.65
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 49.963 ms/op 90.097 ms/op 0.55
getCommitteeAssignments - req 1 vs - 250000 vc 2.2848 ms/op 3.4582 ms/op 0.66
getCommitteeAssignments - req 100 vs - 250000 vc 3.4215 ms/op 4.4899 ms/op 0.76
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7182 ms/op 4.9187 ms/op 0.76
findModifiedValidators - 10000 modified validators 406.49 ms/op 821.63 ms/op 0.49
findModifiedValidators - 1000 modified validators 348.17 ms/op 635.89 ms/op 0.55
findModifiedValidators - 100 modified validators 339.99 ms/op 592.58 ms/op 0.57
findModifiedValidators - 10 modified validators 313.98 ms/op 581.09 ms/op 0.54
findModifiedValidators - 1 modified validators 314.01 ms/op 590.17 ms/op 0.53
findModifiedValidators - no difference 317.17 ms/op 603.35 ms/op 0.53
compare ViewDUs 3.9519 s/op 7.4138 s/op 0.53
compare each validator Uint8Array 1.6380 s/op 2.8187 s/op 0.58
compare ViewDU to Uint8Array 844.10 ms/op 2.0248 s/op 0.42
migrate state 1000000 validators, 24 modified, 0 new 676.12 ms/op 1.2192 s/op 0.55
migrate state 1000000 validators, 1700 modified, 1000 new 857.58 ms/op 1.5330 s/op 0.56
migrate state 1000000 validators, 3400 modified, 2000 new 1.1752 s/op 1.8038 s/op 0.65
migrate state 1500000 validators, 24 modified, 0 new 730.76 ms/op 1.1917 s/op 0.61
migrate state 1500000 validators, 1700 modified, 1000 new 1.0197 s/op 1.5369 s/op 0.66
migrate state 1500000 validators, 3400 modified, 2000 new 1.2281 s/op 1.8431 s/op 0.67
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2400 ns/op 4.8500 ns/op 0.87
state getBlockRootAtSlot - 250000 vs - 7PWei 873.70 ns/op 1.1260 us/op 0.78
computeProposers - vc 250000 6.4902 ms/op 10.613 ms/op 0.61
computeEpochShuffling - vc 250000 65.653 ms/op 112.93 ms/op 0.58
getNextSyncCommittee - vc 250000 106.96 ms/op 174.25 ms/op 0.61
computeSigningRoot for AttestationData 21.923 us/op 32.992 us/op 0.66
hash AttestationData serialized data then Buffer.toString(base64) 1.1819 us/op 2.4705 us/op 0.48
toHexString serialized data 795.68 ns/op 1.4249 us/op 0.56
Buffer.toString(base64) 150.95 ns/op 245.94 ns/op 0.61

by benchmarkbot/action

Copy link

codecov bot commented Jan 9, 2024

Codecov Report

Merging #6277 (db0cba6) into unstable (e51f495) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6277   +/-   ##
=========================================
  Coverage     80.38%   80.38%           
=========================================
  Files           202      202           
  Lines         19622    19622           
  Branches       1176     1176           
=========================================
  Hits          15773    15773           
  Misses         3821     3821           
  Partials         28       28           

@nflaig nflaig added this to the v1.14.0 milestone Jan 10, 2024
@g11tech
Copy link
Contributor

g11tech commented Jan 10, 2024

@g11tech somewhat related to this, I noticed we are not supporting boostFactor in proposer settings file but instead only on the keymanager API. Is this something that should be added or was it intentionally excluded there?

type ProposerConfigFileSection = {
graffiti?: string;
strict_fee_recipient_check?: string;
fee_recipient?: string;
builder?: {
// boolean are parse as string by the default schema readFile employs
// for js-yaml
gas_limit?: number;
selection?: routes.validator.BuilderSelection;
};
};

yes can add in a followup 👍

@g11tech g11tech merged commit cb1cf63 into unstable Jan 10, 2024
15 of 16 checks passed
@g11tech g11tech deleted the nflaig/fix-boost-factor-value-range branch January 10, 2024 14:12
@wemeetagain
Copy link
Member

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