Skip to content

Conversation

@nazarhussain
Copy link
Contributor

Motivation

Use npm trusted publishing.

Description

  • Fix the workflows for the rc and stable.

@nazarhussain nazarhussain requested a review from a team as a code owner December 10, 2025 16:37
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @nazarhussain, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on modernizing the project's release infrastructure by integrating npm trusted publishing. The changes involve refining the existing continuous integration workflows for both release candidate and stable builds, aiming for a more secure and consistent deployment pipeline. Additionally, a minor adjustment was made to the dependency lock file to ensure cleaner and more accurate dependency resolution.

Highlights

  • Workflow Updates: The pull request updates the publishing workflows for both release candidate (rc) and stable versions to improve the release process.
  • npm Trusted Publishing: The core motivation for these changes is to adopt npm's trusted publishing feature, enhancing the security and reliability of package deployments.
  • Dependency Lock File Refinement: The yarn.lock file was modified to streamline the dependency resolution for '@types/parse-path', removing a redundant entry.
Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/publish-rc.yml
    • .github/workflows/publish-stable.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request contains a minor update to yarn.lock which appears correct. The PR description and title (which seems to have a typo: 'stan;e' should probably be 'stable') indicate the goal is to update the publish workflows. However, no workflow files are included in the changes. Assuming the workflow updates are being handled in a different pull request, this change is acceptable.

@philknows philknows merged commit 34d4b73 into unstable Dec 10, 2025
8 of 9 checks passed
@philknows philknows deleted the nh/fix-wrofklow branch December 10, 2025 16:39
@github-actions
Copy link
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: e434ea2 Previous: f231d7e Ratio
300 bytes - compress - snappy 22.617 us/op 1.6341 us/op 13.84
300 bytes - compress - snappy-wasm 26.128 us/op 838.69 ns/op 31.15
Full benchmark results
Benchmark suite Current: e434ea2 Previous: f231d7e Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0443 ms/op 1.2034 ms/op 0.87
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 37.500 us/op 37.315 us/op 1.00
BLS verify - blst 1.4303 ms/op 729.87 us/op 1.96
BLS verifyMultipleSignatures 3 - blst 1.4299 ms/op 1.1651 ms/op 1.23
BLS verifyMultipleSignatures 8 - blst 1.8075 ms/op 1.6261 ms/op 1.11
BLS verifyMultipleSignatures 32 - blst 6.6389 ms/op 4.7787 ms/op 1.39
BLS verifyMultipleSignatures 64 - blst 10.301 ms/op 8.9534 ms/op 1.15
BLS verifyMultipleSignatures 128 - blst 16.927 ms/op 17.000 ms/op 1.00
BLS deserializing 10000 signatures 682.78 ms/op 683.45 ms/op 1.00
BLS deserializing 100000 signatures 6.9620 s/op 6.8520 s/op 1.02
BLS verifyMultipleSignatures - same message - 3 - blst 1.0218 ms/op 912.50 us/op 1.12
BLS verifyMultipleSignatures - same message - 8 - blst 1.1239 ms/op 1.0429 ms/op 1.08
BLS verifyMultipleSignatures - same message - 32 - blst 1.7024 ms/op 1.6991 ms/op 1.00
BLS verifyMultipleSignatures - same message - 64 - blst 2.5834 ms/op 2.6115 ms/op 0.99
BLS verifyMultipleSignatures - same message - 128 - blst 4.4393 ms/op 4.3746 ms/op 1.01
BLS aggregatePubkeys 32 - blst 19.266 us/op 19.445 us/op 0.99
BLS aggregatePubkeys 128 - blst 69.483 us/op 69.426 us/op 1.00
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 45.923 ms/op 41.835 ms/op 1.10
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 48.014 ms/op 37.041 ms/op 1.30
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 33.016 ms/op 31.311 ms/op 1.05
getSlashingsAndExits - default max 73.179 us/op 69.582 us/op 1.05
getSlashingsAndExits - 2k 340.31 us/op 315.02 us/op 1.08
isKnown best case - 1 super set check 198.00 ns/op 204.00 ns/op 0.97
isKnown normal case - 2 super set checks 198.00 ns/op 202.00 ns/op 0.98
isKnown worse case - 16 super set checks 198.00 ns/op 200.00 ns/op 0.99
InMemoryCheckpointStateCache - add get delete 2.9320 us/op 2.3160 us/op 1.27
validate api signedAggregateAndProof - struct 1.4581 ms/op 1.3750 ms/op 1.06
validate gossip signedAggregateAndProof - struct 1.3845 ms/op 1.3643 ms/op 1.01
batch validate gossip attestation - vc 640000 - chunk 32 116.76 us/op 114.60 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 64 102.22 us/op 101.43 us/op 1.01
batch validate gossip attestation - vc 640000 - chunk 128 97.224 us/op 96.607 us/op 1.01
batch validate gossip attestation - vc 640000 - chunk 256 92.660 us/op 90.238 us/op 1.03
pickEth1Vote - no votes 978.44 us/op 954.00 us/op 1.03
pickEth1Vote - max votes 5.4899 ms/op 4.9280 ms/op 1.11
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.1838 ms/op 9.8776 ms/op 0.93
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 14.483 ms/op 13.440 ms/op 1.08
pickEth1Vote - Eth1Data fastSerialize value x2048 394.96 us/op 413.06 us/op 0.96
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.8942 ms/op 2.4184 ms/op 1.20
bytes32 toHexString 352.00 ns/op 363.00 ns/op 0.97
bytes32 Buffer.toString(hex) 233.00 ns/op 224.00 ns/op 1.04
bytes32 Buffer.toString(hex) from Uint8Array 326.00 ns/op 303.00 ns/op 1.08
bytes32 Buffer.toString(hex) + 0x 278.00 ns/op 226.00 ns/op 1.23
Object access 1 prop 0.15000 ns/op 0.11800 ns/op 1.27
Map access 1 prop 0.12500 ns/op 0.11600 ns/op 1.08
Object get x1000 5.3970 ns/op 5.2090 ns/op 1.04
Map get x1000 0.37400 ns/op 0.37300 ns/op 1.00
Object set x1000 28.293 ns/op 28.468 ns/op 0.99
Map set x1000 19.595 ns/op 20.348 ns/op 0.96
Return object 10000 times 0.22990 ns/op 0.22960 ns/op 1.00
Throw Error 10000 times 3.9671 us/op 3.9521 us/op 1.00
toHex 153.82 ns/op 124.64 ns/op 1.23
Buffer.from 125.39 ns/op 115.40 ns/op 1.09
shared Buffer 81.369 ns/op 78.096 ns/op 1.04
fastMsgIdFn sha256 / 200 bytes 1.8440 us/op 1.8190 us/op 1.01
fastMsgIdFn h32 xxhash / 200 bytes 200.00 ns/op 194.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 200 bytes 259.00 ns/op 254.00 ns/op 1.02
fastMsgIdFn sha256 / 1000 bytes 6.0170 us/op 5.9770 us/op 1.01
fastMsgIdFn h32 xxhash / 1000 bytes 295.00 ns/op 287.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 1000 bytes 318.00 ns/op 303.00 ns/op 1.05
fastMsgIdFn sha256 / 10000 bytes 53.493 us/op 52.016 us/op 1.03
fastMsgIdFn h32 xxhash / 10000 bytes 1.4390 us/op 1.3610 us/op 1.06
fastMsgIdFn h64 xxhash / 10000 bytes 989.00 ns/op 882.00 ns/op 1.12
100 bytes - compress - snappyjs 1.2537 us/op 1.2302 us/op 1.02
100 bytes - compress - snappy 1.2779 us/op 1.1597 us/op 1.10
100 bytes - compress - snappy-wasm 974.23 ns/op 1.0540 us/op 0.92
100 bytes - compress - snappy-wasm - prealloc 2.0673 us/op 2.0620 us/op 1.00
200 bytes - compress - snappyjs 3.1713 us/op 1.5642 us/op 2.03
200 bytes - compress - snappy 1.3004 us/op 1.7064 us/op 0.76
200 bytes - compress - snappy-wasm 1.4903 us/op 797.38 ns/op 1.87
200 bytes - compress - snappy-wasm - prealloc 1.4215 us/op 1.8737 us/op 0.76
300 bytes - compress - snappyjs 2.2643 us/op 2.0973 us/op 1.08
300 bytes - compress - snappy 22.617 us/op 1.6341 us/op 13.84
300 bytes - compress - snappy-wasm 26.128 us/op 838.69 ns/op 31.15
300 bytes - compress - snappy-wasm - prealloc 1.5557 us/op 1.5361 us/op 1.01
400 bytes - compress - snappyjs 4.7862 us/op 2.9146 us/op 1.64
400 bytes - compress - snappy 2.2446 us/op 2.1167 us/op 1.06
400 bytes - compress - snappy-wasm 1.2130 us/op 921.20 ns/op 1.32
400 bytes - compress - snappy-wasm - prealloc 1.5991 us/op 1.7906 us/op 0.89
500 bytes - compress - snappyjs 3.3656 us/op 3.0421 us/op 1.11
500 bytes - compress - snappy 2.9806 us/op 1.5131 us/op 1.97
500 bytes - compress - snappy-wasm 1.3955 us/op 1.0267 us/op 1.36
500 bytes - compress - snappy-wasm - prealloc 1.9044 us/op 1.1828 us/op 1.61
1000 bytes - compress - snappyjs 4.0974 us/op 4.5352 us/op 0.90
1000 bytes - compress - snappy 1.9768 us/op 1.9046 us/op 1.04
1000 bytes - compress - snappy-wasm 1.8569 us/op 1.5952 us/op 1.16
1000 bytes - compress - snappy-wasm - prealloc 1.9500 us/op 1.9728 us/op 0.99
10000 bytes - compress - snappyjs 26.715 us/op 25.216 us/op 1.06
10000 bytes - compress - snappy 30.147 us/op 25.417 us/op 1.19
10000 bytes - compress - snappy-wasm 21.606 us/op 19.911 us/op 1.09
10000 bytes - compress - snappy-wasm - prealloc 25.519 us/op 30.652 us/op 0.83
100 bytes - uncompress - snappyjs 778.68 ns/op 813.72 ns/op 0.96
100 bytes - uncompress - snappy 1.2013 us/op 1.2043 us/op 1.00
100 bytes - uncompress - snappy-wasm 972.80 ns/op 637.91 ns/op 1.52
100 bytes - uncompress - snappy-wasm - prealloc 1.1546 us/op 826.59 ns/op 1.40
200 bytes - uncompress - snappyjs 1.4344 us/op 1.2716 us/op 1.13
200 bytes - uncompress - snappy 1.2702 us/op 1.2696 us/op 1.00
200 bytes - uncompress - snappy-wasm 819.72 ns/op 1.4461 us/op 0.57
200 bytes - uncompress - snappy-wasm - prealloc 1.4503 us/op 1.6576 us/op 0.87
300 bytes - uncompress - snappyjs 1.2919 us/op 977.78 ns/op 1.32
300 bytes - uncompress - snappy 1.4179 us/op 1.3007 us/op 1.09
300 bytes - uncompress - snappy-wasm 877.05 ns/op 723.14 ns/op 1.21
300 bytes - uncompress - snappy-wasm - prealloc 1.2761 us/op 1.0774 us/op 1.18
400 bytes - uncompress - snappyjs 1.3345 us/op 1.1856 us/op 1.13
400 bytes - uncompress - snappy 1.8864 us/op 1.5433 us/op 1.22
400 bytes - uncompress - snappy-wasm 815.72 ns/op 1.0066 us/op 0.81
400 bytes - uncompress - snappy-wasm - prealloc 1.5510 us/op 1.2529 us/op 1.24
500 bytes - uncompress - snappyjs 1.3210 us/op 14.063 us/op 0.09
500 bytes - uncompress - snappy 1.3477 us/op 1.5367 us/op 0.88
500 bytes - uncompress - snappy-wasm 996.91 ns/op 957.80 ns/op 1.04
500 bytes - uncompress - snappy-wasm - prealloc 1.1956 us/op 1.4693 us/op 0.81
1000 bytes - uncompress - snappyjs 2.3794 us/op 2.6582 us/op 0.90
1000 bytes - uncompress - snappy 1.7465 us/op 1.7085 us/op 1.02
1000 bytes - uncompress - snappy-wasm 1.3358 us/op 1.1318 us/op 1.18
1000 bytes - uncompress - snappy-wasm - prealloc 1.4078 us/op 1.8794 us/op 0.75
10000 bytes - uncompress - snappyjs 22.394 us/op 20.587 us/op 1.09
10000 bytes - uncompress - snappy 25.899 us/op 23.975 us/op 1.08
10000 bytes - uncompress - snappy-wasm 16.754 us/op 17.464 us/op 0.96
10000 bytes - uncompress - snappy-wasm - prealloc 14.236 us/op 20.606 us/op 0.69
send data - 1000 256B messages 17.305 ms/op 16.811 ms/op 1.03
send data - 1000 512B messages 19.807 ms/op 18.603 ms/op 1.06
send data - 1000 1024B messages 26.932 ms/op 25.013 ms/op 1.08
send data - 1000 1200B messages 36.484 ms/op 26.541 ms/op 1.37
send data - 1000 2048B messages 30.534 ms/op 35.485 ms/op 0.86
send data - 1000 4096B messages 40.389 ms/op 39.453 ms/op 1.02
send data - 1000 16384B messages 117.54 ms/op 102.62 ms/op 1.15
send data - 1000 65536B messages 308.17 ms/op 331.83 ms/op 0.93
enrSubnets - fastDeserialize 64 bits 915.00 ns/op 903.00 ns/op 1.01
enrSubnets - ssz BitVector 64 bits 371.00 ns/op 343.00 ns/op 1.08
enrSubnets - fastDeserialize 4 bits 154.00 ns/op 130.00 ns/op 1.18
enrSubnets - ssz BitVector 4 bits 374.00 ns/op 344.00 ns/op 1.09
prioritizePeers score -10:0 att 32-0.1 sync 2-0 254.25 us/op 228.36 us/op 1.11
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 273.87 us/op 257.65 us/op 1.06
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 427.62 us/op 373.16 us/op 1.15
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 866.92 us/op 712.67 us/op 1.22
prioritizePeers score 0:0 att 64-1 sync 4-1 930.97 us/op 850.63 us/op 1.09
array of 16000 items push then shift 1.6375 us/op 1.6360 us/op 1.00
LinkedList of 16000 items push then shift 7.7060 ns/op 7.5780 ns/op 1.02
array of 16000 items push then pop 84.543 ns/op 77.288 ns/op 1.09
LinkedList of 16000 items push then pop 7.8510 ns/op 7.3700 ns/op 1.07
array of 24000 items push then shift 2.4835 us/op 2.4130 us/op 1.03
LinkedList of 24000 items push then shift 7.6720 ns/op 7.8230 ns/op 0.98
array of 24000 items push then pop 111.27 ns/op 110.65 ns/op 1.01
LinkedList of 24000 items push then pop 7.3370 ns/op 7.4570 ns/op 0.98
intersect bitArray bitLen 8 5.7590 ns/op 5.7720 ns/op 1.00
intersect array and set length 8 34.133 ns/op 39.479 ns/op 0.86
intersect bitArray bitLen 128 28.937 ns/op 27.871 ns/op 1.04
intersect array and set length 128 557.13 ns/op 704.13 ns/op 0.79
bitArray.getTrueBitIndexes() bitLen 128 1.4020 us/op 1.0230 us/op 1.37
bitArray.getTrueBitIndexes() bitLen 248 2.0160 us/op 1.8040 us/op 1.12
bitArray.getTrueBitIndexes() bitLen 512 4.1080 us/op 3.9000 us/op 1.05
Full columns - reconstruct all 6 blobs 376.20 us/op 280.27 us/op 1.34
Full columns - reconstruct half of the blobs out of 6 140.25 us/op 112.61 us/op 1.25
Full columns - reconstruct single blob out of 6 34.173 us/op 42.545 us/op 0.80
Half columns - reconstruct all 6 blobs 272.17 ms/op 281.12 ms/op 0.97
Half columns - reconstruct half of the blobs out of 6 136.80 ms/op 142.19 ms/op 0.96
Half columns - reconstruct single blob out of 6 52.892 ms/op 55.899 ms/op 0.95
Full columns - reconstruct all 10 blobs 409.48 us/op 366.25 us/op 1.12
Full columns - reconstruct half of the blobs out of 10 227.15 us/op 157.54 us/op 1.44
Full columns - reconstruct single blob out of 10 46.169 us/op 32.837 us/op 1.41
Half columns - reconstruct all 10 blobs 455.50 ms/op 461.37 ms/op 0.99
Half columns - reconstruct half of the blobs out of 10 230.49 ms/op 234.04 ms/op 0.98
Half columns - reconstruct single blob out of 10 51.482 ms/op 51.742 ms/op 0.99
Full columns - reconstruct all 20 blobs 1.2159 ms/op 835.89 us/op 1.45
Full columns - reconstruct half of the blobs out of 20 438.90 us/op 310.73 us/op 1.41
Full columns - reconstruct single blob out of 20 30.918 us/op 33.282 us/op 0.93
Half columns - reconstruct all 20 blobs 925.50 ms/op 931.72 ms/op 0.99
Half columns - reconstruct half of the blobs out of 20 472.13 ms/op 465.94 ms/op 1.01
Half columns - reconstruct single blob out of 20 54.832 ms/op 52.359 ms/op 1.05
Set add up to 64 items then delete first 2.0661 us/op 2.4873 us/op 0.83
OrderedSet add up to 64 items then delete first 3.2379 us/op 3.5360 us/op 0.92
Set add up to 64 items then delete last 2.4685 us/op 2.5104 us/op 0.98
OrderedSet add up to 64 items then delete last 3.8048 us/op 3.9519 us/op 0.96
Set add up to 64 items then delete middle 2.5012 us/op 2.5840 us/op 0.97
OrderedSet add up to 64 items then delete middle 5.3654 us/op 5.5092 us/op 0.97
Set add up to 128 items then delete first 5.1293 us/op 5.2764 us/op 0.97
OrderedSet add up to 128 items then delete first 7.2738 us/op 7.6263 us/op 0.95
Set add up to 128 items then delete last 5.1950 us/op 5.2469 us/op 0.99
OrderedSet add up to 128 items then delete last 7.5799 us/op 7.4487 us/op 1.02
Set add up to 128 items then delete middle 4.8339 us/op 4.8648 us/op 0.99
OrderedSet add up to 128 items then delete middle 14.372 us/op 14.009 us/op 1.03
Set add up to 256 items then delete first 10.800 us/op 9.9028 us/op 1.09
OrderedSet add up to 256 items then delete first 15.564 us/op 14.783 us/op 1.05
Set add up to 256 items then delete last 9.9925 us/op 9.7239 us/op 1.03
OrderedSet add up to 256 items then delete last 15.859 us/op 14.901 us/op 1.06
Set add up to 256 items then delete middle 9.9857 us/op 9.7033 us/op 1.03
OrderedSet add up to 256 items then delete middle 43.666 us/op 42.112 us/op 1.04
pass gossip attestations to forkchoice per slot 2.5875 ms/op 2.6274 ms/op 0.98
forkChoice updateHead vc 100000 bc 64 eq 0 481.46 us/op 476.08 us/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 0 2.9394 ms/op 2.8255 ms/op 1.04
forkChoice updateHead vc 1000000 bc 64 eq 0 5.1780 ms/op 4.8721 ms/op 1.06
forkChoice updateHead vc 600000 bc 320 eq 0 2.9917 ms/op 2.9013 ms/op 1.03
forkChoice updateHead vc 600000 bc 1200 eq 0 2.9426 ms/op 3.0730 ms/op 0.96
forkChoice updateHead vc 600000 bc 7200 eq 0 3.4946 ms/op 3.2320 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 1000 3.4591 ms/op 3.4351 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 10000 3.5832 ms/op 3.5880 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 300000 9.3551 ms/op 9.4176 ms/op 0.99
computeDeltas 1400000 validators 0% inactive 14.779 ms/op 14.801 ms/op 1.00
computeDeltas 1400000 validators 10% inactive 13.735 ms/op 13.762 ms/op 1.00
computeDeltas 1400000 validators 20% inactive 12.762 ms/op 12.846 ms/op 0.99
computeDeltas 1400000 validators 50% inactive 9.8620 ms/op 9.8162 ms/op 1.00
computeDeltas 2100000 validators 0% inactive 22.124 ms/op 22.095 ms/op 1.00
computeDeltas 2100000 validators 10% inactive 20.702 ms/op 22.710 ms/op 0.91
computeDeltas 2100000 validators 20% inactive 19.159 ms/op 19.163 ms/op 1.00
computeDeltas 2100000 validators 50% inactive 14.849 ms/op 14.942 ms/op 0.99
altair processAttestation - 250000 vs - 7PWei normalcase 2.2053 ms/op 1.9035 ms/op 1.16
altair processAttestation - 250000 vs - 7PWei worstcase 2.8323 ms/op 2.8730 ms/op 0.99
altair processAttestation - setStatus - 1/6 committees join 124.68 us/op 119.14 us/op 1.05
altair processAttestation - setStatus - 1/3 committees join 246.19 us/op 228.46 us/op 1.08
altair processAttestation - setStatus - 1/2 committees join 335.77 us/op 317.91 us/op 1.06
altair processAttestation - setStatus - 2/3 committees join 475.11 us/op 415.12 us/op 1.14
altair processAttestation - setStatus - 4/5 committees join 658.46 us/op 569.17 us/op 1.16
altair processAttestation - setStatus - 100% committees join 705.16 us/op 672.02 us/op 1.05
altair processBlock - 250000 vs - 7PWei normalcase 4.4254 ms/op 4.3592 ms/op 1.02
altair processBlock - 250000 vs - 7PWei normalcase hashState 17.291 ms/op 17.051 ms/op 1.01
altair processBlock - 250000 vs - 7PWei worstcase 27.079 ms/op 22.541 ms/op 1.20
altair processBlock - 250000 vs - 7PWei worstcase hashState 73.132 ms/op 55.637 ms/op 1.31
phase0 processBlock - 250000 vs - 7PWei normalcase 1.8384 ms/op 1.6430 ms/op 1.12
phase0 processBlock - 250000 vs - 7PWei worstcase 28.933 ms/op 19.273 ms/op 1.50
altair processEth1Data - 250000 vs - 7PWei normalcase 398.84 us/op 362.79 us/op 1.10
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 11.892 us/op 7.5900 us/op 1.57
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 56.936 us/op 42.018 us/op 1.36
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 17.689 us/op 11.748 us/op 1.51
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 11.667 us/op 7.2050 us/op 1.62
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 234.81 us/op 156.57 us/op 1.50
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.0569 ms/op 1.9310 ms/op 1.07
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.6557 ms/op 2.4487 ms/op 1.08
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.6609 ms/op 2.4620 ms/op 1.08
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 5.9414 ms/op 4.7689 ms/op 1.25
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.9203 ms/op 2.7184 ms/op 1.07
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.2054 ms/op 4.9196 ms/op 1.06
Tree 40 250000 create 396.51 ms/op 358.15 ms/op 1.11
Tree 40 250000 get(125000) 132.92 ns/op 123.27 ns/op 1.08
Tree 40 250000 set(125000) 1.4686 us/op 1.2233 us/op 1.20
Tree 40 250000 toArray() 16.944 ms/op 13.343 ms/op 1.27
Tree 40 250000 iterate all - toArray() + loop 17.433 ms/op 13.265 ms/op 1.31
Tree 40 250000 iterate all - get(i) 48.875 ms/op 41.824 ms/op 1.17
Array 250000 create 2.6718 ms/op 2.5472 ms/op 1.05
Array 250000 clone - spread 872.45 us/op 823.78 us/op 1.06
Array 250000 get(125000) 0.40600 ns/op 0.35200 ns/op 1.15
Array 250000 set(125000) 0.36500 ns/op 0.35700 ns/op 1.02
Array 250000 iterate all - loop 63.978 us/op 61.581 us/op 1.04
phase0 afterProcessEpoch - 250000 vs - 7PWei 44.207 ms/op 41.661 ms/op 1.06
Array.fill - length 1000000 3.5445 ms/op 2.8354 ms/op 1.25
Array push - length 1000000 13.376 ms/op 10.187 ms/op 1.31
Array.get 0.22775 ns/op 0.21900 ns/op 1.04
Uint8Array.get 0.24507 ns/op 0.22117 ns/op 1.11
phase0 beforeProcessEpoch - 250000 vs - 7PWei 15.474 ms/op 18.114 ms/op 0.85
altair processEpoch - mainnet_e81889 286.89 ms/op 268.05 ms/op 1.07
mainnet_e81889 - altair beforeProcessEpoch 17.392 ms/op 16.057 ms/op 1.08
mainnet_e81889 - altair processJustificationAndFinalization 5.6250 us/op 5.4470 us/op 1.03
mainnet_e81889 - altair processInactivityUpdates 3.9920 ms/op 3.8312 ms/op 1.04
mainnet_e81889 - altair processRewardsAndPenalties 21.370 ms/op 17.966 ms/op 1.19
mainnet_e81889 - altair processRegistryUpdates 657.00 ns/op 642.00 ns/op 1.02
mainnet_e81889 - altair processSlashings 315.00 ns/op 166.00 ns/op 1.90
mainnet_e81889 - altair processEth1DataReset 187.00 ns/op 164.00 ns/op 1.14
mainnet_e81889 - altair processEffectiveBalanceUpdates 4.3885 ms/op 1.9107 ms/op 2.30
mainnet_e81889 - altair processSlashingsReset 805.00 ns/op 815.00 ns/op 0.99
mainnet_e81889 - altair processRandaoMixesReset 1.0740 us/op 1.0660 us/op 1.01
mainnet_e81889 - altair processHistoricalRootsUpdate 174.00 ns/op 163.00 ns/op 1.07
mainnet_e81889 - altair processParticipationFlagUpdates 496.00 ns/op 508.00 ns/op 0.98
mainnet_e81889 - altair processSyncCommitteeUpdates 140.00 ns/op 131.00 ns/op 1.07
mainnet_e81889 - altair afterProcessEpoch 44.706 ms/op 43.934 ms/op 1.02
capella processEpoch - mainnet_e217614 837.99 ms/op 806.89 ms/op 1.04
mainnet_e217614 - capella beforeProcessEpoch 66.150 ms/op 60.312 ms/op 1.10
mainnet_e217614 - capella processJustificationAndFinalization 6.5010 us/op 5.9960 us/op 1.08
mainnet_e217614 - capella processInactivityUpdates 19.314 ms/op 15.764 ms/op 1.23
mainnet_e217614 - capella processRewardsAndPenalties 107.09 ms/op 103.73 ms/op 1.03
mainnet_e217614 - capella processRegistryUpdates 6.4670 us/op 6.4300 us/op 1.01
mainnet_e217614 - capella processSlashings 177.00 ns/op 168.00 ns/op 1.05
mainnet_e217614 - capella processEth1DataReset 201.00 ns/op 164.00 ns/op 1.23
mainnet_e217614 - capella processEffectiveBalanceUpdates 12.366 ms/op 17.396 ms/op 0.71
mainnet_e217614 - capella processSlashingsReset 885.00 ns/op 814.00 ns/op 1.09
mainnet_e217614 - capella processRandaoMixesReset 1.4060 us/op 1.1670 us/op 1.20
mainnet_e217614 - capella processHistoricalRootsUpdate 201.00 ns/op 165.00 ns/op 1.22
mainnet_e217614 - capella processParticipationFlagUpdates 534.00 ns/op 525.00 ns/op 1.02
mainnet_e217614 - capella afterProcessEpoch 120.70 ms/op 117.83 ms/op 1.02
phase0 processEpoch - mainnet_e58758 259.02 ms/op 237.84 ms/op 1.09
mainnet_e58758 - phase0 beforeProcessEpoch 54.825 ms/op 53.307 ms/op 1.03
mainnet_e58758 - phase0 processJustificationAndFinalization 7.0030 us/op 5.6840 us/op 1.23
mainnet_e58758 - phase0 processRewardsAndPenalties 19.984 ms/op 18.338 ms/op 1.09
mainnet_e58758 - phase0 processRegistryUpdates 3.3430 us/op 3.0680 us/op 1.09
mainnet_e58758 - phase0 processSlashings 212.00 ns/op 220.00 ns/op 0.96
mainnet_e58758 - phase0 processEth1DataReset 186.00 ns/op 170.00 ns/op 1.09
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 964.73 us/op 945.01 us/op 1.02
mainnet_e58758 - phase0 processSlashingsReset 973.00 ns/op 1.0250 us/op 0.95
mainnet_e58758 - phase0 processRandaoMixesReset 1.1390 us/op 1.1740 us/op 0.97
mainnet_e58758 - phase0 processHistoricalRootsUpdate 189.00 ns/op 187.00 ns/op 1.01
mainnet_e58758 - phase0 processParticipationRecordUpdates 871.00 ns/op 923.00 ns/op 0.94
mainnet_e58758 - phase0 afterProcessEpoch 36.886 ms/op 37.304 ms/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.1135 ms/op 1.8972 ms/op 1.11
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.8036 ms/op 1.6799 ms/op 1.67
altair processInactivityUpdates - 250000 normalcase 14.219 ms/op 16.072 ms/op 0.88
altair processInactivityUpdates - 250000 worstcase 14.386 ms/op 15.423 ms/op 0.93
phase0 processRegistryUpdates - 250000 normalcase 8.9700 us/op 5.8000 us/op 1.55
phase0 processRegistryUpdates - 250000 badcase_full_deposits 344.73 us/op 441.57 us/op 0.78
phase0 processRegistryUpdates - 250000 worstcase 0.5 87.642 ms/op 82.933 ms/op 1.06
altair processRewardsAndPenalties - 250000 normalcase 18.343 ms/op 18.070 ms/op 1.02
altair processRewardsAndPenalties - 250000 worstcase 22.322 ms/op 16.914 ms/op 1.32
phase0 getAttestationDeltas - 250000 normalcase 7.1202 ms/op 6.1618 ms/op 1.16
phase0 getAttestationDeltas - 250000 worstcase 7.0637 ms/op 6.2697 ms/op 1.13
phase0 processSlashings - 250000 worstcase 133.70 us/op 129.04 us/op 1.04
altair processSyncCommitteeUpdates - 250000 12.556 ms/op 13.781 ms/op 0.91
BeaconState.hashTreeRoot - No change 205.00 ns/op 199.00 ns/op 1.03
BeaconState.hashTreeRoot - 1 full validator 94.620 us/op 89.161 us/op 1.06
BeaconState.hashTreeRoot - 32 full validator 1.0093 ms/op 1.0777 ms/op 0.94
BeaconState.hashTreeRoot - 512 full validator 9.6512 ms/op 9.3041 ms/op 1.04
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 132.74 us/op 128.13 us/op 1.04
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.7861 ms/op 1.7932 ms/op 1.00
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 18.094 ms/op 19.563 ms/op 0.92
BeaconState.hashTreeRoot - 1 balances 85.963 us/op 88.679 us/op 0.97
BeaconState.hashTreeRoot - 32 balances 915.64 us/op 901.37 us/op 1.02
BeaconState.hashTreeRoot - 512 balances 7.4248 ms/op 7.0889 ms/op 1.05
BeaconState.hashTreeRoot - 250000 balances 177.95 ms/op 203.78 ms/op 0.87
aggregationBits - 2048 els - zipIndexesInBitList 21.572 us/op 22.550 us/op 0.96
regular array get 100000 times 25.227 us/op 25.790 us/op 0.98
wrappedArray get 100000 times 25.293 us/op 25.690 us/op 0.98
arrayWithProxy get 100000 times 14.811 ms/op 18.859 ms/op 0.79
ssz.Root.equals 24.906 ns/op 24.552 ns/op 1.01
byteArrayEquals 23.528 ns/op 23.865 ns/op 0.99
Buffer.compare 10.253 ns/op 10.256 ns/op 1.00
processSlot - 1 slots 15.271 us/op 10.505 us/op 1.45
processSlot - 32 slots 2.2710 ms/op 2.1815 ms/op 1.04
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 5.7474 ms/op 5.9865 ms/op 0.96
getCommitteeAssignments - req 1 vs - 250000 vc 2.3836 ms/op 1.9788 ms/op 1.20
getCommitteeAssignments - req 100 vs - 250000 vc 3.7952 ms/op 3.8445 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1160 ms/op 4.1177 ms/op 1.00
findModifiedValidators - 10000 modified validators 586.76 ms/op 714.20 ms/op 0.82
findModifiedValidators - 1000 modified validators 548.50 ms/op 437.04 ms/op 1.26
findModifiedValidators - 100 modified validators 324.82 ms/op 358.08 ms/op 0.91
findModifiedValidators - 10 modified validators 275.02 ms/op 245.83 ms/op 1.12
findModifiedValidators - 1 modified validators 215.13 ms/op 280.95 ms/op 0.77
findModifiedValidators - no difference 177.96 ms/op 156.32 ms/op 1.14
migrate state 1500000 validators, 3400 modified, 2000 new 1.1996 s/op 1.2415 s/op 0.97
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.6100 ns/op 4.4300 ns/op 1.04
state getBlockRootAtSlot - 250000 vs - 7PWei 638.14 ns/op 666.73 ns/op 0.96
computeProposerIndex 100000 validators 1.6211 ms/op 1.6533 ms/op 0.98
getNextSyncCommitteeIndices 1000 validators 128.55 ms/op 136.06 ms/op 0.94
getNextSyncCommitteeIndices 10000 validators 126.89 ms/op 134.18 ms/op 0.95
getNextSyncCommitteeIndices 100000 validators 131.71 ms/op 130.53 ms/op 1.01
computeProposers - vc 250000 707.04 us/op 709.69 us/op 1.00
computeEpochShuffling - vc 250000 46.251 ms/op 42.324 ms/op 1.09
getNextSyncCommittee - vc 250000 12.984 ms/op 11.875 ms/op 1.09
nodejs block root to RootHex using toHex 180.00 ns/op 149.59 ns/op 1.20
nodejs block root to RootHex using toRootHex 95.876 ns/op 91.661 ns/op 1.05
nodejs fromHex(blob) 248.74 us/op 513.36 us/op 0.48
nodejs fromHexInto(blob) 724.80 us/op 720.31 us/op 1.01
nodejs block root to RootHex using the deprecated toHexString 212.57 ns/op 592.09 ns/op 0.36
browser block root to RootHex using toHex 167.26 ns/op 302.43 ns/op 0.55
browser block root to RootHex using toRootHex 156.17 ns/op 160.83 ns/op 0.97
browser fromHex(blob) 1.2725 ms/op 1.2589 ms/op 1.01
browser fromHexInto(blob) 716.13 us/op 723.36 us/op 0.99
browser block root to RootHex using the deprecated toHexString 655.49 ns/op 440.94 ns/op 1.49

by benchmarkbot/action

@wemeetagain
Copy link
Member

🎉 This PR is included in v1.38.0 🎉

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants