Skip to content

ci: run zig jobs only when zig sources change - #10522

Closed
spiral-ladder wants to merge 4 commits into
unstablefrom
bing/zig-src-ci
Closed

spiral-ladder wants to merge 4 commits into
unstablefrom
bing/zig-src-ci

Conversation

@spiral-ladder

Copy link
Copy Markdown
Member

Motivation

CI has gotten bigger after we merged lodestar-z and lodestar. Let's skip zig tests if there are no changes to zig in a PR.

Description

On pull requests, skip the zig build, spec, fuzz and native bindings jobs unless files under the zig tree, the bindings, the build files or the workflows changed. Pushes to unstable/stable and manual runs still run everything.

AI Assistance Disclosure

fable

On pull requests, skip the zig build, spec, fuzz and native bindings jobs unless
files under the zig tree, the bindings, the build files or the workflows changed.
Pushes to unstable/stable and manual runs still run everything.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-30T09:22:14.656907Z 331b02a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 331b02ad15

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/test.yml Resolved
Only test.yml and the composite actions it uses affect the gated jobs, so
stop waking them for edits to unrelated workflows.
pkg/ holds the local afl++ package that test/fuzz/build.zig.zon depends on,
so changes there must run the Zig fuzz build.
@matthewkeil matthewkeil moved this from In Progress to Awaiting Author in Lodestar Team Coordination Oct 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 725ac3f Previous: e2c534f Ratio
Array.fill - length 1000000 17.088 ms/op 3.8975 ms/op 4.38
Full benchmark results
Benchmark suite Current: 725ac3f Previous: e2c534f Ratio
getPubkeys - native cache - req 1000 vs - 250000 vc 468.50 us/op 1.1637 ms/op 0.40
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 32.588 us/op 38.150 us/op 0.85
BLS verify - blst 734.87 us/op 825.42 us/op 0.89
BLS verifyMultipleSignatures 3 - blst 1.0998 ms/op 1.2455 ms/op 0.88
BLS verifyMultipleSignatures 8 - blst 1.8144 ms/op 2.0361 ms/op 0.89
BLS verifyMultipleSignatures 32 - blst 5.7625 ms/op 6.8238 ms/op 0.84
BLS verifyMultipleSignatures 64 - blst 10.753 ms/op 12.750 ms/op 0.84
BLS verifyMultipleSignatures 128 - blst 20.713 ms/op 24.453 ms/op 0.85
BLS deserializing 10000 signatures 495.49 ms/op 592.55 ms/op 0.84
BLS deserializing 100000 signatures 5.2144 s/op 6.0861 s/op 0.86
BLS verifyMultipleSignatures - same message - 3 - blst 795.32 us/op 886.24 us/op 0.90
BLS verifyMultipleSignatures - same message - 8 - blst 899.62 us/op 1.0037 ms/op 0.90
BLS verifyMultipleSignatures - same message - 32 - blst 1.3825 ms/op 1.5650 ms/op 0.88
BLS verifyMultipleSignatures - same message - 64 - blst 1.9636 ms/op 2.3362 ms/op 0.84
BLS verifyMultipleSignatures - same message - 128 - blst 3.2141 ms/op 3.8645 ms/op 0.83
BLS aggregatePubkeys 32 - blst 14.631 us/op 17.866 us/op 0.82
BLS aggregatePubkeys 128 - blst 52.893 us/op 64.629 us/op 0.82
getSlashingsAndExits - default max 50.409 us/op 55.710 us/op 0.90
getSlashingsAndExits - 2k 606.11 us/op 444.30 us/op 1.36
proposeBlockBody type=full, size=empty 1.3688 ms/op 1.1087 ms/op 1.23
isKnown best case - 1 super set check 167.00 ns/op 164.00 ns/op 1.02
isKnown normal case - 2 super set checks 159.00 ns/op 154.00 ns/op 1.03
isKnown worse case - 16 super set checks 125.00 ns/op 152.00 ns/op 0.82
validate api signedAggregateAndProof - struct 1.2522 ms/op 1.4053 ms/op 0.89
validate gossip signedAggregateAndProof - struct 1.2680 ms/op 1.3976 ms/op 0.91
batch validate gossip attestation - vc 640000 - chunk 32 118.54 us/op 125.85 us/op 0.94
batch validate gossip attestation - vc 640000 - chunk 64 103.15 us/op 106.48 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 128 89.409 us/op 97.014 us/op 0.92
batch validate gossip attestation - vc 640000 - chunk 256 86.962 us/op 93.664 us/op 0.93
bytes32 toHexString 254.00 ns/op 262.00 ns/op 0.97
bytes32 Buffer.toString(hex) 133.00 ns/op 152.00 ns/op 0.88
bytes32 Buffer.toString(hex) from Uint8Array 186.00 ns/op 210.00 ns/op 0.89
bytes32 Buffer.toString(hex) + 0x 137.00 ns/op 151.00 ns/op 0.91
Return object 10000 times 0.20680 ns/op 0.19710 ns/op 1.05
Throw Error 10000 times 1.7487 us/op 1.6790 us/op 1.04
toHex 77.797 ns/op 88.837 ns/op 0.88
Buffer.from 71.138 ns/op 80.170 ns/op 0.89
shared Buffer 46.519 ns/op 53.932 ns/op 0.86
fastMsgIdFn sha256 / 200 bytes 1.2510 us/op 1.3530 us/op 0.92
fastMsgIdFn h32 xxhash / 200 bytes 113.00 ns/op 137.00 ns/op 0.82
fastMsgIdFn h64 xxhash / 200 bytes 172.00 ns/op 173.00 ns/op 0.99
fastMsgIdFn sha256 / 1000 bytes 3.9550 us/op 4.3610 us/op 0.91
fastMsgIdFn h32 xxhash / 1000 bytes 182.00 ns/op 221.00 ns/op 0.82
fastMsgIdFn h64 xxhash / 1000 bytes 214.00 ns/op 223.00 ns/op 0.96
fastMsgIdFn sha256 / 10000 bytes 34.762 us/op 38.650 us/op 0.90
fastMsgIdFn h32 xxhash / 10000 bytes 965.00 ns/op 1.1820 us/op 0.82
fastMsgIdFn h64 xxhash / 10000 bytes 624.00 ns/op 765.00 ns/op 0.82
send data - 1000 256B messages 5.1434 ms/op 4.1112 ms/op 1.25
send data - 1000 512B messages 6.5444 ms/op 5.7242 ms/op 1.14
send data - 1000 1024B messages 6.7970 ms/op 6.9184 ms/op 0.98
send data - 1000 1200B messages 9.0420 ms/op 8.0653 ms/op 1.12
send data - 1000 2048B messages 14.076 ms/op 14.376 ms/op 0.98
send data - 1000 4096B messages 109.93 ms/op 103.90 ms/op 1.06
send data - 1000 16384B messages 509.59 ms/op 364.87 ms/op 1.40
send data - 1000 65536B messages 2.0620 s/op 2.5775 s/op 0.80
enrSubnets - fastDeserialize 64 bits 150.00 ns/op 2.8700 us/op 0.05
enrSubnets - ssz BitVector 64 bits 238.00 ns/op 308.00 ns/op 0.77
enrSubnets - fastDeserialize 4 bits 72.000 ns/op 89.000 ns/op 0.81
enrSubnets - ssz BitVector 4 bits 244.00 ns/op 248.00 ns/op 0.98
prioritizePeers score -10:0 att 32-0.1 sync 2-0 206.91 us/op 242.16 us/op 0.85
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 222.98 us/op 281.08 us/op 0.79
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 313.88 us/op 356.14 us/op 0.88
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 570.23 us/op 597.81 us/op 0.95
prioritizePeers score 0:0 att 64-1 sync 4-1 672.85 us/op 797.60 us/op 0.84
archive index / 1 slot / archive root index lookup 47.027 us/op 24.384 us/op 1.93
archive index / 1 slot / archive block lookup, decode and hash 2.4123 ms/op 2.7145 ms/op 0.89
archive index / 1 slots / 1 columns / legacy 39.542 us/op 28.538 us/op 1.39
archive index / 1 slots / 1 columns / flat files 323.48 us/op 207.61 us/op 1.56
archive index / 1 slots / 8 columns / legacy 97.576 us/op 79.623 us/op 1.23
archive index / 1 slots / 8 columns / flat files 477.14 us/op 440.46 us/op 1.08
archive index / 1 slots / 128 columns / legacy 20.627 ms/op 8.7833 ms/op 2.35
archive index / 1 slots / 128 columns / flat files 7.9335 ms/op 6.3078 ms/op 1.26
archive index / 8 slots / 1 columns / legacy 201.18 us/op 205.06 us/op 0.98
archive index / 8 slots / 1 columns / flat files 2.3711 ms/op 1.5395 ms/op 1.54
archive index / 8 slots / 8 columns / legacy 2.5752 ms/op 2.2403 ms/op 1.15
archive index / 8 slots / 8 columns / flat files 4.0315 ms/op 4.6307 ms/op 0.87
archive index / 8 slots / 128 columns / legacy 101.79 ms/op 132.99 ms/op 0.77
archive index / 8 slots / 128 columns / flat files 336.50 ms/op 460.76 ms/op 0.73
head state / 1 slot / archive root index lookup 39.112 us/op 21.822 us/op 1.79
head state / 1 slot / archive block lookup, decode and hash 2.3979 ms/op 2.5372 ms/op 0.95
head state / 1 slots / 1 columns / legacy 40.279 us/op 27.216 us/op 1.48
head state / 1 slots / 1 columns / flat files 245.95 us/op 168.11 us/op 1.46
head state / 1 slots / 8 columns / legacy 114.49 us/op 103.81 us/op 1.10
head state / 1 slots / 8 columns / flat files 611.41 us/op 446.51 us/op 1.37
head state / 1 slots / 128 columns / legacy 3.4875 ms/op 2.3231 ms/op 1.50
head state / 1 slots / 128 columns / flat files 4.6444 ms/op 8.9179 ms/op 0.52
head state / 8 slots / 1 columns / legacy 11.426 ms/op 202.48 us/op 56.43
head state / 8 slots / 1 columns / flat files 1.7656 ms/op 1.0762 ms/op 1.64
head state / 8 slots / 8 columns / legacy 6.1994 ms/op 1.5785 ms/op 3.93
head state / 8 slots / 8 columns / flat files 3.4016 ms/op 3.8014 ms/op 0.89
head state / 8 slots / 128 columns / legacy 108.54 ms/op 106.32 ms/op 1.02
head state / 8 slots / 128 columns / flat files 350.86 ms/op 310.26 ms/op 1.13
array of 16000 items push then shift 829.16 ns/op 1.1999 us/op 0.69
LinkedList of 16000 items push then shift 6.7840 ns/op 7.9200 ns/op 0.86
array of 16000 items push then pop 66.516 ns/op 82.492 ns/op 0.81
LinkedList of 16000 items push then pop 5.7720 ns/op 6.1320 ns/op 0.94
array of 24000 items push then shift 1.2200 us/op 1.7929 us/op 0.68
LinkedList of 24000 items push then shift 8.2250 ns/op 7.9130 ns/op 1.04
array of 24000 items push then pop 93.416 ns/op 120.08 ns/op 0.78
LinkedList of 24000 items push then pop 6.5060 ns/op 6.2500 ns/op 1.04
intersect bitArray bitLen 8 2.6030 ns/op 3.6640 ns/op 0.71
intersect array and set length 8 25.625 ns/op 28.390 ns/op 0.90
intersect bitArray bitLen 128 17.342 ns/op 22.051 ns/op 0.79
intersect array and set length 128 405.43 ns/op 477.14 ns/op 0.85
bitArray.getTrueBitIndexes() bitLen 128 992.00 ns/op 931.00 ns/op 1.07
bitArray.getTrueBitIndexes() bitLen 248 1.7300 us/op 1.7050 us/op 1.01
bitArray.getTrueBitIndexes() bitLen 512 3.6440 us/op 3.6050 us/op 1.01
Full columns - reconstruct all 6 blobs 218.12 us/op 157.14 us/op 1.39
Full columns - reconstruct half of the blobs out of 6 269.48 us/op 103.31 us/op 2.61
Full columns - reconstruct single blob out of 6 99.930 us/op 45.125 us/op 2.21
Half columns - reconstruct all 6 blobs 332.98 ms/op 394.41 ms/op 0.84
Half columns - reconstruct half of the blobs out of 6 166.15 ms/op 193.55 ms/op 0.86
Half columns - reconstruct single blob out of 6 60.249 ms/op 69.736 ms/op 0.86
Set add up to 64 items then delete first 1.4093 us/op 3.5191 us/op 0.40
OrderedSet add up to 64 items then delete first 2.1263 us/op 4.4567 us/op 0.48
Set add up to 64 items then delete last 1.7074 us/op 4.1238 us/op 0.41
OrderedSet add up to 64 items then delete last 3.1313 us/op 6.7995 us/op 0.46
Set add up to 64 items then delete middle 1.6830 us/op 4.5845 us/op 0.37
OrderedSet add up to 64 items then delete middle 3.3859 us/op 8.4772 us/op 0.40
Set add up to 128 items then delete first 4.2755 us/op 10.464 us/op 0.41
OrderedSet add up to 128 items then delete first 6.9370 us/op 13.734 us/op 0.51
Set add up to 128 items then delete last 4.0936 us/op 10.620 us/op 0.39
OrderedSet add up to 128 items then delete last 5.8605 us/op 14.174 us/op 0.41
Set add up to 128 items then delete middle 4.1504 us/op 10.398 us/op 0.40
OrderedSet add up to 128 items then delete middle 10.677 us/op 20.896 us/op 0.51
Set add up to 256 items then delete first 8.1450 us/op 20.549 us/op 0.40
OrderedSet add up to 256 items then delete first 13.300 us/op 25.062 us/op 0.53
Set add up to 256 items then delete last 7.9925 us/op 17.412 us/op 0.46
OrderedSet add up to 256 items then delete last 12.650 us/op 21.893 us/op 0.58
Set add up to 256 items then delete middle 7.8838 us/op 16.487 us/op 0.48
OrderedSet add up to 256 items then delete middle 31.199 us/op 46.580 us/op 0.67
runFastConfirmationRules vc:100000 bc:96 eq:0 3.0478 ms/op 4.6645 ms/op 0.65
runFastConfirmationRules vc:600000 bc:96 eq:0 28.493 ms/op 33.214 ms/op 0.86
runFastConfirmationRules vc:1000000 bc:96 eq:0 46.778 ms/op 54.609 ms/op 0.86
runFastConfirmationRules vc:600000 bc:320 eq:0 29.351 ms/op 32.231 ms/op 0.91
runFastConfirmationRules vc:100000 bc:96 eq:1000 1.5247 s/op 1.4445 s/op 1.06
pass gossip attestations to forkchoice per slot 3.9194 ms/op 5.3085 ms/op 0.74
forkChoice updateHead vc 100000 bc 64 eq 0 335.52 us/op 408.23 us/op 0.82
forkChoice updateHead vc 600000 bc 64 eq 0 1.9848 ms/op 2.4283 ms/op 0.82
forkChoice updateHead vc 1000000 bc 64 eq 0 3.3346 ms/op 3.9339 ms/op 0.85
forkChoice updateHead vc 600000 bc 320 eq 0 1.9966 ms/op 2.4033 ms/op 0.83
forkChoice updateHead vc 600000 bc 1200 eq 0 2.0968 ms/op 2.4503 ms/op 0.86
forkChoice updateHead vc 600000 bc 7200 eq 0 2.9748 ms/op 3.1300 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 1000 2.0363 ms/op 2.3849 ms/op 0.85
forkChoice updateHead vc 600000 bc 64 eq 10000 2.1640 ms/op 2.4898 ms/op 0.87
forkChoice updateHead vc 600000 bc 64 eq 300000 5.8309 ms/op 6.8852 ms/op 0.85
forkChoice updateHead vc 600000 bc 64 eq 0 gloas boosted 2.4697 ms/op 2.8109 ms/op 0.88
computeDeltas 1400000 validators 0% inactive 9.2277 ms/op 11.296 ms/op 0.82
computeDeltas 1400000 validators 10% inactive 8.7144 ms/op 10.714 ms/op 0.81
computeDeltas 1400000 validators 20% inactive 8.6067 ms/op 10.110 ms/op 0.85
computeDeltas 1400000 validators 50% inactive 7.1171 ms/op 8.2941 ms/op 0.86
computeDeltas 2100000 validators 0% inactive 14.079 ms/op 16.965 ms/op 0.83
computeDeltas 2100000 validators 10% inactive 13.208 ms/op 16.009 ms/op 0.83
computeDeltas 2100000 validators 20% inactive 11.471 ms/op 15.097 ms/op 0.76
computeDeltas 2100000 validators 50% inactive 8.8341 ms/op 10.033 ms/op 0.88
altair processAttestation - 250000 vs - 7PWei normalcase 15.772 ms/op 11.842 ms/op 1.33
altair processAttestation - 250000 vs - 7PWei worstcase 20.414 ms/op 17.904 ms/op 1.14
altair processAttestation - setStatus - 1/6 committees join 93.067 us/op 115.70 us/op 0.80
altair processAttestation - setStatus - 1/3 committees join 161.98 us/op 228.71 us/op 0.71
altair processAttestation - setStatus - 1/2 committees join 221.53 us/op 299.90 us/op 0.74
altair processAttestation - setStatus - 2/3 committees join 287.12 us/op 366.43 us/op 0.78
altair processAttestation - setStatus - 4/5 committees join 421.46 us/op 558.63 us/op 0.75
altair processAttestation - setStatus - 100% committees join 489.59 us/op 632.69 us/op 0.77
altair processBlock - 250000 vs - 7PWei normalcase 16.792 ms/op 16.576 ms/op 1.01
altair processBlock - 250000 vs - 7PWei normalcase hashState 42.140 ms/op 41.746 ms/op 1.01
altair processBlock - 250000 vs - 7PWei worstcase 40.380 ms/op 41.013 ms/op 0.98
altair processBlock - 250000 vs - 7PWei worstcase hashState 81.326 ms/op 64.785 ms/op 1.26
phase0 processBlock - 250000 vs - 7PWei normalcase 5.6777 ms/op 5.7748 ms/op 0.98
phase0 processBlock - 250000 vs - 7PWei worstcase 52.799 ms/op 52.522 ms/op 1.01
altair processEth1Data - 250000 vs - 7PWei normalcase 253.09 us/op 281.69 us/op 0.90
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:16 6.0390 us/op 2.9890 us/op 2.02
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:220 21.741 us/op 19.887 us/op 1.09
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:43 9.2930 us/op 5.8200 us/op 1.60
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:19 7.0640 us/op 3.5410 us/op 1.99
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1021 92.388 us/op 93.310 us/op 0.99
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11778 1.2541 ms/op 1.3489 ms/op 0.93
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8432 ms/op 1.9534 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7316 ms/op 1.9760 ms/op 0.88
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.9159 ms/op 5.5916 ms/op 0.88
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.8968 ms/op 2.0361 ms/op 0.93
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.8648 ms/op 4.8181 ms/op 1.01
Tree 40 250000 create 342.23 ms/op 365.14 ms/op 0.94
Tree 40 250000 get(125000) 75.093 ns/op 86.956 ns/op 0.86
Tree 40 250000 set(125000) 897.05 ns/op 1.1749 us/op 0.76
Tree 40 250000 toArray() 23.289 ms/op 18.708 ms/op 1.24
Tree 40 250000 iterate all - toArray() + loop 25.708 ms/op 20.011 ms/op 1.28
Tree 40 250000 iterate all - get(i) 42.747 ms/op 40.462 ms/op 1.06
Array 250000 create 1.7045 ms/op 2.5518 ms/op 0.67
Array 250000 clone - spread 461.84 us/op 828.14 us/op 0.56
Array 250000 get(125000) 0.27900 ns/op 0.27900 ns/op 1.00
Array 250000 set(125000) 0.27600 ns/op 0.27600 ns/op 1.00
Array 250000 iterate all - loop 50.536 us/op 54.652 us/op 0.92
phase0 afterProcessEpoch - 250000 vs - 7PWei 5.8834 ms/op 40.712 ms/op 0.14
Array.fill - length 1000000 17.088 ms/op 3.8975 ms/op 4.38
Array push - length 1000000 9.3744 ms/op 13.883 ms/op 0.68
Array.get 0.19934 ns/op 0.19366 ns/op 1.03
Uint8Array.get 0.22052 ns/op 0.21549 ns/op 1.02
phase0 beforeProcessEpoch - 250000 vs - 7PWei 22.477 ms/op 23.235 ms/op 0.97
altair processEpoch - mainnet_e81889 210.95 ms/op 270.30 ms/op 0.78
mainnet_e81889 - altair beforeProcessEpoch 41.714 ms/op 55.874 ms/op 0.75
mainnet_e81889 - altair processJustificationAndFinalization 5.1560 us/op 6.2930 us/op 0.82
mainnet_e81889 - altair processInactivityUpdates 4.0599 ms/op 4.0176 ms/op 1.01
mainnet_e81889 - altair processRewardsAndPenalties 19.970 ms/op 18.972 ms/op 1.05
mainnet_e81889 - altair processRegistryUpdates 449.00 ns/op 540.00 ns/op 0.83
mainnet_e81889 - altair processSlashings 110.00 ns/op 130.00 ns/op 0.85
mainnet_e81889 - altair processEth1DataReset 106.00 ns/op 121.00 ns/op 0.88
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.0260 ms/op 2.7676 ms/op 0.37
mainnet_e81889 - altair processSlashingsReset 584.00 ns/op 648.00 ns/op 0.90
mainnet_e81889 - altair processRandaoMixesReset 836.00 ns/op 938.00 ns/op 0.89
mainnet_e81889 - altair processHistoricalRootsUpdate 111.00 ns/op 127.00 ns/op 0.87
mainnet_e81889 - altair processParticipationFlagUpdates 346.00 ns/op 437.00 ns/op 0.79
mainnet_e81889 - altair processSyncCommitteeUpdates 85.000 ns/op 98.000 ns/op 0.87
mainnet_e81889 - altair afterProcessEpoch 5.9102 ms/op 43.232 ms/op 0.14
capella processEpoch - mainnet_e217614 684.71 ms/op 763.16 ms/op 0.90
mainnet_e217614 - capella beforeProcessEpoch 70.080 ms/op 65.498 ms/op 1.07
mainnet_e217614 - capella processJustificationAndFinalization 5.2030 us/op 5.2190 us/op 1.00
mainnet_e217614 - capella processInactivityUpdates 16.181 ms/op 15.593 ms/op 1.04
mainnet_e217614 - capella processRewardsAndPenalties 94.939 ms/op 94.391 ms/op 1.01
mainnet_e217614 - capella processRegistryUpdates 3.6500 us/op 4.2080 us/op 0.87
mainnet_e217614 - capella processSlashings 111.00 ns/op 125.00 ns/op 0.89
mainnet_e217614 - capella processEth1DataReset 107.00 ns/op 121.00 ns/op 0.88
mainnet_e217614 - capella processEffectiveBalanceUpdates 14.084 ms/op 21.723 ms/op 0.65
mainnet_e217614 - capella processSlashingsReset 595.00 ns/op 645.00 ns/op 0.92
mainnet_e217614 - capella processRandaoMixesReset 947.00 ns/op 998.00 ns/op 0.95
mainnet_e217614 - capella processHistoricalSummariesUpdate 110.00 ns/op 128.00 ns/op 0.86
mainnet_e217614 - capella processParticipationFlagUpdates 361.00 ns/op 439.00 ns/op 0.82
mainnet_e217614 - capella afterProcessEpoch 76.899 ms/op 69.374 ms/op 1.11
phase0 processEpoch - mainnet_e58758 230.36 ms/op 206.27 ms/op 1.12
mainnet_e58758 - phase0 beforeProcessEpoch 59.254 ms/op 51.847 ms/op 1.14
mainnet_e58758 - phase0 processJustificationAndFinalization 5.6320 us/op 4.9800 us/op 1.13
mainnet_e58758 - phase0 processRewardsAndPenalties 14.936 ms/op 16.393 ms/op 0.91
mainnet_e58758 - phase0 processRegistryUpdates 1.8570 us/op 2.0710 us/op 0.90
mainnet_e58758 - phase0 processSlashings 110.00 ns/op 124.00 ns/op 0.89
mainnet_e58758 - phase0 processEth1DataReset 110.00 ns/op 119.00 ns/op 0.92
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 590.16 us/op 937.56 us/op 0.63
mainnet_e58758 - phase0 processSlashingsReset 769.00 ns/op 864.00 ns/op 0.89
mainnet_e58758 - phase0 processRandaoMixesReset 993.00 ns/op 968.00 ns/op 1.03
mainnet_e58758 - phase0 processHistoricalRootsUpdate 110.00 ns/op 122.00 ns/op 0.90
mainnet_e58758 - phase0 processParticipationRecordUpdates 927.00 ns/op 874.00 ns/op 1.06
mainnet_e58758 - phase0 afterProcessEpoch 6.6099 ms/op 6.6622 ms/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 normalcase 732.06 us/op 908.53 us/op 0.81
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 5.7272 ms/op 3.0716 ms/op 1.86
gloas processInactivityUpdates - 250000 inactivity leak all eligible missed target 10.404 ms/op 11.488 ms/op 0.91
phase0 processRegistryUpdates - 250000 normalcase 6.5260 us/op 2.0950 us/op 3.12
phase0 processRegistryUpdates - 250000 badcase_full_deposits 123.61 us/op 138.17 us/op 0.89
phase0 processRegistryUpdates - 250000 worstcase 0.5 63.237 ms/op 67.072 ms/op 0.94
altair processRewardsAndPenalties - 250000 normalcase 13.706 ms/op 15.522 ms/op 0.88
altair processRewardsAndPenalties - 250000 worstcase 12.295 ms/op 14.882 ms/op 0.83
phase0 getAttestationDeltas - 250000 normalcase 4.0515 ms/op 5.1295 ms/op 0.79
phase0 getAttestationDeltas - 250000 worstcase 4.1267 ms/op 5.2359 ms/op 0.79
phase0 processSlashings - 250000 worstcase 49.787 us/op 56.209 us/op 0.89
altair processSyncCommitteeUpdates - 250000 9.0445 ms/op 9.4486 ms/op 0.96
BeaconState.hashTreeRoot - No change 133.00 ns/op 153.00 ns/op 0.87
BeaconState.hashTreeRoot - 1 full validator 82.503 us/op 78.533 us/op 1.05
BeaconState.hashTreeRoot - 32 full validator 816.02 us/op 914.08 us/op 0.89
BeaconState.hashTreeRoot - 512 full validator 10.466 ms/op 8.2693 ms/op 1.27
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 99.863 us/op 112.71 us/op 0.89
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3980 ms/op 1.6177 ms/op 0.86
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.903 ms/op 18.397 ms/op 1.30
BeaconState.hashTreeRoot - 1 balances 77.118 us/op 89.817 us/op 0.86
BeaconState.hashTreeRoot - 32 balances 740.17 us/op 1.2388 ms/op 0.60
BeaconState.hashTreeRoot - 512 balances 8.2679 ms/op 5.2953 ms/op 1.56
BeaconState.hashTreeRoot - 250000 balances 139.74 ms/op 170.60 ms/op 0.82
aggregationBits - 2048 els - zipIndexesInBitList 15.877 us/op 18.879 us/op 0.84
regular array get 100000 times 19.552 us/op 21.551 us/op 0.91
wrappedArray get 100000 times 19.584 us/op 21.521 us/op 0.91
arrayWithProxy get 100000 times 7.8993 ms/op 8.9298 ms/op 0.88
ssz.Root.equals 15.772 ns/op 20.182 ns/op 0.78
byteArrayEquals 15.240 ns/op 19.905 ns/op 0.77
Buffer.compare 6.6990 ns/op 8.2900 ns/op 0.81
processSlot - 1 slots 11.053 us/op 8.7120 us/op 1.27
processSlot - 32 slots 2.0268 ms/op 3.1634 ms/op 0.64
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 5.1648 ms/op 5.3110 ms/op 0.97
getCommitteeAssignments - req 1 vs - 250000 vc 1.4937 ms/op 1.5684 ms/op 0.95
getCommitteeAssignments - req 100 vs - 250000 vc 3.4344 ms/op 3.2157 ms/op 1.07
getCommitteeAssignments - req 1000 vs - 250000 vc 3.6570 ms/op 3.4505 ms/op 1.06
findModifiedValidators - 10000 modified validators 792.56 ms/op 780.15 ms/op 1.02
findModifiedValidators - 1000 modified validators 578.74 ms/op 477.19 ms/op 1.21
findModifiedValidators - 100 modified validators 449.91 ms/op 308.09 ms/op 1.46
findModifiedValidators - 10 modified validators 223.15 ms/op 287.73 ms/op 0.78
findModifiedValidators - 1 modified validators 212.81 ms/op 265.53 ms/op 0.80
findModifiedValidators - no difference 177.47 ms/op 201.49 ms/op 0.88
migrate state 1500000 validators, 3400 modified, 2000 new 2.7204 s/op 4.5375 s/op 0.60
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 2.4800 ns/op 3.2600 ns/op 0.76
state getBlockRootAtSlot - 250000 vs - 7PWei 399.09 ns/op 507.03 ns/op 0.79
computeProposerIndex 100000 validators 1.1772 ms/op 1.2116 ms/op 0.97
getNextSyncCommitteeIndices 1000 validators 136.85 us/op 149.75 us/op 0.91
getNextSyncCommitteeIndices 10000 validators 311.47 us/op 339.84 us/op 0.92
getNextSyncCommitteeIndices 100000 validators 1.9841 ms/op 2.2726 ms/op 0.87
computeProposers - vc 250000 464.18 us/op 455.06 us/op 1.02
computeEpochShuffling - vc 250000 34.009 ms/op 36.743 ms/op 0.93
getNextSyncCommittee - vc 250000 7.3231 ms/op 14.393 ms/op 0.51
nodejs block root to RootHex using toHex 72.318 ns/op 90.451 ns/op 0.80
nodejs block root to RootHex using toRootHex 45.665 ns/op 59.156 ns/op 0.77
nodejs fromHex(blob) 677.85 us/op 1.0097 ms/op 0.67
nodejs fromHexInto(blob) 56.036 us/op 71.072 us/op 0.79
nodejs block root to RootHex using the deprecated toHexString 593.21 ns/op 574.09 ns/op 1.03
nodejs byteArrayEquals 32 bytes (block root) 17.844 ns/op 24.743 ns/op 0.72
nodejs byteArrayEquals 48 bytes (pubkey) 25.699 ns/op 35.649 ns/op 0.72
nodejs byteArrayEquals 96 bytes (signature) 26.668 ns/op 32.498 ns/op 0.82
nodejs byteArrayEquals 1024 bytes 31.935 ns/op 39.636 ns/op 0.81
nodejs byteArrayEquals 131072 bytes (blob) 1.0429 us/op 1.6607 us/op 0.63
browser block root to RootHex using toHex 112.05 ns/op 136.09 ns/op 0.82
browser block root to RootHex using toRootHex 104.33 ns/op 123.51 ns/op 0.84
browser fromHex(blob) 1.3902 ms/op 1.8197 ms/op 0.76
browser fromHexInto(blob) 440.57 us/op 550.72 us/op 0.80
browser block root to RootHex using the deprecated toHexString 607.50 ns/op 364.57 ns/op 1.67
browser byteArrayEquals 32 bytes (block root) 18.762 ns/op 25.691 ns/op 0.73
browser byteArrayEquals 48 bytes (pubkey) 26.644 ns/op 37.091 ns/op 0.72
browser byteArrayEquals 96 bytes (signature) 49.920 ns/op 69.130 ns/op 0.72
browser byteArrayEquals 1024 bytes 515.43 ns/op 693.13 ns/op 0.74
browser byteArrayEquals 131072 bytes (blob) 64.919 us/op 87.352 us/op 0.74

by benchmarkbot/action

@github-project-automation github-project-automation Bot moved this from Awaiting Author to Done in Lodestar Team Coordination Oct 30, 2026
@spiral-ladder

Copy link
Copy Markdown
Member Author

closing first, let's revive if flaky

@spiral-ladder
spiral-ladder deleted the bing/zig-src-ci branch October 30, 2026 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants