Skip to content

fix: suggest the ASCII form when rejecting a builder url - #10127

Merged
wemeetagain merged 1 commit into
unstablefrom
nflaig/builder-url-ascii-hint
Sep 18, 2026
Merged

wemeetagain merged 1 commit into
unstablefrom
nflaig/builder-url-ascii-hint

Conversation

@nflaig

@nflaig nflaig commented Sep 18, 2026

Copy link
Copy Markdown
Member

Builder urls must be ASCII, so a url with an internationalized hostname like https://plat氓berget.dev is rejected without telling the operator what to configure instead. The error from --builder.urls, the proposer config file and the keymanager API now suggests the ASCII form, e.g. use https://xn--platberget-45a.dev/ instead.

Follow-up to #10107, the hostname in punycode is what the default auth data is derived from.

@nflaig
nflaig marked this pull request as ready for review September 18, 2026 13:58
@nflaig
nflaig requested a review from a team as a code owner September 18, 2026 13:58
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions

github-actions Bot commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Performance Report

馃殌馃殌 Significant benchmark improvement detected

Benchmark suite Current: 2c03296 Previous: 3f33d73 Ratio
Array.fill - length 1000000 2.2374 ms/op 20.191 ms/op 0.11
Full benchmark results
Benchmark suite Current: 2c03296 Previous: 3f33d73 Ratio
getPubkeys - native cache - req 1000 vs - 250000 vc 424.86 us/op 423.89 us/op 1.00
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 33.066 us/op 39.495 us/op 0.84
BLS verify - blst 701.30 us/op 903.84 us/op 0.78
BLS verifyMultipleSignatures 3 - blst 1.0543 ms/op 1.3746 ms/op 0.77
BLS verifyMultipleSignatures 8 - blst 1.7484 ms/op 2.2500 ms/op 0.78
BLS verifyMultipleSignatures 32 - blst 5.5698 ms/op 7.2988 ms/op 0.76
BLS verifyMultipleSignatures 64 - blst 10.680 ms/op 14.149 ms/op 0.75
BLS verifyMultipleSignatures 128 - blst 20.832 ms/op 26.763 ms/op 0.78
BLS deserializing 10000 signatures 480.88 ms/op 636.00 ms/op 0.76
BLS deserializing 100000 signatures 4.7793 s/op 6.3662 s/op 0.75
BLS verifyMultipleSignatures - same message - 3 - blst 753.57 us/op 924.30 us/op 0.82
BLS verifyMultipleSignatures - same message - 8 - blst 846.96 us/op 1.0484 ms/op 0.81
BLS verifyMultipleSignatures - same message - 32 - blst 1.2823 ms/op 1.6564 ms/op 0.77
BLS verifyMultipleSignatures - same message - 64 - blst 1.8546 ms/op 2.4636 ms/op 0.75
BLS verifyMultipleSignatures - same message - 128 - blst 3.0025 ms/op 4.0744 ms/op 0.74
BLS aggregatePubkeys 32 - blst 13.907 us/op 18.978 us/op 0.73
BLS aggregatePubkeys 128 - blst 50.186 us/op 69.171 us/op 0.73
getSlashingsAndExits - default max 36.024 us/op 39.529 us/op 0.91
getSlashingsAndExits - 2k 325.29 us/op 333.54 us/op 0.98
proposeBlockBody type=full, size=empty 748.88 us/op 713.22 us/op 1.05
isKnown best case - 1 super set check 120.00 ns/op 163.00 ns/op 0.74
isKnown normal case - 2 super set checks 122.00 ns/op 158.00 ns/op 0.77
isKnown worse case - 16 super set checks 122.00 ns/op 158.00 ns/op 0.77
validate api signedAggregateAndProof - struct 1.1688 ms/op 1.4840 ms/op 0.79
validate gossip signedAggregateAndProof - struct 1.1594 ms/op 1.4675 ms/op 0.79
batch validate gossip attestation - vc 640000 - chunk 32 99.535 us/op 124.92 us/op 0.80
batch validate gossip attestation - vc 640000 - chunk 64 85.215 us/op 105.36 us/op 0.81
batch validate gossip attestation - vc 640000 - chunk 128 75.988 us/op 96.559 us/op 0.79
batch validate gossip attestation - vc 640000 - chunk 256 75.076 us/op 96.772 us/op 0.78
bytes32 toHexString 214.00 ns/op 283.00 ns/op 0.76
bytes32 Buffer.toString(hex) 123.00 ns/op 164.00 ns/op 0.75
bytes32 Buffer.toString(hex) from Uint8Array 186.00 ns/op 230.00 ns/op 0.81
bytes32 Buffer.toString(hex) + 0x 126.00 ns/op 173.00 ns/op 0.73
Return object 10000 times 0.19200 ns/op 0.20650 ns/op 0.93
Throw Error 10000 times 2.6674 us/op 3.4790 us/op 0.77
toHex 66.783 ns/op 100.16 ns/op 0.67
Buffer.from 60.833 ns/op 85.705 ns/op 0.71
shared Buffer 40.435 ns/op 57.622 ns/op 0.70
fastMsgIdFn sha256 / 200 bytes 1.1380 us/op 1.4590 us/op 0.78
fastMsgIdFn h32 xxhash / 200 bytes 106.00 ns/op 154.00 ns/op 0.69
fastMsgIdFn h64 xxhash / 200 bytes 156.00 ns/op 211.00 ns/op 0.74
fastMsgIdFn sha256 / 1000 bytes 3.5760 us/op 4.7270 us/op 0.76
fastMsgIdFn h32 xxhash / 1000 bytes 170.00 ns/op 246.00 ns/op 0.69
fastMsgIdFn h64 xxhash / 1000 bytes 182.00 ns/op 262.00 ns/op 0.69
fastMsgIdFn sha256 / 10000 bytes 31.641 us/op 41.525 us/op 0.76
fastMsgIdFn h32 xxhash / 10000 bytes 875.00 ns/op 1.2570 us/op 0.70
fastMsgIdFn h64 xxhash / 10000 bytes 558.00 ns/op 816.00 ns/op 0.68
send data - 1000 256B messages 4.9449 ms/op 4.3552 ms/op 1.14
send data - 1000 512B messages 5.6424 ms/op 5.4734 ms/op 1.03
send data - 1000 1024B messages 6.0753 ms/op 5.3384 ms/op 1.14
send data - 1000 1200B messages 6.2213 ms/op 5.9363 ms/op 1.05
send data - 1000 2048B messages 8.1424 ms/op 10.257 ms/op 0.79
send data - 1000 4096B messages 39.152 ms/op 49.657 ms/op 0.79
send data - 1000 16384B messages 167.39 ms/op 417.06 ms/op 0.40
send data - 1000 65536B messages 1.0372 s/op 1.8810 s/op 0.55
enrSubnets - fastDeserialize 64 bits 624.00 ns/op 745.00 ns/op 0.84
enrSubnets - ssz BitVector 64 bits 220.00 ns/op 274.00 ns/op 0.80
enrSubnets - fastDeserialize 4 bits 70.000 ns/op 106.00 ns/op 0.66
enrSubnets - ssz BitVector 4 bits 220.00 ns/op 272.00 ns/op 0.81
prioritizePeers score -10:0 att 32-0.1 sync 2-0 165.88 us/op 201.59 us/op 0.82
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 185.73 us/op 227.57 us/op 0.82
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 270.62 us/op 337.87 us/op 0.80
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 477.22 us/op 596.82 us/op 0.80
prioritizePeers score 0:0 att 64-1 sync 4-1 572.92 us/op 694.27 us/op 0.83
archive index / 1 slot / archive root index lookup 40.980 us/op 17.767 us/op 2.31
archive index / 1 slot / archive block lookup, decode and hash 2.6426 ms/op 2.8103 ms/op 0.94
archive index / 1 slots / 1 columns / legacy 26.800 us/op 24.216 us/op 1.11
archive index / 1 slots / 1 columns / flat files 280.01 us/op 147.60 us/op 1.90
archive index / 1 slots / 8 columns / legacy 379.04 us/op 95.768 us/op 3.96
archive index / 1 slots / 8 columns / flat files 346.00 us/op 363.40 us/op 0.95
archive index / 1 slots / 128 columns / legacy 11.344 ms/op 9.5282 ms/op 1.19
archive index / 1 slots / 128 columns / flat files 6.4671 ms/op 4.6642 ms/op 1.39
archive index / 8 slots / 1 columns / legacy 192.19 us/op 196.80 us/op 0.98
archive index / 8 slots / 1 columns / flat files 2.1227 ms/op 1.0201 ms/op 2.08
archive index / 8 slots / 8 columns / legacy 1.0816 ms/op 1.4874 ms/op 0.73
archive index / 8 slots / 8 columns / flat files 2.8444 ms/op 3.4596 ms/op 0.82
archive index / 8 slots / 128 columns / legacy 84.930 ms/op 92.296 ms/op 0.92
archive index / 8 slots / 128 columns / flat files 149.08 ms/op 276.67 ms/op 0.54
head state / 1 slot / archive root index lookup 39.607 us/op 18.655 us/op 2.12
head state / 1 slot / archive block lookup, decode and hash 2.4158 ms/op 2.9160 ms/op 0.83
head state / 1 slots / 1 columns / legacy 31.553 us/op 20.264 us/op 1.56
head state / 1 slots / 1 columns / flat files 219.86 us/op 116.45 us/op 1.89
head state / 1 slots / 8 columns / legacy 170.35 us/op 99.466 us/op 1.71
head state / 1 slots / 8 columns / flat files 390.69 us/op 340.96 us/op 1.15
head state / 1 slots / 128 columns / legacy 7.6293 ms/op 7.2522 ms/op 1.05
head state / 1 slots / 128 columns / flat files 6.4147 ms/op 5.6005 ms/op 1.15
head state / 8 slots / 1 columns / legacy 129.65 us/op 176.32 us/op 0.74
head state / 8 slots / 1 columns / flat files 1.6096 ms/op 1.0549 ms/op 1.53
head state / 8 slots / 8 columns / legacy 1.0478 ms/op 729.89 us/op 1.44
head state / 8 slots / 8 columns / flat files 3.0182 ms/op 2.9184 ms/op 1.03
head state / 8 slots / 128 columns / legacy 61.185 ms/op 111.30 ms/op 0.55
head state / 8 slots / 128 columns / flat files 100.82 ms/op 242.15 ms/op 0.42
array of 16000 items push then shift 776.76 ns/op 1.2775 us/op 0.61
LinkedList of 16000 items push then shift 5.2280 ns/op 7.4250 ns/op 0.70
array of 16000 items push then pop 47.327 ns/op 80.595 ns/op 0.59
LinkedList of 16000 items push then pop 4.4970 ns/op 5.9140 ns/op 0.76
array of 24000 items push then shift 1.1023 us/op 1.8645 us/op 0.59
LinkedList of 24000 items push then shift 4.6470 ns/op 7.0720 ns/op 0.66
array of 24000 items push then pop 62.980 ns/op 115.48 ns/op 0.55
LinkedList of 24000 items push then pop 4.5410 ns/op 5.9860 ns/op 0.76
intersect bitArray bitLen 8 2.3760 ns/op 3.8700 ns/op 0.61
intersect array and set length 8 21.191 ns/op 29.151 ns/op 0.73
intersect bitArray bitLen 128 15.857 ns/op 23.061 ns/op 0.69
intersect array and set length 128 361.69 ns/op 494.47 ns/op 0.73
bitArray.getTrueBitIndexes() bitLen 128 785.00 ns/op 972.00 ns/op 0.81
bitArray.getTrueBitIndexes() bitLen 248 1.3930 us/op 1.7120 us/op 0.81
bitArray.getTrueBitIndexes() bitLen 512 3.0090 us/op 3.6360 us/op 0.83
Full columns - reconstruct all 6 blobs 177.25 us/op 137.39 us/op 1.29
Full columns - reconstruct half of the blobs out of 6 77.057 us/op 82.026 us/op 0.94
Full columns - reconstruct single blob out of 6 34.566 us/op 43.277 us/op 0.80
Half columns - reconstruct all 6 blobs 284.69 ms/op 376.74 ms/op 0.76
Half columns - reconstruct half of the blobs out of 6 142.26 ms/op 182.40 ms/op 0.78
Half columns - reconstruct single blob out of 6 50.448 ms/op 65.306 ms/op 0.77
Set add up to 64 items then delete first 1.2729 us/op 1.5384 us/op 0.83
OrderedSet add up to 64 items then delete first 1.8961 us/op 2.3487 us/op 0.81
Set add up to 64 items then delete last 1.5309 us/op 1.7428 us/op 0.88
OrderedSet add up to 64 items then delete last 2.3660 us/op 2.6500 us/op 0.89
Set add up to 64 items then delete middle 1.5171 us/op 1.7699 us/op 0.86
OrderedSet add up to 64 items then delete middle 3.1560 us/op 4.0696 us/op 0.78
Set add up to 128 items then delete first 3.5632 us/op 3.8876 us/op 0.92
OrderedSet add up to 128 items then delete first 5.4702 us/op 5.9432 us/op 0.92
Set add up to 128 items then delete last 3.6037 us/op 3.4087 us/op 1.06
OrderedSet add up to 128 items then delete last 4.9025 us/op 5.1248 us/op 0.96
Set add up to 128 items then delete middle 3.4951 us/op 3.3622 us/op 1.04
OrderedSet add up to 128 items then delete middle 9.4585 us/op 11.533 us/op 0.82
Set add up to 256 items then delete first 7.2968 us/op 7.0714 us/op 1.03
OrderedSet add up to 256 items then delete first 10.921 us/op 11.857 us/op 0.92
Set add up to 256 items then delete last 7.0945 us/op 7.3241 us/op 0.97
OrderedSet add up to 256 items then delete last 9.9888 us/op 11.475 us/op 0.87
Set add up to 256 items then delete middle 7.1127 us/op 6.8246 us/op 1.04
OrderedSet add up to 256 items then delete middle 28.886 us/op 34.664 us/op 0.83
runFastConfirmationRules vc:100000 bc:96 eq:0 3.5259 ms/op 4.4610 ms/op 0.79
runFastConfirmationRules vc:600000 bc:96 eq:0 26.553 ms/op 36.664 ms/op 0.72
runFastConfirmationRules vc:1000000 bc:96 eq:0 46.847 ms/op 69.485 ms/op 0.67
runFastConfirmationRules vc:600000 bc:320 eq:0 27.159 ms/op 39.427 ms/op 0.69
runFastConfirmationRules vc:100000 bc:96 eq:1000 1.0211 s/op 1.1671 s/op 0.87
pass gossip attestations to forkchoice per slot 2.0798 ms/op 2.6430 ms/op 0.79
forkChoice updateHead vc 100000 bc 64 eq 0 315.97 us/op 488.38 us/op 0.65
forkChoice updateHead vc 600000 bc 64 eq 0 1.8143 ms/op 2.4164 ms/op 0.75
forkChoice updateHead vc 1000000 bc 64 eq 0 3.1902 ms/op 4.0821 ms/op 0.78
forkChoice updateHead vc 600000 bc 320 eq 0 1.8647 ms/op 2.4750 ms/op 0.75
forkChoice updateHead vc 600000 bc 1200 eq 0 1.9288 ms/op 2.4727 ms/op 0.78
forkChoice updateHead vc 600000 bc 7200 eq 0 3.0285 ms/op 3.2240 ms/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 1000 1.8664 ms/op 2.4650 ms/op 0.76
forkChoice updateHead vc 600000 bc 64 eq 10000 2.7231 ms/op 2.5473 ms/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 300000 6.2488 ms/op 7.1912 ms/op 0.87
forkChoice updateHead vc 600000 bc 64 eq 0 gloas boosted 1.9481 ms/op 2.5512 ms/op 0.76
computeDeltas 1400000 validators 0% inactive 8.8183 ms/op 12.260 ms/op 0.72
computeDeltas 1400000 validators 10% inactive 8.3341 ms/op 11.575 ms/op 0.72
computeDeltas 1400000 validators 20% inactive 7.8983 ms/op 10.906 ms/op 0.72
computeDeltas 1400000 validators 50% inactive 6.5903 ms/op 8.9472 ms/op 0.74
computeDeltas 2100000 validators 0% inactive 13.252 ms/op 18.238 ms/op 0.73
computeDeltas 2100000 validators 10% inactive 11.311 ms/op 17.182 ms/op 0.66
computeDeltas 2100000 validators 20% inactive 10.762 ms/op 16.271 ms/op 0.66
computeDeltas 2100000 validators 50% inactive 8.2734 ms/op 11.015 ms/op 0.75
altair processAttestation - 250000 vs - 7PWei normalcase 2.5348 ms/op 1.8317 ms/op 1.38
altair processAttestation - 250000 vs - 7PWei worstcase 3.7686 ms/op 2.9114 ms/op 1.29
altair processAttestation - setStatus - 1/6 committees join 84.796 us/op 97.808 us/op 0.87
altair processAttestation - setStatus - 1/3 committees join 167.32 us/op 199.08 us/op 0.84
altair processAttestation - setStatus - 1/2 committees join 239.78 us/op 283.21 us/op 0.85
altair processAttestation - setStatus - 2/3 committees join 311.64 us/op 378.08 us/op 0.82
altair processAttestation - setStatus - 4/5 committees join 425.64 us/op 530.37 us/op 0.80
altair processAttestation - setStatus - 100% committees join 511.76 us/op 622.73 us/op 0.82
altair processBlock - 250000 vs - 7PWei normalcase 4.8282 ms/op 5.1300 ms/op 0.94
altair processBlock - 250000 vs - 7PWei normalcase hashState 23.192 ms/op 25.613 ms/op 0.91
altair processBlock - 250000 vs - 7PWei worstcase 21.054 ms/op 26.042 ms/op 0.81
altair processBlock - 250000 vs - 7PWei worstcase hashState 51.997 ms/op 62.351 ms/op 0.83
phase0 processBlock - 250000 vs - 7PWei normalcase 1.1193 ms/op 1.2976 ms/op 0.86
phase0 processBlock - 250000 vs - 7PWei worstcase 15.771 ms/op 19.641 ms/op 0.80
altair processEth1Data - 250000 vs - 7PWei normalcase 225.45 us/op 290.61 us/op 0.78
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:16 5.5610 us/op 3.2100 us/op 1.73
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:220 19.972 us/op 19.772 us/op 1.01
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:43 8.3540 us/op 5.8200 us/op 1.44
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:19 6.6520 us/op 3.7400 us/op 1.78
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1021 82.242 us/op 90.148 us/op 0.91
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11778 1.0892 ms/op 1.3921 ms/op 0.78
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4097 ms/op 1.8439 ms/op 0.76
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4224 ms/op 1.8170 ms/op 0.78
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.6134 ms/op 3.6576 ms/op 0.71
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.5934 ms/op 2.1332 ms/op 0.75
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.8002 ms/op 3.9500 ms/op 0.71
Tree 40 250000 create 224.90 ms/op 308.37 ms/op 0.73
Tree 40 250000 get(125000) 68.463 ns/op 91.425 ns/op 0.75
Tree 40 250000 set(125000) 749.67 ns/op 986.30 ns/op 0.76
Tree 40 250000 toArray() 8.0247 ms/op 13.612 ms/op 0.59
Tree 40 250000 iterate all - toArray() + loop 8.2054 ms/op 14.344 ms/op 0.57
Tree 40 250000 iterate all - get(i) 25.627 ms/op 39.089 ms/op 0.66
Array 250000 create 1.3749 ms/op 2.4615 ms/op 0.56
Array 250000 clone - spread 337.80 us/op 784.88 us/op 0.43
Array 250000 get(125000) 0.25200 ns/op 0.29700 ns/op 0.85
Array 250000 set(125000) 0.25400 ns/op 0.29900 ns/op 0.85
Array 250000 iterate all - loop 45.282 us/op 57.537 us/op 0.79
phase0 afterProcessEpoch - 250000 vs - 7PWei 38.603 ms/op 38.968 ms/op 0.99
Array.fill - length 1000000 2.2374 ms/op 20.191 ms/op 0.11
Array push - length 1000000 7.2582 ms/op 13.245 ms/op 0.55
Array.get 0.18171 ns/op 0.20860 ns/op 0.87
Uint8Array.get 0.19944 ns/op 0.25203 ns/op 0.79
phase0 beforeProcessEpoch - 250000 vs - 7PWei 12.308 ms/op 17.585 ms/op 0.70
altair processEpoch - mainnet_e81889 202.33 ms/op 239.23 ms/op 0.85
mainnet_e81889 - altair beforeProcessEpoch 15.986 ms/op 39.008 ms/op 0.41
mainnet_e81889 - altair processJustificationAndFinalization 3.7440 us/op 4.8020 us/op 0.78
mainnet_e81889 - altair processInactivityUpdates 2.4521 ms/op 3.9763 ms/op 0.62
mainnet_e81889 - altair processRewardsAndPenalties 14.542 ms/op 18.256 ms/op 0.80
mainnet_e81889 - altair processRegistryUpdates 433.00 ns/op 571.00 ns/op 0.76
mainnet_e81889 - altair processSlashings 107.00 ns/op 143.00 ns/op 0.75
mainnet_e81889 - altair processEth1DataReset 103.00 ns/op 141.00 ns/op 0.73
mainnet_e81889 - altair processEffectiveBalanceUpdates 799.21 us/op 1.8970 ms/op 0.42
mainnet_e81889 - altair processSlashingsReset 529.00 ns/op 690.00 ns/op 0.77
mainnet_e81889 - altair processRandaoMixesReset 726.00 ns/op 971.00 ns/op 0.75
mainnet_e81889 - altair processHistoricalRootsUpdate 105.00 ns/op 142.00 ns/op 0.74
mainnet_e81889 - altair processParticipationFlagUpdates 335.00 ns/op 460.00 ns/op 0.73
mainnet_e81889 - altair processSyncCommitteeUpdates 86.000 ns/op 114.00 ns/op 0.75
mainnet_e81889 - altair afterProcessEpoch 40.375 ms/op 41.544 ms/op 0.97
capella processEpoch - mainnet_e217614 647.14 ms/op 747.01 ms/op 0.87
mainnet_e217614 - capella beforeProcessEpoch 58.605 ms/op 61.598 ms/op 0.95
mainnet_e217614 - capella processJustificationAndFinalization 3.6550 us/op 4.7760 us/op 0.77
mainnet_e217614 - capella processInactivityUpdates 10.259 ms/op 14.429 ms/op 0.71
mainnet_e217614 - capella processRewardsAndPenalties 76.669 ms/op 92.058 ms/op 0.83
mainnet_e217614 - capella processRegistryUpdates 3.3330 us/op 4.6430 us/op 0.72
mainnet_e217614 - capella processSlashings 106.00 ns/op 146.00 ns/op 0.73
mainnet_e217614 - capella processEth1DataReset 104.00 ns/op 136.00 ns/op 0.76
mainnet_e217614 - capella processEffectiveBalanceUpdates 9.8085 ms/op 14.659 ms/op 0.67
mainnet_e217614 - capella processSlashingsReset 534.00 ns/op 676.00 ns/op 0.79
mainnet_e217614 - capella processRandaoMixesReset 748.00 ns/op 939.00 ns/op 0.80
mainnet_e217614 - capella processHistoricalRootsUpdate 105.00 ns/op 138.00 ns/op 0.76
mainnet_e217614 - capella processParticipationFlagUpdates 341.00 ns/op 455.00 ns/op 0.75
mainnet_e217614 - capella afterProcessEpoch 104.87 ms/op 110.99 ms/op 0.94
phase0 processEpoch - mainnet_e58758 226.20 ms/op 246.08 ms/op 0.92
mainnet_e58758 - phase0 beforeProcessEpoch 46.930 ms/op 48.879 ms/op 0.96
mainnet_e58758 - phase0 processJustificationAndFinalization 3.7580 us/op 4.9910 us/op 0.75
mainnet_e58758 - phase0 processRewardsAndPenalties 12.629 ms/op 16.996 ms/op 0.74
mainnet_e58758 - phase0 processRegistryUpdates 1.6840 us/op 2.2070 us/op 0.76
mainnet_e58758 - phase0 processSlashings 157.00 ns/op 140.00 ns/op 1.12
mainnet_e58758 - phase0 processEth1DataReset 104.00 ns/op 137.00 ns/op 0.76
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 544.36 us/op 818.36 us/op 0.67
mainnet_e58758 - phase0 processSlashingsReset 675.00 ns/op 890.00 ns/op 0.76
mainnet_e58758 - phase0 processRandaoMixesReset 847.00 ns/op 998.00 ns/op 0.85
mainnet_e58758 - phase0 processHistoricalRootsUpdate 114.00 ns/op 137.00 ns/op 0.83
mainnet_e58758 - phase0 processParticipationRecordUpdates 856.00 ns/op 985.00 ns/op 0.87
mainnet_e58758 - phase0 afterProcessEpoch 33.019 ms/op 33.633 ms/op 0.98
phase0 processEffectiveBalanceUpdates - 250000 normalcase 698.10 us/op 1.0150 ms/op 0.69
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 815.35 us/op 1.5872 ms/op 0.51
gloas processInactivityUpdates - 250000 inactivity leak all eligible missed target 7.6498 ms/op 11.311 ms/op 0.68
phase0 processRegistryUpdates - 250000 normalcase 7.8350 us/op 2.5380 us/op 3.09
phase0 processRegistryUpdates - 250000 badcase_full_deposits 144.57 us/op 141.13 us/op 1.02
phase0 processRegistryUpdates - 250000 worstcase 0.5 50.331 ms/op 67.171 ms/op 0.75
altair processRewardsAndPenalties - 250000 normalcase 12.254 ms/op 15.540 ms/op 0.79
altair processRewardsAndPenalties - 250000 worstcase 11.977 ms/op 15.050 ms/op 0.80
phase0 getAttestationDeltas - 250000 normalcase 3.6504 ms/op 5.5970 ms/op 0.65
phase0 getAttestationDeltas - 250000 worstcase 3.6763 ms/op 6.3044 ms/op 0.58
phase0 processSlashings - 250000 worstcase 52.340 us/op 60.867 us/op 0.86
altair processSyncCommitteeUpdates - 250000 7.2708 ms/op 10.107 ms/op 0.72
BeaconState.hashTreeRoot - No change 130.00 ns/op 173.00 ns/op 0.75
BeaconState.hashTreeRoot - 1 full validator 70.298 us/op 85.802 us/op 0.82
BeaconState.hashTreeRoot - 32 full validator 765.98 us/op 927.76 us/op 0.83
BeaconState.hashTreeRoot - 512 full validator 7.4977 ms/op 8.7626 ms/op 0.86
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 86.224 us/op 107.45 us/op 0.80
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.2673 ms/op 1.4851 ms/op 0.85
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 15.530 ms/op 19.836 ms/op 0.78
BeaconState.hashTreeRoot - 1 balances 67.227 us/op 86.109 us/op 0.78
BeaconState.hashTreeRoot - 32 balances 635.65 us/op 801.19 us/op 0.79
BeaconState.hashTreeRoot - 512 balances 5.4449 ms/op 6.9450 ms/op 0.78
BeaconState.hashTreeRoot - 250000 balances 116.40 ms/op 138.26 ms/op 0.84
aggregationBits - 2048 els - zipIndexesInBitList 14.176 us/op 19.914 us/op 0.71
regular array get 100000 times 18.130 us/op 22.782 us/op 0.80
wrappedArray get 100000 times 18.156 us/op 22.759 us/op 0.80
arrayWithProxy get 100000 times 8.2126 ms/op 11.837 ms/op 0.69
ssz.Root.equals 14.573 ns/op 21.638 ns/op 0.67
byteArrayEquals 14.224 ns/op 21.452 ns/op 0.66
Buffer.compare 6.0510 ns/op 8.8730 ns/op 0.68
processSlot - 1 slots 8.2740 us/op 11.007 us/op 0.75
processSlot - 32 slots 1.7933 ms/op 2.1139 ms/op 0.85
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 2.8559 ms/op 5.4809 ms/op 0.52
getCommitteeAssignments - req 1 vs - 250000 vc 1.3832 ms/op 1.6686 ms/op 0.83
getCommitteeAssignments - req 100 vs - 250000 vc 3.2277 ms/op 3.4244 ms/op 0.94
getCommitteeAssignments - req 1000 vs - 250000 vc 3.4266 ms/op 3.6798 ms/op 0.93
findModifiedValidators - 10000 modified validators 495.72 ms/op 860.86 ms/op 0.58
findModifiedValidators - 1000 modified validators 363.17 ms/op 562.87 ms/op 0.65
findModifiedValidators - 100 modified validators 226.79 ms/op 424.00 ms/op 0.53
findModifiedValidators - 10 modified validators 196.89 ms/op 335.09 ms/op 0.59
findModifiedValidators - 1 modified validators 132.32 ms/op 310.11 ms/op 0.43
findModifiedValidators - no difference 161.47 ms/op 192.72 ms/op 0.84
migrate state 1500000 validators, 3400 modified, 2000 new 2.3481 s/op 3.6720 s/op 0.64
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 2.4300 ns/op 3.6500 ns/op 0.67
state getBlockRootAtSlot - 250000 vs - 7PWei 309.85 ns/op 448.07 ns/op 0.69
computeProposerIndex 100000 validators 1.1262 ms/op 1.4296 ms/op 0.79
getNextSyncCommitteeIndices 1000 validators 2.2615 ms/op 2.9766 ms/op 0.76
getNextSyncCommitteeIndices 10000 validators 20.065 ms/op 26.886 ms/op 0.75
getNextSyncCommitteeIndices 100000 validators 67.950 ms/op 92.002 ms/op 0.74
computeProposers - vc 250000 491.00 us/op 584.50 us/op 0.84
computeEpochShuffling - vc 250000 37.838 ms/op 40.857 ms/op 0.93
getNextSyncCommittee - vc 250000 6.9332 ms/op 9.7768 ms/op 0.71
nodejs block root to RootHex using toHex 67.629 ns/op 96.209 ns/op 0.70
nodejs block root to RootHex using toRootHex 41.923 ns/op 64.716 ns/op 0.65
nodejs fromHex(blob) 683.23 us/op 989.13 us/op 0.69
nodejs fromHexInto(blob) 437.23 us/op 635.29 us/op 0.69
nodejs block root to RootHex using the deprecated toHexString 547.73 ns/op 610.82 ns/op 0.90
nodejs byteArrayEquals 32 bytes (block root) 17.204 ns/op 25.691 ns/op 0.67
nodejs byteArrayEquals 48 bytes (pubkey) 24.474 ns/op 37.031 ns/op 0.66
nodejs byteArrayEquals 96 bytes (signature) 25.956 ns/op 35.042 ns/op 0.74
nodejs byteArrayEquals 1024 bytes 30.448 ns/op 41.941 ns/op 0.73
nodejs byteArrayEquals 131072 bytes (blob) 1.1133 us/op 1.7554 us/op 0.63
browser block root to RootHex using toHex 107.33 ns/op 145.16 ns/op 0.74
browser block root to RootHex using toRootHex 99.643 ns/op 131.38 ns/op 0.76
browser fromHex(blob) 1.2800 ms/op 1.6482 ms/op 0.78
browser fromHexInto(blob) 432.85 us/op 616.68 us/op 0.70
browser block root to RootHex using the deprecated toHexString 531.88 ns/op 405.17 ns/op 1.31
browser byteArrayEquals 32 bytes (block root) 17.655 ns/op 27.806 ns/op 0.63
browser byteArrayEquals 48 bytes (pubkey) 25.057 ns/op 39.301 ns/op 0.64
browser byteArrayEquals 96 bytes (signature) 47.010 ns/op 73.249 ns/op 0.64
browser byteArrayEquals 1024 bytes 485.18 ns/op 737.06 ns/op 0.66
browser byteArrayEquals 131072 bytes (blob) 60.820 us/op 93.627 us/op 0.65

by benchmarkbot/action

@wemeetagain
wemeetagain merged commit 3f33d73 into unstable Sep 18, 2026
22 of 23 checks passed
@wemeetagain
wemeetagain deleted the nflaig/builder-url-ascii-hint branch September 18, 2026 15:05
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Lodestar Team Coordination Sep 18, 2026
@wemeetagain

Copy link
Copy Markdown
Member

馃帀 This PR is included in v1.49.0 馃帀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants