Repository navigation
ci: run zig jobs only when zig sources change - #10522
spiral-ladder wants to merge 4 commits into
Conversation
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.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 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".
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.
|
| 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
|
closing first, let's revive if flaky |
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