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: improve handling of non-integer builder boost factor values #6332

Merged
merged 1 commit into from
Jan 22, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jan 20, 2024

Motivation

As noted in #6302, we should improve handling of non-integer builder boost factor values.

Description

I went with the second solution proposed in the issue

throw friendly error and shutdown, include documentation update to highlight that

The error is much easier for a user to understand now and highlights that the number must be without decimals.

> ./lodestar validator --builder.boostFactor 83.3
 ✖ Invalid input for builder boost factor, must be a valid number without decimals

Added a note in docs to highlight the same.

Closes #6302

@nflaig nflaig requested a review from a team as a code owner January 20, 2024 12:58
@nflaig nflaig added this to the v1.15.0 milestone Jan 20, 2024
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 21ac4fb Previous: c423687 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 748.81 us/op 467.39 us/op 1.60
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 83.245 us/op 79.486 us/op 1.05
BLS verify - blst-native 1.2860 ms/op 1.1391 ms/op 1.13
BLS verifyMultipleSignatures 3 - blst-native 2.6975 ms/op 2.4092 ms/op 1.12
BLS verifyMultipleSignatures 8 - blst-native 5.9191 ms/op 5.3746 ms/op 1.10
BLS verifyMultipleSignatures 32 - blst-native 21.673 ms/op 19.620 ms/op 1.10
BLS verifyMultipleSignatures 64 - blst-native 43.040 ms/op 38.743 ms/op 1.11
BLS verifyMultipleSignatures 128 - blst-native 84.242 ms/op 76.980 ms/op 1.09
BLS deserializing 10000 signatures 902.63 ms/op 830.68 ms/op 1.09
BLS deserializing 100000 signatures 9.1414 s/op 8.4042 s/op 1.09
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3016 ms/op 1.1404 ms/op 1.14
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5917 ms/op 1.2947 ms/op 1.23
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.8453 ms/op 2.0375 ms/op 1.40
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.3937 ms/op 4.1089 ms/op 0.83
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.8910 ms/op 6.8087 ms/op 1.16
BLS aggregatePubkeys 32 - blst-native 25.155 us/op 22.965 us/op 1.10
BLS aggregatePubkeys 128 - blst-native 98.631 us/op 88.563 us/op 1.11
getAttestationsForBlock 40.723 ms/op 35.638 ms/op 1.14
getSlashingsAndExits - default max 147.24 us/op 126.36 us/op 1.17
getSlashingsAndExits - 2k 378.74 us/op 317.75 us/op 1.19
proposeBlockBody type=full, size=empty 4.9555 ms/op 3.9087 ms/op 1.27
isKnown best case - 1 super set check 304.00 ns/op 316.00 ns/op 0.96
isKnown normal case - 2 super set checks 299.00 ns/op 309.00 ns/op 0.97
isKnown worse case - 16 super set checks 295.00 ns/op 323.00 ns/op 0.91
CheckpointStateCache - add get delete 4.9250 us/op 3.6060 us/op 1.37
validate api signedAggregateAndProof - struct 2.7095 ms/op 2.3729 ms/op 1.14
validate gossip signedAggregateAndProof - struct 2.7109 ms/op 2.3927 ms/op 1.13
validate gossip attestation - vc 640000 1.3250 ms/op 1.1255 ms/op 1.18
batch validate gossip attestation - vc 640000 - chunk 32 155.97 us/op 143.86 us/op 1.08
batch validate gossip attestation - vc 640000 - chunk 64 139.90 us/op 132.65 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 128 133.62 us/op 121.20 us/op 1.10
batch validate gossip attestation - vc 640000 - chunk 256 126.26 us/op 121.42 us/op 1.04
pickEth1Vote - no votes 1.1511 ms/op 884.91 us/op 1.30
pickEth1Vote - max votes 10.707 ms/op 5.4631 ms/op 1.96
pickEth1Vote - Eth1Data hashTreeRoot value x2048 21.336 ms/op 11.476 ms/op 1.86
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.760 ms/op 19.290 ms/op 1.39
pickEth1Vote - Eth1Data fastSerialize value x2048 582.44 us/op 430.99 us/op 1.35
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.5916 ms/op 3.3129 ms/op 1.99
bytes32 toHexString 487.00 ns/op 438.00 ns/op 1.11
bytes32 Buffer.toString(hex) 279.00 ns/op 306.00 ns/op 0.91
bytes32 Buffer.toString(hex) from Uint8Array 402.00 ns/op 472.00 ns/op 0.85
bytes32 Buffer.toString(hex) + 0x 278.00 ns/op 308.00 ns/op 0.90
Object access 1 prop 0.15700 ns/op 0.20500 ns/op 0.77
Map access 1 prop 0.14100 ns/op 0.19300 ns/op 0.73
Object get x1000 7.1290 ns/op 5.4550 ns/op 1.31
Map get x1000 0.72000 ns/op 0.79800 ns/op 0.90
Object set x1000 48.500 ns/op 28.168 ns/op 1.72
Map set x1000 38.223 ns/op 17.406 ns/op 2.20
Return object 10000 times 0.22730 ns/op 0.23150 ns/op 0.98
Throw Error 10000 times 3.6487 us/op 2.9820 us/op 1.22
fastMsgIdFn sha256 / 200 bytes 3.1500 us/op 1.9950 us/op 1.58
fastMsgIdFn h32 xxhash / 200 bytes 261.00 ns/op 299.00 ns/op 0.87
fastMsgIdFn h64 xxhash / 200 bytes 326.00 ns/op 351.00 ns/op 0.93
fastMsgIdFn sha256 / 1000 bytes 10.892 us/op 6.2630 us/op 1.74
fastMsgIdFn h32 xxhash / 1000 bytes 379.00 ns/op 433.00 ns/op 0.88
fastMsgIdFn h64 xxhash / 1000 bytes 389.00 ns/op 440.00 ns/op 0.88
fastMsgIdFn sha256 / 10000 bytes 99.910 us/op 52.671 us/op 1.90
fastMsgIdFn h32 xxhash / 10000 bytes 1.8440 us/op 1.8640 us/op 0.99
fastMsgIdFn h64 xxhash / 10000 bytes 1.2830 us/op 1.2870 us/op 1.00
send data - 1000 256B messages 17.127 ms/op 11.736 ms/op 1.46
send data - 1000 512B messages 25.828 ms/op 16.338 ms/op 1.58
send data - 1000 1024B messages 40.476 ms/op 26.657 ms/op 1.52
send data - 1000 1200B messages 36.385 ms/op 31.567 ms/op 1.15
send data - 1000 2048B messages 46.834 ms/op 42.561 ms/op 1.10
send data - 1000 4096B messages 42.530 ms/op 36.165 ms/op 1.18
send data - 1000 16384B messages 118.68 ms/op 98.571 ms/op 1.20
send data - 1000 65536B messages 453.40 ms/op 427.36 ms/op 1.06
enrSubnets - fastDeserialize 64 bits 1.2990 us/op 1.0060 us/op 1.29
enrSubnets - ssz BitVector 64 bits 418.00 ns/op 473.00 ns/op 0.88
enrSubnets - fastDeserialize 4 bits 168.00 ns/op 202.00 ns/op 0.83
enrSubnets - ssz BitVector 4 bits 413.00 ns/op 449.00 ns/op 0.92
prioritizePeers score -10:0 att 32-0.1 sync 2-0 102.95 us/op 66.390 us/op 1.55
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 134.58 us/op 79.359 us/op 1.70
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 163.27 us/op 154.10 us/op 1.06
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 290.58 us/op 247.19 us/op 1.18
prioritizePeers score 0:0 att 64-1 sync 4-1 340.34 us/op 229.47 us/op 1.48
array of 16000 items push then shift 1.6348 us/op 1.3435 us/op 1.22
LinkedList of 16000 items push then shift 9.0170 ns/op 6.4890 ns/op 1.39
array of 16000 items push then pop 98.912 ns/op 97.668 ns/op 1.01
LinkedList of 16000 items push then pop 8.8220 ns/op 6.2180 ns/op 1.42
array of 24000 items push then shift 2.4547 us/op 1.9860 us/op 1.24
LinkedList of 24000 items push then shift 8.8320 ns/op 7.4950 ns/op 1.18
array of 24000 items push then pop 125.18 ns/op 125.91 ns/op 0.99
LinkedList of 24000 items push then pop 8.5080 ns/op 5.7080 ns/op 1.49
intersect bitArray bitLen 8 6.3280 ns/op 5.0980 ns/op 1.24
intersect array and set length 8 60.934 ns/op 53.816 ns/op 1.13
intersect bitArray bitLen 128 33.313 ns/op 29.649 ns/op 1.12
intersect array and set length 128 838.28 ns/op 961.96 ns/op 0.87
bitArray.getTrueBitIndexes() bitLen 128 1.4410 us/op 1.5400 us/op 0.94
bitArray.getTrueBitIndexes() bitLen 248 2.5120 us/op 2.5750 us/op 0.98
bitArray.getTrueBitIndexes() bitLen 512 4.6400 us/op 5.0120 us/op 0.93
Buffer.concat 32 items 963.00 ns/op 882.00 ns/op 1.09
Uint8Array.set 32 items 1.9390 us/op 2.1820 us/op 0.89
Set add up to 64 items then delete first 4.2656 us/op 1.8126 us/op 2.35
OrderedSet add up to 64 items then delete first 5.4314 us/op 2.6892 us/op 2.02
Set add up to 64 items then delete last 4.8390 us/op 2.0103 us/op 2.41
OrderedSet add up to 64 items then delete last 5.7334 us/op 3.0805 us/op 1.86
Set add up to 64 items then delete middle 4.5785 us/op 1.9877 us/op 2.30
OrderedSet add up to 64 items then delete middle 6.9933 us/op 4.2157 us/op 1.66
Set add up to 128 items then delete first 9.4081 us/op 3.8687 us/op 2.43
OrderedSet add up to 128 items then delete first 12.213 us/op 5.7545 us/op 2.12
Set add up to 128 items then delete last 9.1379 us/op 3.7713 us/op 2.42
OrderedSet add up to 128 items then delete last 11.374 us/op 5.9280 us/op 1.92
Set add up to 128 items then delete middle 8.9170 us/op 3.7757 us/op 2.36
OrderedSet add up to 128 items then delete middle 16.533 us/op 10.830 us/op 1.53
Set add up to 256 items then delete first 18.449 us/op 7.7395 us/op 2.38
OrderedSet add up to 256 items then delete first 24.827 us/op 11.645 us/op 2.13
Set add up to 256 items then delete last 17.870 us/op 7.7307 us/op 2.31
OrderedSet add up to 256 items then delete last 22.814 us/op 11.940 us/op 1.91
Set add up to 256 items then delete middle 17.762 us/op 7.3277 us/op 2.42
OrderedSet add up to 256 items then delete middle 44.282 us/op 31.150 us/op 1.42
transfer serialized Status (84 B) 1.5520 us/op 1.4230 us/op 1.09
copy serialized Status (84 B) 1.1980 us/op 1.1440 us/op 1.05
transfer serialized SignedVoluntaryExit (112 B) 1.6530 us/op 1.5020 us/op 1.10
copy serialized SignedVoluntaryExit (112 B) 1.3930 us/op 1.1930 us/op 1.17
transfer serialized ProposerSlashing (416 B) 3.0210 us/op 2.1370 us/op 1.41
copy serialized ProposerSlashing (416 B) 2.8390 us/op 2.2260 us/op 1.28
transfer serialized Attestation (485 B) 3.1110 us/op 2.6490 us/op 1.17
copy serialized Attestation (485 B) 2.9790 us/op 2.5940 us/op 1.15
transfer serialized AttesterSlashing (33232 B) 3.0010 us/op 2.7130 us/op 1.11
copy serialized AttesterSlashing (33232 B) 6.2410 us/op 7.2620 us/op 0.86
transfer serialized Small SignedBeaconBlock (128000 B) 2.5620 us/op 2.5500 us/op 1.00
copy serialized Small SignedBeaconBlock (128000 B) 15.702 us/op 19.155 us/op 0.82
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2650 us/op 2.8980 us/op 1.13
copy serialized Avg SignedBeaconBlock (200000 B) 23.358 us/op 30.785 us/op 0.76
transfer serialized BlobsSidecar (524380 B) 2.8260 us/op 2.2780 us/op 1.24
copy serialized BlobsSidecar (524380 B) 107.56 us/op 92.085 us/op 1.17
transfer serialized Big SignedBeaconBlock (1000000 B) 2.9450 us/op 2.5800 us/op 1.14
copy serialized Big SignedBeaconBlock (1000000 B) 154.21 us/op 154.95 us/op 1.00
pass gossip attestations to forkchoice per slot 4.3910 ms/op 2.6023 ms/op 1.69
forkChoice updateHead vc 100000 bc 64 eq 0 714.73 us/op 437.31 us/op 1.63
forkChoice updateHead vc 600000 bc 64 eq 0 4.7892 ms/op 2.6208 ms/op 1.83
forkChoice updateHead vc 1000000 bc 64 eq 0 7.3752 ms/op 4.2718 ms/op 1.73
forkChoice updateHead vc 600000 bc 320 eq 0 4.2083 ms/op 2.5890 ms/op 1.63
forkChoice updateHead vc 600000 bc 1200 eq 0 4.2305 ms/op 2.6597 ms/op 1.59
forkChoice updateHead vc 600000 bc 7200 eq 0 5.3311 ms/op 3.2874 ms/op 1.62
forkChoice updateHead vc 600000 bc 64 eq 1000 11.499 ms/op 9.8207 ms/op 1.17
forkChoice updateHead vc 600000 bc 64 eq 10000 12.284 ms/op 9.5519 ms/op 1.29
forkChoice updateHead vc 600000 bc 64 eq 300000 15.622 ms/op 11.773 ms/op 1.33
computeDeltas 500000 validators 300 proto nodes 6.9908 ms/op 3.0378 ms/op 2.30
computeDeltas 500000 validators 1200 proto nodes 6.6261 ms/op 2.8402 ms/op 2.33
computeDeltas 500000 validators 7200 proto nodes 6.2839 ms/op 2.8832 ms/op 2.18
computeDeltas 750000 validators 300 proto nodes 9.7172 ms/op 4.3947 ms/op 2.21
computeDeltas 750000 validators 1200 proto nodes 9.6902 ms/op 4.3827 ms/op 2.21
computeDeltas 750000 validators 7200 proto nodes 9.9594 ms/op 4.3849 ms/op 2.27
computeDeltas 1400000 validators 300 proto nodes 18.980 ms/op 10.071 ms/op 1.88
computeDeltas 1400000 validators 1200 proto nodes 19.215 ms/op 8.8545 ms/op 2.17
computeDeltas 1400000 validators 7200 proto nodes 19.457 ms/op 8.8059 ms/op 2.21
computeDeltas 2100000 validators 300 proto nodes 28.001 ms/op 13.347 ms/op 2.10
computeDeltas 2100000 validators 1200 proto nodes 28.264 ms/op 13.186 ms/op 2.14
computeDeltas 2100000 validators 7200 proto nodes 27.749 ms/op 12.843 ms/op 2.16
altair processAttestation - 250000 vs - 7PWei normalcase 2.2519 ms/op 1.4251 ms/op 1.58
altair processAttestation - 250000 vs - 7PWei worstcase 3.2641 ms/op 2.2253 ms/op 1.47
altair processAttestation - setStatus - 1/6 committees join 178.85 us/op 69.965 us/op 2.56
altair processAttestation - setStatus - 1/3 committees join 338.30 us/op 138.93 us/op 2.44
altair processAttestation - setStatus - 1/2 committees join 462.33 us/op 199.88 us/op 2.31
altair processAttestation - setStatus - 2/3 committees join 581.01 us/op 257.74 us/op 2.25
altair processAttestation - setStatus - 4/5 committees join 776.88 us/op 381.90 us/op 2.03
altair processAttestation - setStatus - 100% committees join 912.49 us/op 447.40 us/op 2.04
altair processBlock - 250000 vs - 7PWei normalcase 12.109 ms/op 9.5824 ms/op 1.26
altair processBlock - 250000 vs - 7PWei normalcase hashState 35.163 ms/op 31.495 ms/op 1.12
altair processBlock - 250000 vs - 7PWei worstcase 40.280 ms/op 33.338 ms/op 1.21
altair processBlock - 250000 vs - 7PWei worstcase hashState 86.197 ms/op 78.044 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4887 ms/op 2.5599 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei worstcase 28.916 ms/op 24.799 ms/op 1.17
altair processEth1Data - 250000 vs - 7PWei normalcase 676.42 us/op 295.75 us/op 2.29
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.3590 us/op 6.9470 us/op 1.06
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 70.305 us/op 29.996 us/op 2.34
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 19.563 us/op 15.354 us/op 1.27
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.7090 us/op 13.264 us/op 0.58
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 196.63 us/op 97.488 us/op 2.02
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1667 ms/op 988.58 us/op 1.18
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8458 ms/op 1.4078 ms/op 1.31
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5571 ms/op 1.3620 ms/op 1.14
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.3818 ms/op 2.3643 ms/op 1.43
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2601 ms/op 1.4958 ms/op 1.51
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.8152 ms/op 3.4496 ms/op 1.40
Tree 40 250000 create 378.85 ms/op 283.03 ms/op 1.34
Tree 40 250000 get(125000) 199.41 ns/op 114.75 ns/op 1.74
Tree 40 250000 set(125000) 967.81 ns/op 699.20 ns/op 1.38
Tree 40 250000 toArray() 19.112 ms/op 19.893 ms/op 0.96
Tree 40 250000 iterate all - toArray() + loop 19.420 ms/op 21.490 ms/op 0.90
Tree 40 250000 iterate all - get(i) 68.731 ms/op 50.481 ms/op 1.36
MutableVector 250000 create 13.230 ms/op 11.330 ms/op 1.17
MutableVector 250000 get(125000) 6.5060 ns/op 5.7680 ns/op 1.13
MutableVector 250000 set(125000) 288.88 ns/op 207.39 ns/op 1.39
MutableVector 250000 toArray() 3.7638 ms/op 2.8749 ms/op 1.31
MutableVector 250000 iterate all - toArray() + loop 4.0874 ms/op 2.3405 ms/op 1.75
MutableVector 250000 iterate all - get(i) 1.6043 ms/op 1.3326 ms/op 1.20
Array 250000 create 3.5479 ms/op 2.1999 ms/op 1.61
Array 250000 clone - spread 1.6750 ms/op 1.2103 ms/op 1.38
Array 250000 get(125000) 1.0760 ns/op 1.0500 ns/op 1.02
Array 250000 set(125000) 4.3140 ns/op 1.2610 ns/op 3.42
Array 250000 iterate all - loop 167.64 us/op 152.72 us/op 1.10
effectiveBalanceIncrements clone Uint8Array 300000 32.284 us/op 15.084 us/op 2.14
effectiveBalanceIncrements clone MutableVector 300000 349.00 ns/op 429.00 ns/op 0.81
effectiveBalanceIncrements rw all Uint8Array 300000 204.91 us/op 183.78 us/op 1.11
effectiveBalanceIncrements rw all MutableVector 300000 83.358 ms/op 72.026 ms/op 1.16
phase0 afterProcessEpoch - 250000 vs - 7PWei 126.99 ms/op 76.625 ms/op 1.66
phase0 beforeProcessEpoch - 250000 vs - 7PWei 53.842 ms/op 36.753 ms/op 1.46
altair processEpoch - mainnet_e81889 518.48 ms/op 439.21 ms/op 1.18
mainnet_e81889 - altair beforeProcessEpoch 99.022 ms/op 71.577 ms/op 1.38
mainnet_e81889 - altair processJustificationAndFinalization 15.658 us/op 11.286 us/op 1.39
mainnet_e81889 - altair processInactivityUpdates 6.3828 ms/op 4.6898 ms/op 1.36
mainnet_e81889 - altair processRewardsAndPenalties 62.441 ms/op 60.247 ms/op 1.04
mainnet_e81889 - altair processRegistryUpdates 2.8140 us/op 4.2340 us/op 0.66
mainnet_e81889 - altair processSlashings 504.00 ns/op 907.00 ns/op 0.56
mainnet_e81889 - altair processEth1DataReset 658.00 ns/op 898.00 ns/op 0.73
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6281 ms/op 1.0939 ms/op 1.49
mainnet_e81889 - altair processSlashingsReset 5.5020 us/op 3.6050 us/op 1.53
mainnet_e81889 - altair processRandaoMixesReset 5.7310 us/op 7.0540 us/op 0.81
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0960 us/op 1.3070 us/op 0.84
mainnet_e81889 - altair processParticipationFlagUpdates 3.3950 us/op 2.1020 us/op 1.62
mainnet_e81889 - altair processSyncCommitteeUpdates 955.00 ns/op 1.0730 us/op 0.89
mainnet_e81889 - altair afterProcessEpoch 158.61 ms/op 87.574 ms/op 1.81
capella processEpoch - mainnet_e217614 2.2669 s/op 2.8188 s/op 0.80
mainnet_e217614 - capella beforeProcessEpoch 522.07 ms/op 711.76 ms/op 0.73
mainnet_e217614 - capella processJustificationAndFinalization 20.036 us/op 24.819 us/op 0.81
mainnet_e217614 - capella processInactivityUpdates 20.157 ms/op 33.060 ms/op 0.61
mainnet_e217614 - capella processRewardsAndPenalties 393.44 ms/op 447.34 ms/op 0.88
mainnet_e217614 - capella processRegistryUpdates 21.939 us/op 28.122 us/op 0.78
mainnet_e217614 - capella processSlashings 388.00 ns/op 1.4890 us/op 0.26
mainnet_e217614 - capella processEth1DataReset 410.00 ns/op 560.00 ns/op 0.73
mainnet_e217614 - capella processEffectiveBalanceUpdates 8.9532 ms/op 3.6185 ms/op 2.47
mainnet_e217614 - capella processSlashingsReset 3.2180 us/op 5.3950 us/op 0.60
mainnet_e217614 - capella processRandaoMixesReset 4.5940 us/op 7.8760 us/op 0.58
mainnet_e217614 - capella processHistoricalRootsUpdate 578.00 ns/op 931.00 ns/op 0.62
mainnet_e217614 - capella processParticipationFlagUpdates 1.9100 us/op 2.3310 us/op 0.82
mainnet_e217614 - capella afterProcessEpoch 307.69 ms/op 249.48 ms/op 1.23
phase0 processEpoch - mainnet_e58758 451.64 ms/op 418.75 ms/op 1.08
mainnet_e58758 - phase0 beforeProcessEpoch 156.69 ms/op 126.88 ms/op 1.23
mainnet_e58758 - phase0 processJustificationAndFinalization 19.132 us/op 13.301 us/op 1.44
mainnet_e58758 - phase0 processRewardsAndPenalties 53.488 ms/op 43.942 ms/op 1.22
mainnet_e58758 - phase0 processRegistryUpdates 9.9340 us/op 7.0420 us/op 1.41
mainnet_e58758 - phase0 processSlashings 598.00 ns/op 810.00 ns/op 0.74
mainnet_e58758 - phase0 processEth1DataReset 380.00 ns/op 537.00 ns/op 0.71
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1509 ms/op 1.4351 ms/op 0.80
mainnet_e58758 - phase0 processSlashingsReset 2.6720 us/op 4.8220 us/op 0.55
mainnet_e58758 - phase0 processRandaoMixesReset 3.8790 us/op 4.5280 us/op 0.86
mainnet_e58758 - phase0 processHistoricalRootsUpdate 410.00 ns/op 644.00 ns/op 0.64
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.6690 us/op 3.9600 us/op 0.93
mainnet_e58758 - phase0 afterProcessEpoch 95.061 ms/op 70.134 ms/op 1.36
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3727 ms/op 1.0097 ms/op 1.36
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4603 ms/op 1.1430 ms/op 1.28
altair processInactivityUpdates - 250000 normalcase 25.036 ms/op 26.777 ms/op 0.93
altair processInactivityUpdates - 250000 worstcase 20.376 ms/op 24.261 ms/op 0.84
phase0 processRegistryUpdates - 250000 normalcase 8.5830 us/op 6.9070 us/op 1.24
phase0 processRegistryUpdates - 250000 badcase_full_deposits 333.36 us/op 301.48 us/op 1.11
phase0 processRegistryUpdates - 250000 worstcase 0.5 123.69 ms/op 106.23 ms/op 1.16
altair processRewardsAndPenalties - 250000 normalcase 42.475 ms/op 52.343 ms/op 0.81
altair processRewardsAndPenalties - 250000 worstcase 38.622 ms/op 54.583 ms/op 0.71
phase0 getAttestationDeltas - 250000 normalcase 9.1182 ms/op 7.9209 ms/op 1.15
phase0 getAttestationDeltas - 250000 worstcase 8.9734 ms/op 7.1404 ms/op 1.26
phase0 processSlashings - 250000 worstcase 80.980 us/op 87.487 us/op 0.93
altair processSyncCommitteeUpdates - 250000 151.59 ms/op 109.10 ms/op 1.39
BeaconState.hashTreeRoot - No change 337.00 ns/op 598.00 ns/op 0.56
BeaconState.hashTreeRoot - 1 full validator 142.66 us/op 133.34 us/op 1.07
BeaconState.hashTreeRoot - 32 full validator 1.4717 ms/op 1.3548 ms/op 1.09
BeaconState.hashTreeRoot - 512 full validator 17.825 ms/op 16.547 ms/op 1.08
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 158.76 us/op 167.26 us/op 0.95
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.9778 ms/op 2.0423 ms/op 0.97
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 26.724 ms/op 28.183 ms/op 0.95
BeaconState.hashTreeRoot - 1 balances 126.89 us/op 134.78 us/op 0.94
BeaconState.hashTreeRoot - 32 balances 1.3374 ms/op 1.5411 ms/op 0.87
BeaconState.hashTreeRoot - 512 balances 13.367 ms/op 14.936 ms/op 0.89
BeaconState.hashTreeRoot - 250000 balances 218.27 ms/op 211.10 ms/op 1.03
aggregationBits - 2048 els - zipIndexesInBitList 16.216 us/op 11.562 us/op 1.40
byteArrayEquals 32 72.666 ns/op 68.998 ns/op 1.05
Buffer.compare 32 55.153 ns/op 41.373 ns/op 1.33
byteArrayEquals 1024 1.9898 us/op 1.7630 us/op 1.13
Buffer.compare 1024 67.510 ns/op 46.741 ns/op 1.44
byteArrayEquals 16384 31.748 us/op 28.230 us/op 1.12
Buffer.compare 16384 273.06 ns/op 223.88 ns/op 1.22
byteArrayEquals 123687377 243.67 ms/op 202.13 ms/op 1.21
Buffer.compare 123687377 6.0455 ms/op 5.9386 ms/op 1.02
byteArrayEquals 32 - diff last byte 71.324 ns/op 60.346 ns/op 1.18
Buffer.compare 32 - diff last byte 54.990 ns/op 36.155 ns/op 1.52
byteArrayEquals 1024 - diff last byte 2.0170 us/op 1.6943 us/op 1.19
Buffer.compare 1024 - diff last byte 69.835 ns/op 42.784 ns/op 1.63
byteArrayEquals 16384 - diff last byte 32.130 us/op 26.300 us/op 1.22
Buffer.compare 16384 - diff last byte 271.46 ns/op 200.21 ns/op 1.36
byteArrayEquals 123687377 - diff last byte 242.34 ms/op 223.97 ms/op 1.08
Buffer.compare 123687377 - diff last byte 6.1176 ms/op 4.1636 ms/op 1.47
byteArrayEquals 32 - random bytes 5.3570 ns/op 4.5670 ns/op 1.17
Buffer.compare 32 - random bytes 60.153 ns/op 41.734 ns/op 1.44
byteArrayEquals 1024 - random bytes 5.1160 ns/op 4.5130 ns/op 1.13
Buffer.compare 1024 - random bytes 58.972 ns/op 36.977 ns/op 1.59
byteArrayEquals 16384 - random bytes 5.1090 ns/op 4.4570 ns/op 1.15
Buffer.compare 16384 - random bytes 59.084 ns/op 37.149 ns/op 1.59
byteArrayEquals 123687377 - random bytes 8.1400 ns/op 8.0400 ns/op 1.01
Buffer.compare 123687377 - random bytes 62.450 ns/op 40.290 ns/op 1.55
regular array get 100000 times 43.658 us/op 41.798 us/op 1.04
wrappedArray get 100000 times 43.654 us/op 41.845 us/op 1.04
arrayWithProxy get 100000 times 13.913 ms/op 9.8586 ms/op 1.41
ssz.Root.equals 52.565 ns/op 54.561 ns/op 0.96
byteArrayEquals 51.854 ns/op 53.652 ns/op 0.97
Buffer.compare 10.725 ns/op 9.5180 ns/op 1.13
shuffle list - 16384 els 6.8720 ms/op 4.4879 ms/op 1.53
shuffle list - 250000 els 103.35 ms/op 66.370 ms/op 1.56
processSlot - 1 slots 16.839 us/op 10.986 us/op 1.53
processSlot - 32 slots 3.5082 ms/op 2.0642 ms/op 1.70
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.830 ms/op 50.545 ms/op 1.14
getCommitteeAssignments - req 1 vs - 250000 vc 2.4780 ms/op 2.2210 ms/op 1.12
getCommitteeAssignments - req 100 vs - 250000 vc 3.6607 ms/op 3.3314 ms/op 1.10
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0152 ms/op 3.6310 ms/op 1.11
findModifiedValidators - 10000 modified validators 521.68 ms/op 419.09 ms/op 1.24
findModifiedValidators - 1000 modified validators 424.35 ms/op 345.67 ms/op 1.23
findModifiedValidators - 100 modified validators 418.43 ms/op 294.53 ms/op 1.42
findModifiedValidators - 10 modified validators 422.08 ms/op 303.60 ms/op 1.39
findModifiedValidators - 1 modified validators 399.66 ms/op 283.05 ms/op 1.41
findModifiedValidators - no difference 437.21 ms/op 314.69 ms/op 1.39
compare ViewDUs 4.3562 s/op 3.9066 s/op 1.12
compare each validator Uint8Array 1.6536 s/op 1.6100 s/op 1.03
compare ViewDU to Uint8Array 1.0896 s/op 827.06 ms/op 1.32
migrate state 1000000 validators, 24 modified, 0 new 807.65 ms/op 732.64 ms/op 1.10
migrate state 1000000 validators, 1700 modified, 1000 new 1.0974 s/op 970.97 ms/op 1.13
migrate state 1000000 validators, 3400 modified, 2000 new 1.2996 s/op 1.2693 s/op 1.02
migrate state 1500000 validators, 24 modified, 0 new 796.24 ms/op 761.55 ms/op 1.05
migrate state 1500000 validators, 1700 modified, 1000 new 1.0683 s/op 1.0389 s/op 1.03
migrate state 1500000 validators, 3400 modified, 2000 new 1.3134 s/op 1.1413 s/op 1.15
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.1000 ns/op 4.8800 ns/op 0.84
state getBlockRootAtSlot - 250000 vs - 7PWei 903.71 ns/op 530.89 ns/op 1.70
computeProposers - vc 250000 9.5931 ms/op 6.0083 ms/op 1.60
computeEpochShuffling - vc 250000 100.88 ms/op 69.499 ms/op 1.45
getNextSyncCommittee - vc 250000 158.94 ms/op 98.427 ms/op 1.61
computeSigningRoot for AttestationData 30.798 us/op 19.054 us/op 1.62
hash AttestationData serialized data then Buffer.toString(base64) 2.2552 us/op 1.3287 us/op 1.70
toHexString serialized data 1.0444 us/op 804.63 ns/op 1.30
Buffer.toString(base64) 210.30 ns/op 145.85 ns/op 1.44

by benchmarkbot/action

Copy link

codecov bot commented Jan 20, 2024

Codecov Report

Merging #6332 (541652d) into unstable (c423687) will decrease coverage by 0.02%.
Report is 1 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6332      +/-   ##
============================================
- Coverage     76.61%   76.59%   -0.02%     
============================================
  Files           248      248              
  Lines         25898    25907       +9     
  Branches       1448     1448              
============================================
+ Hits          19842    19844       +2     
- Misses         6026     6033       +7     
  Partials         30       30              

@wemeetagain wemeetagain merged commit 4e49dbc into unstable Jan 22, 2024
21 of 22 checks passed
@wemeetagain wemeetagain deleted the nflaig/parse-boost-factor branch January 22, 2024 18:42
@wemeetagain
Copy link
Member

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

Handle non-integer builder.boostFactor
3 participants