-
-
Notifications
You must be signed in to change notification settings - Fork 410
feat: enable gloas spec tests #8609
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: unstable
Are you sure you want to change the base?
Conversation
Summary of ChangesHello @ensi321, 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 integrates the Highlights
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this 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 enables the gloas spec tests. The changes include updating the consensus-specs version to v1.6.0-beta.2, modifying the test skip configuration to run gloas ssz_static tests (while skipping others and ForkChoiceNode), and fixing the DataColumnSidecar SSZ type definition for gloas to align with the specification. The changes are correct, consistent, and effectively achieve the goal of enabling and running the intended gloas spec tests.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## unstable #8609 +/- ##
============================================
- Coverage 51.99% 51.96% -0.04%
============================================
Files 848 848
Lines 65857 65963 +106
Branches 4808 4814 +6
============================================
+ Hits 34242 34276 +34
- Misses 31547 31618 +71
- Partials 68 69 +1 🚀 New features to boost your workflow:
|
|
spec tests aren't passing |
|
| Benchmark suite | Current: 8ba163e | Previous: 983ef10 | Ratio |
|---|---|---|---|
| getSlashingsAndExits - default max | 162.39 us/op | 50.425 us/op | 3.22 |
| Full columns - reconstruct all 6 blobs | 140.26 us/op | 46.300 us/op | 3.03 |
| Full columns - reconstruct half of the blobs out of 6 | 79.410 us/op | 25.948 us/op | 3.06 |
| Full columns - reconstruct all 10 blobs | 269.92 us/op | 63.149 us/op | 4.27 |
| Full columns - reconstruct half of the blobs out of 10 | 116.23 us/op | 35.335 us/op | 3.29 |
| Full columns - reconstruct all 20 blobs | 615.44 us/op | 143.27 us/op | 4.30 |
| phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 5.6100 ms/op | 1.4338 ms/op | 3.91 |
Full benchmark results
| Benchmark suite | Current: 8ba163e | Previous: 983ef10 | Ratio |
|---|---|---|---|
| getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 966.07 us/op | 784.53 us/op | 1.23 |
| getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 37.033 us/op | 30.842 us/op | 1.20 |
| BLS verify - blst | 901.07 us/op | 906.17 us/op | 0.99 |
| BLS verifyMultipleSignatures 3 - blst | 1.2400 ms/op | 1.3158 ms/op | 0.94 |
| BLS verifyMultipleSignatures 8 - blst | 1.8959 ms/op | 2.2527 ms/op | 0.84 |
| BLS verifyMultipleSignatures 32 - blst | 5.7059 ms/op | 4.4765 ms/op | 1.27 |
| BLS verifyMultipleSignatures 64 - blst | 10.821 ms/op | 8.3553 ms/op | 1.30 |
| BLS verifyMultipleSignatures 128 - blst | 17.383 ms/op | 15.873 ms/op | 1.10 |
| BLS deserializing 10000 signatures | 695.32 ms/op | 635.27 ms/op | 1.09 |
| BLS deserializing 100000 signatures | 6.9438 s/op | 6.6324 s/op | 1.05 |
| BLS verifyMultipleSignatures - same message - 3 - blst | 1.0311 ms/op | 824.19 us/op | 1.25 |
| BLS verifyMultipleSignatures - same message - 8 - blst | 1.1525 ms/op | 1.1139 ms/op | 1.03 |
| BLS verifyMultipleSignatures - same message - 32 - blst | 1.7026 ms/op | 1.7542 ms/op | 0.97 |
| BLS verifyMultipleSignatures - same message - 64 - blst | 2.6089 ms/op | 2.8471 ms/op | 0.92 |
| BLS verifyMultipleSignatures - same message - 128 - blst | 4.3502 ms/op | 4.6437 ms/op | 0.94 |
| BLS aggregatePubkeys 32 - blst | 20.919 us/op | 20.698 us/op | 1.01 |
| BLS aggregatePubkeys 128 - blst | 70.302 us/op | 63.539 us/op | 1.11 |
| notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 56.894 ms/op | 42.110 ms/op | 1.35 |
| notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 58.221 ms/op | 48.546 ms/op | 1.20 |
| notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 43.274 ms/op | 33.394 ms/op | 1.30 |
| getSlashingsAndExits - default max | 162.39 us/op | 50.425 us/op | 3.22 |
| getSlashingsAndExits - 2k | 385.00 us/op | 309.41 us/op | 1.24 |
| isKnown best case - 1 super set check | 204.00 ns/op | 425.00 ns/op | 0.48 |
| isKnown normal case - 2 super set checks | 202.00 ns/op | 416.00 ns/op | 0.49 |
| isKnown worse case - 16 super set checks | 198.00 ns/op | 425.00 ns/op | 0.47 |
| InMemoryCheckpointStateCache - add get delete | 2.3710 us/op | 2.8190 us/op | 0.84 |
| validate api signedAggregateAndProof - struct | 1.5779 ms/op | 1.6883 ms/op | 0.93 |
| validate gossip signedAggregateAndProof - struct | 1.4805 ms/op | 1.5099 ms/op | 0.98 |
| batch validate gossip attestation - vc 640000 - chunk 32 | 128.59 us/op | 107.30 us/op | 1.20 |
| batch validate gossip attestation - vc 640000 - chunk 64 | 113.70 us/op | 91.883 us/op | 1.24 |
| batch validate gossip attestation - vc 640000 - chunk 128 | 103.08 us/op | 84.159 us/op | 1.22 |
| batch validate gossip attestation - vc 640000 - chunk 256 | 103.09 us/op | 85.967 us/op | 1.20 |
| pickEth1Vote - no votes | 957.38 us/op | 800.36 us/op | 1.20 |
| pickEth1Vote - max votes | 8.8487 ms/op | 5.1930 ms/op | 1.70 |
| pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 12.258 ms/op | 8.9736 ms/op | 1.37 |
| pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 21.182 ms/op | 21.094 ms/op | 1.00 |
| pickEth1Vote - Eth1Data fastSerialize value x2048 | 429.78 us/op | 323.55 us/op | 1.33 |
| pickEth1Vote - Eth1Data fastSerialize tree x2048 | 4.5936 ms/op | 2.5832 ms/op | 1.78 |
| bytes32 toHexString | 387.00 ns/op | 520.00 ns/op | 0.74 |
| bytes32 Buffer.toString(hex) | 274.00 ns/op | 403.00 ns/op | 0.68 |
| bytes32 Buffer.toString(hex) from Uint8Array | 329.00 ns/op | 473.00 ns/op | 0.70 |
| bytes32 Buffer.toString(hex) + 0x | 240.00 ns/op | 402.00 ns/op | 0.60 |
| Object access 1 prop | 0.13200 ns/op | 0.30100 ns/op | 0.44 |
| Map access 1 prop | 0.13000 ns/op | 0.30800 ns/op | 0.42 |
| Object get x1000 | 5.7220 ns/op | 5.0130 ns/op | 1.14 |
| Map get x1000 | 6.4450 ns/op | 5.8330 ns/op | 1.10 |
| Object set x1000 | 29.502 ns/op | 18.722 ns/op | 1.58 |
| Map set x1000 | 20.754 ns/op | 16.405 ns/op | 1.27 |
| Return object 10000 times | 0.29040 ns/op | 0.29610 ns/op | 0.98 |
| Throw Error 10000 times | 4.3179 us/op | 3.4613 us/op | 1.25 |
| toHex | 145.66 ns/op | 107.60 ns/op | 1.35 |
| Buffer.from | 129.53 ns/op | 88.279 ns/op | 1.47 |
| shared Buffer | 89.731 ns/op | 62.338 ns/op | 1.44 |
| fastMsgIdFn sha256 / 200 bytes | 2.3510 us/op | 1.9770 us/op | 1.19 |
| fastMsgIdFn h32 xxhash / 200 bytes | 208.00 ns/op | 376.00 ns/op | 0.55 |
| fastMsgIdFn h64 xxhash / 200 bytes | 260.00 ns/op | 829.00 ns/op | 0.31 |
| fastMsgIdFn sha256 / 1000 bytes | 7.3840 us/op | 8.0270 us/op | 0.92 |
| fastMsgIdFn h32 xxhash / 1000 bytes | 336.00 ns/op | 691.00 ns/op | 0.49 |
| fastMsgIdFn h64 xxhash / 1000 bytes | 358.00 ns/op | 787.00 ns/op | 0.45 |
| fastMsgIdFn sha256 / 10000 bytes | 65.926 us/op | 47.861 us/op | 1.38 |
| fastMsgIdFn h32 xxhash / 10000 bytes | 1.8450 us/op | 2.3410 us/op | 0.79 |
| fastMsgIdFn h64 xxhash / 10000 bytes | 1.2020 us/op | 1.6530 us/op | 0.73 |
| 100 bytes - compress - snappyjs | 1.4392 us/op | 1.5596 us/op | 0.92 |
| 100 bytes - compress - snappy | 1.0823 us/op | 963.63 ns/op | 1.12 |
| 100 bytes - compress - #snappy | 1.3584 us/op | 1.6006 us/op | 0.85 |
| 200 bytes - compress - snappyjs | 1.9108 us/op | 1.7983 us/op | 1.06 |
| 200 bytes - compress - snappy | 1.2649 us/op | 977.32 ns/op | 1.29 |
| 200 bytes - compress - #snappy | 1.6625 us/op | 1.9005 us/op | 0.87 |
| 300 bytes - compress - snappyjs | 2.3744 us/op | 2.3685 us/op | 1.00 |
| 300 bytes - compress - snappy | 1.2401 us/op | 989.70 ns/op | 1.25 |
| 300 bytes - compress - #snappy | 2.3415 us/op | 2.2701 us/op | 1.03 |
| 400 bytes - compress - snappyjs | 2.4820 us/op | 2.6242 us/op | 0.95 |
| 400 bytes - compress - snappy | 1.2970 us/op | 997.60 ns/op | 1.30 |
| 400 bytes - compress - #snappy | 2.5625 us/op | 2.0883 us/op | 1.23 |
| 500 bytes - compress - snappyjs | 3.0521 us/op | 2.3871 us/op | 1.28 |
| 500 bytes - compress - snappy | 1.3054 us/op | 1.0782 us/op | 1.21 |
| 500 bytes - compress - #snappy | 2.8499 us/op | 2.3655 us/op | 1.20 |
| 1000 bytes - compress - snappyjs | 5.3206 us/op | 3.6480 us/op | 1.46 |
| 1000 bytes - compress - snappy | 1.5174 us/op | 1.3800 us/op | 1.10 |
| 1000 bytes - compress - #snappy | 4.4197 us/op | 3.6287 us/op | 1.22 |
| 10000 bytes - compress - snappyjs | 29.795 us/op | 24.815 us/op | 1.20 |
| 10000 bytes - compress - snappy | 28.923 us/op | 22.300 us/op | 1.30 |
| 10000 bytes - compress - #snappy | 30.634 us/op | 24.182 us/op | 1.27 |
| 100 bytes - uncompress - snappyjs | 908.50 ns/op | 637.15 ns/op | 1.43 |
| 100 bytes - uncompress - snappy | 1.0592 us/op | 786.98 ns/op | 1.35 |
| 100 bytes - uncompress - #snappy | 864.38 ns/op | 551.39 ns/op | 1.57 |
| 200 bytes - uncompress - snappyjs | 915.42 ns/op | 1.3370 us/op | 0.68 |
| 200 bytes - uncompress - snappy | 1.0624 us/op | 844.25 ns/op | 1.26 |
| 200 bytes - uncompress - #snappy | 940.49 ns/op | 1.4138 us/op | 0.67 |
| 300 bytes - uncompress - snappyjs | 1.3252 us/op | 1.9097 us/op | 0.69 |
| 300 bytes - uncompress - snappy | 1.1045 us/op | 837.94 ns/op | 1.32 |
| 300 bytes - uncompress - #snappy | 1.2907 us/op | 1.4747 us/op | 0.88 |
| 400 bytes - uncompress - snappyjs | 1.2668 us/op | 2.1608 us/op | 0.59 |
| 400 bytes - uncompress - snappy | 1.1413 us/op | 910.55 ns/op | 1.25 |
| 400 bytes - uncompress - #snappy | 1.1751 us/op | 1.4682 us/op | 0.80 |
| 500 bytes - uncompress - snappyjs | 1.7821 us/op | 1.4887 us/op | 1.20 |
| 500 bytes - uncompress - snappy | 1.2444 us/op | 947.59 ns/op | 1.31 |
| 500 bytes - uncompress - #snappy | 1.3865 us/op | 1.6877 us/op | 0.82 |
| 1000 bytes - uncompress - snappyjs | 2.2709 us/op | 2.0539 us/op | 1.11 |
| 1000 bytes - uncompress - snappy | 1.6994 us/op | 1.2322 us/op | 1.38 |
| 1000 bytes - uncompress - #snappy | 2.2013 us/op | 1.9317 us/op | 1.14 |
| 10000 bytes - uncompress - snappyjs | 15.699 us/op | 11.274 us/op | 1.39 |
| 10000 bytes - uncompress - snappy | 30.718 us/op | 34.700 us/op | 0.89 |
| 10000 bytes - uncompress - #snappy | 13.558 us/op | 11.721 us/op | 1.16 |
| send data - 1000 256B messages | 17.915 ms/op | 11.910 ms/op | 1.50 |
| send data - 1000 512B messages | 21.525 ms/op | 16.760 ms/op | 1.28 |
| send data - 1000 1024B messages | 29.140 ms/op | 22.726 ms/op | 1.28 |
| send data - 1000 1200B messages | 27.096 ms/op | 20.251 ms/op | 1.34 |
| send data - 1000 2048B messages | 27.359 ms/op | 22.180 ms/op | 1.23 |
| send data - 1000 4096B messages | 32.511 ms/op | 23.551 ms/op | 1.38 |
| send data - 1000 16384B messages | 46.599 ms/op | 27.133 ms/op | 1.72 |
| send data - 1000 65536B messages | 117.29 ms/op | 64.929 ms/op | 1.81 |
| enrSubnets - fastDeserialize 64 bits | 956.00 ns/op | 947.00 ns/op | 1.01 |
| enrSubnets - ssz BitVector 64 bits | 342.00 ns/op | 469.00 ns/op | 0.73 |
| enrSubnets - fastDeserialize 4 bits | 130.00 ns/op | 324.00 ns/op | 0.40 |
| enrSubnets - ssz BitVector 4 bits | 354.00 ns/op | 501.00 ns/op | 0.71 |
| prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 239.68 us/op | 194.49 us/op | 1.23 |
| prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 265.50 us/op | 225.24 us/op | 1.18 |
| prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 397.55 us/op | 370.54 us/op | 1.07 |
| prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 752.79 us/op | 647.39 us/op | 1.16 |
| prioritizePeers score 0:0 att 64-1 sync 4-1 | 848.48 us/op | 776.27 us/op | 1.09 |
| array of 16000 items push then shift | 1.6450 us/op | 1.2840 us/op | 1.28 |
| LinkedList of 16000 items push then shift | 7.7050 ns/op | 6.3540 ns/op | 1.21 |
| array of 16000 items push then pop | 79.616 ns/op | 60.900 ns/op | 1.31 |
| LinkedList of 16000 items push then pop | 7.6450 ns/op | 6.2450 ns/op | 1.22 |
| array of 24000 items push then shift | 2.4370 us/op | 1.9850 us/op | 1.23 |
| LinkedList of 24000 items push then shift | 9.4260 ns/op | 6.3630 ns/op | 1.48 |
| array of 24000 items push then pop | 129.16 ns/op | 85.407 ns/op | 1.51 |
| LinkedList of 24000 items push then pop | 8.7830 ns/op | 6.2810 ns/op | 1.40 |
| intersect bitArray bitLen 8 | 6.5790 ns/op | 5.4210 ns/op | 1.21 |
| intersect array and set length 8 | 43.380 ns/op | 32.462 ns/op | 1.34 |
| intersect bitArray bitLen 128 | 31.000 ns/op | 26.762 ns/op | 1.16 |
| intersect array and set length 128 | 682.47 ns/op | 542.99 ns/op | 1.26 |
| bitArray.getTrueBitIndexes() bitLen 128 | 1.1990 us/op | 1.1180 us/op | 1.07 |
| bitArray.getTrueBitIndexes() bitLen 248 | 2.0820 us/op | 1.7700 us/op | 1.18 |
| bitArray.getTrueBitIndexes() bitLen 512 | 4.4640 us/op | 3.2500 us/op | 1.37 |
| Full columns - reconstruct all 6 blobs | 140.26 us/op | 46.300 us/op | 3.03 |
| Full columns - reconstruct half of the blobs out of 6 | 79.410 us/op | 25.948 us/op | 3.06 |
| Full columns - reconstruct single blob out of 6 | 31.638 us/op | 12.336 us/op | 2.56 |
| Half columns - reconstruct all 6 blobs | 290.39 ms/op | 234.26 ms/op | 1.24 |
| Half columns - reconstruct half of the blobs out of 6 | 144.99 ms/op | 117.94 ms/op | 1.23 |
| Half columns - reconstruct single blob out of 6 | 56.384 ms/op | 44.331 ms/op | 1.27 |
| Full columns - reconstruct all 10 blobs | 269.92 us/op | 63.149 us/op | 4.27 |
| Full columns - reconstruct half of the blobs out of 10 | 116.23 us/op | 35.335 us/op | 3.29 |
| Full columns - reconstruct single blob out of 10 | 28.641 us/op | 12.233 us/op | 2.34 |
| Half columns - reconstruct all 10 blobs | 484.86 ms/op | 386.71 ms/op | 1.25 |
| Half columns - reconstruct half of the blobs out of 10 | 246.45 ms/op | 201.65 ms/op | 1.22 |
| Half columns - reconstruct single blob out of 10 | 55.436 ms/op | 45.168 ms/op | 1.23 |
| Full columns - reconstruct all 20 blobs | 615.44 us/op | 143.27 us/op | 4.30 |
| Full columns - reconstruct half of the blobs out of 20 | 196.54 us/op | 66.822 us/op | 2.94 |
| Full columns - reconstruct single blob out of 20 | 26.607 us/op | 11.962 us/op | 2.22 |
| Half columns - reconstruct all 20 blobs | 978.59 ms/op | 781.41 ms/op | 1.25 |
| Half columns - reconstruct half of the blobs out of 20 | 496.11 ms/op | 396.04 ms/op | 1.25 |
| Half columns - reconstruct single blob out of 20 | 55.333 ms/op | 44.902 ms/op | 1.23 |
| Buffer.concat 32 items | 751.00 ns/op | 774.00 ns/op | 0.97 |
| Uint8Array.set 32 items | 1.3160 us/op | 1.0630 us/op | 1.24 |
| Buffer.copy | 2.4540 us/op | 2.0260 us/op | 1.21 |
| Uint8Array.set - with subarray | 2.2070 us/op | 1.6310 us/op | 1.35 |
| Uint8Array.set - without subarray | 1.1620 us/op | 1.0800 us/op | 1.08 |
| getUint32 - dataview | 208.00 ns/op | 367.00 ns/op | 0.57 |
| getUint32 - manual | 140.00 ns/op | 294.00 ns/op | 0.48 |
| Set add up to 64 items then delete first | 2.7803 us/op | 1.6622 us/op | 1.67 |
| OrderedSet add up to 64 items then delete first | 4.7988 us/op | 2.8077 us/op | 1.71 |
| Set add up to 64 items then delete last | 3.4100 us/op | 1.8203 us/op | 1.87 |
| OrderedSet add up to 64 items then delete last | 5.5955 us/op | 3.0709 us/op | 1.82 |
| Set add up to 64 items then delete middle | 3.4456 us/op | 1.8991 us/op | 1.81 |
| OrderedSet add up to 64 items then delete middle | 7.3222 us/op | 4.6211 us/op | 1.58 |
| Set add up to 128 items then delete first | 6.9704 us/op | 4.0026 us/op | 1.74 |
| OrderedSet add up to 128 items then delete first | 12.097 us/op | 6.5047 us/op | 1.86 |
| Set add up to 128 items then delete last | 7.0730 us/op | 3.8668 us/op | 1.83 |
| OrderedSet add up to 128 items then delete last | 12.282 us/op | 6.1171 us/op | 2.01 |
| Set add up to 128 items then delete middle | 7.0106 us/op | 3.8766 us/op | 1.81 |
| OrderedSet add up to 128 items then delete middle | 19.526 us/op | 12.270 us/op | 1.59 |
| Set add up to 256 items then delete first | 15.599 us/op | 7.8841 us/op | 1.98 |
| OrderedSet add up to 256 items then delete first | 23.222 us/op | 12.036 us/op | 1.93 |
| Set add up to 256 items then delete last | 15.178 us/op | 7.3838 us/op | 2.06 |
| OrderedSet add up to 256 items then delete last | 24.117 us/op | 11.281 us/op | 2.14 |
| Set add up to 256 items then delete middle | 15.076 us/op | 7.6056 us/op | 1.98 |
| OrderedSet add up to 256 items then delete middle | 51.454 us/op | 35.599 us/op | 1.45 |
| transfer serialized Status (84 B) | 3.1570 us/op | 2.0440 us/op | 1.54 |
| copy serialized Status (84 B) | 1.8430 us/op | 1.2660 us/op | 1.46 |
| transfer serialized SignedVoluntaryExit (112 B) | 3.4760 us/op | 2.0990 us/op | 1.66 |
| copy serialized SignedVoluntaryExit (112 B) | 2.6940 us/op | 1.2810 us/op | 2.10 |
| transfer serialized ProposerSlashing (416 B) | 3.5490 us/op | 2.5200 us/op | 1.41 |
| copy serialized ProposerSlashing (416 B) | 2.7270 us/op | 1.7420 us/op | 1.57 |
| transfer serialized Attestation (485 B) | 4.1150 us/op | 2.2740 us/op | 1.81 |
| copy serialized Attestation (485 B) | 2.4570 us/op | 1.5430 us/op | 1.59 |
| transfer serialized AttesterSlashing (33232 B) | 4.6990 us/op | 2.2790 us/op | 2.06 |
| copy serialized AttesterSlashing (33232 B) | 8.2160 us/op | 3.9840 us/op | 2.06 |
| transfer serialized Small SignedBeaconBlock (128000 B) | 5.4900 us/op | 2.4380 us/op | 2.25 |
| copy serialized Small SignedBeaconBlock (128000 B) | 23.172 us/op | 8.4110 us/op | 2.75 |
| transfer serialized Avg SignedBeaconBlock (200000 B) | 6.9230 us/op | 4.3070 us/op | 1.61 |
| copy serialized Avg SignedBeaconBlock (200000 B) | 36.163 us/op | 10.977 us/op | 3.29 |
| transfer serialized BlobsSidecar (524380 B) | 7.1460 us/op | 5.3450 us/op | 1.34 |
| copy serialized BlobsSidecar (524380 B) | 102.47 us/op | 88.788 us/op | 1.15 |
| transfer serialized Big SignedBeaconBlock (1000000 B) | 7.8970 us/op | 5.3640 us/op | 1.47 |
| copy serialized Big SignedBeaconBlock (1000000 B) | 201.87 us/op | 108.71 us/op | 1.86 |
| pass gossip attestations to forkchoice per slot | 2.9809 ms/op | 2.3931 ms/op | 1.25 |
| forkChoice updateHead vc 100000 bc 64 eq 0 | 502.80 us/op | 415.33 us/op | 1.21 |
| forkChoice updateHead vc 600000 bc 64 eq 0 | 2.9938 ms/op | 2.4911 ms/op | 1.20 |
| forkChoice updateHead vc 1000000 bc 64 eq 0 | 5.0891 ms/op | 4.1794 ms/op | 1.22 |
| forkChoice updateHead vc 600000 bc 320 eq 0 | 3.0025 ms/op | 2.4890 ms/op | 1.21 |
| forkChoice updateHead vc 600000 bc 1200 eq 0 | 3.2322 ms/op | 2.3584 ms/op | 1.37 |
| forkChoice updateHead vc 600000 bc 7200 eq 0 | 3.5624 ms/op | 2.7391 ms/op | 1.30 |
| forkChoice updateHead vc 600000 bc 64 eq 1000 | 3.1154 ms/op | 2.7255 ms/op | 1.14 |
| forkChoice updateHead vc 600000 bc 64 eq 10000 | 3.2204 ms/op | 2.7186 ms/op | 1.18 |
| forkChoice updateHead vc 600000 bc 64 eq 300000 | 11.524 ms/op | 7.1185 ms/op | 1.62 |
| computeDeltas 1400000 validators 0% inactive | 14.566 ms/op | 11.771 ms/op | 1.24 |
| computeDeltas 1400000 validators 10% inactive | 13.416 ms/op | 11.296 ms/op | 1.19 |
| computeDeltas 1400000 validators 20% inactive | 11.885 ms/op | 9.5460 ms/op | 1.24 |
| computeDeltas 1400000 validators 50% inactive | 9.0253 ms/op | 6.9232 ms/op | 1.30 |
| computeDeltas 2100000 validators 0% inactive | 21.497 ms/op | 16.020 ms/op | 1.34 |
| computeDeltas 2100000 validators 10% inactive | 19.948 ms/op | 14.979 ms/op | 1.33 |
| computeDeltas 2100000 validators 20% inactive | 18.408 ms/op | 14.333 ms/op | 1.28 |
| computeDeltas 2100000 validators 50% inactive | 14.129 ms/op | 10.958 ms/op | 1.29 |
| altair processAttestation - 250000 vs - 7PWei normalcase | 4.0088 ms/op | 1.6624 ms/op | 2.41 |
| altair processAttestation - 250000 vs - 7PWei worstcase | 3.7053 ms/op | 2.5206 ms/op | 1.47 |
| altair processAttestation - setStatus - 1/6 committees join | 162.07 us/op | 94.893 us/op | 1.71 |
| altair processAttestation - setStatus - 1/3 committees join | 281.35 us/op | 182.96 us/op | 1.54 |
| altair processAttestation - setStatus - 1/2 committees join | 363.52 us/op | 295.00 us/op | 1.23 |
| altair processAttestation - setStatus - 2/3 committees join | 494.63 us/op | 360.11 us/op | 1.37 |
| altair processAttestation - setStatus - 4/5 committees join | 707.98 us/op | 497.08 us/op | 1.42 |
| altair processAttestation - setStatus - 100% committees join | 777.86 us/op | 587.86 us/op | 1.32 |
| altair processBlock - 250000 vs - 7PWei normalcase | 5.9912 ms/op | 3.4912 ms/op | 1.72 |
| altair processBlock - 250000 vs - 7PWei normalcase hashState | 35.853 ms/op | 26.316 ms/op | 1.36 |
| altair processBlock - 250000 vs - 7PWei worstcase | 40.285 ms/op | 36.507 ms/op | 1.10 |
| altair processBlock - 250000 vs - 7PWei worstcase hashState | 84.737 ms/op | 83.071 ms/op | 1.02 |
| phase0 processBlock - 250000 vs - 7PWei normalcase | 2.3617 ms/op | 1.6912 ms/op | 1.40 |
| phase0 processBlock - 250000 vs - 7PWei worstcase | 25.976 ms/op | 22.596 ms/op | 1.15 |
| altair processEth1Data - 250000 vs - 7PWei normalcase | 363.52 us/op | 256.42 us/op | 1.42 |
| getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 6.9800 us/op | 5.2080 us/op | 1.34 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 60.542 us/op | 32.815 us/op | 1.84 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 11.401 us/op | 12.115 us/op | 0.94 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 6.7030 us/op | 6.9090 us/op | 0.97 |
| getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 225.32 us/op | 148.74 us/op | 1.51 |
| getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 2.0066 ms/op | 1.3617 ms/op | 1.47 |
| getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 2.8138 ms/op | 1.6350 ms/op | 1.72 |
| getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 2.7833 ms/op | 1.6774 ms/op | 1.66 |
| getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 6.3064 ms/op | 3.6714 ms/op | 1.72 |
| getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 2.7901 ms/op | 1.8530 ms/op | 1.51 |
| getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 5.1454 ms/op | 3.2845 ms/op | 1.57 |
| Tree 40 250000 create | 541.07 ms/op | 329.95 ms/op | 1.64 |
| Tree 40 250000 get(125000) | 147.83 ns/op | 107.78 ns/op | 1.37 |
| Tree 40 250000 set(125000) | 2.0879 us/op | 1.1893 us/op | 1.76 |
| Tree 40 250000 toArray() | 22.603 ms/op | 9.5400 ms/op | 2.37 |
| Tree 40 250000 iterate all - toArray() + loop | 24.201 ms/op | 9.4948 ms/op | 2.55 |
| Tree 40 250000 iterate all - get(i) | 62.494 ms/op | 40.667 ms/op | 1.54 |
| Array 250000 create | 4.2369 ms/op | 2.3046 ms/op | 1.84 |
| Array 250000 clone - spread | 1.6497 ms/op | 626.86 us/op | 2.63 |
| Array 250000 get(125000) | 0.41200 ns/op | 0.56300 ns/op | 0.73 |
| Array 250000 set(125000) | 0.44200 ns/op | 0.58400 ns/op | 0.76 |
| Array 250000 iterate all - loop | 103.88 us/op | 76.887 us/op | 1.35 |
| phase0 afterProcessEpoch - 250000 vs - 7PWei | 43.639 ms/op | 37.983 ms/op | 1.15 |
| Array.fill - length 1000000 | 4.1418 ms/op | 2.3804 ms/op | 1.74 |
| Array push - length 1000000 | 15.125 ms/op | 9.8893 ms/op | 1.53 |
| Array.get | 0.29299 ns/op | 0.24619 ns/op | 1.19 |
| Uint8Array.get | 0.46326 ns/op | 0.31500 ns/op | 1.47 |
| phase0 beforeProcessEpoch - 250000 vs - 7PWei | 23.823 ms/op | 12.687 ms/op | 1.88 |
| altair processEpoch - mainnet_e81889 | 341.97 ms/op | 271.50 ms/op | 1.26 |
| mainnet_e81889 - altair beforeProcessEpoch | 23.686 ms/op | 14.982 ms/op | 1.58 |
| mainnet_e81889 - altair processJustificationAndFinalization | 8.4150 us/op | 4.5180 us/op | 1.86 |
| mainnet_e81889 - altair processInactivityUpdates | 6.2422 ms/op | 3.1548 ms/op | 1.98 |
| mainnet_e81889 - altair processRewardsAndPenalties | 44.881 ms/op | 42.799 ms/op | 1.05 |
| mainnet_e81889 - altair processRegistryUpdates | 858.00 ns/op | 789.00 ns/op | 1.09 |
| mainnet_e81889 - altair processSlashings | 187.00 ns/op | 395.00 ns/op | 0.47 |
| mainnet_e81889 - altair processEth1DataReset | 194.00 ns/op | 394.00 ns/op | 0.49 |
| mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.3259 ms/op | 902.08 us/op | 1.47 |
| mainnet_e81889 - altair processSlashingsReset | 1.0050 us/op | 990.00 ns/op | 1.02 |
| mainnet_e81889 - altair processRandaoMixesReset | 1.3660 us/op | 1.1490 us/op | 1.19 |
| mainnet_e81889 - altair processHistoricalRootsUpdate | 185.00 ns/op | 373.00 ns/op | 0.50 |
| mainnet_e81889 - altair processParticipationFlagUpdates | 574.00 ns/op | 648.00 ns/op | 0.89 |
| mainnet_e81889 - altair processSyncCommitteeUpdates | 153.00 ns/op | 334.00 ns/op | 0.46 |
| mainnet_e81889 - altair afterProcessEpoch | 46.748 ms/op | 39.984 ms/op | 1.17 |
| capella processEpoch - mainnet_e217614 | 1.1251 s/op | 897.64 ms/op | 1.25 |
| mainnet_e217614 - capella beforeProcessEpoch | 74.963 ms/op | 56.318 ms/op | 1.33 |
| mainnet_e217614 - capella processJustificationAndFinalization | 6.1390 us/op | 4.3850 us/op | 1.40 |
| mainnet_e217614 - capella processInactivityUpdates | 16.464 ms/op | 11.545 ms/op | 1.43 |
| mainnet_e217614 - capella processRewardsAndPenalties | 208.62 ms/op | 190.09 ms/op | 1.10 |
| mainnet_e217614 - capella processRegistryUpdates | 7.3960 us/op | 5.3000 us/op | 1.40 |
| mainnet_e217614 - capella processSlashings | 197.00 ns/op | 394.00 ns/op | 0.50 |
| mainnet_e217614 - capella processEth1DataReset | 202.00 ns/op | 390.00 ns/op | 0.52 |
| mainnet_e217614 - capella processEffectiveBalanceUpdates | 4.5196 ms/op | 3.1142 ms/op | 1.45 |
| mainnet_e217614 - capella processSlashingsReset | 981.00 ns/op | 1.0680 us/op | 0.92 |
| mainnet_e217614 - capella processRandaoMixesReset | 1.3790 us/op | 1.2240 us/op | 1.13 |
| mainnet_e217614 - capella processHistoricalRootsUpdate | 261.00 ns/op | 399.00 ns/op | 0.65 |
| mainnet_e217614 - capella processParticipationFlagUpdates | 625.00 ns/op | 669.00 ns/op | 0.93 |
| mainnet_e217614 - capella afterProcessEpoch | 124.58 ms/op | 109.79 ms/op | 1.13 |
| phase0 processEpoch - mainnet_e58758 | 333.44 ms/op | 279.41 ms/op | 1.19 |
| mainnet_e58758 - phase0 beforeProcessEpoch | 88.392 ms/op | 68.912 ms/op | 1.28 |
| mainnet_e58758 - phase0 processJustificationAndFinalization | 5.9680 us/op | 4.6360 us/op | 1.29 |
| mainnet_e58758 - phase0 processRewardsAndPenalties | 36.715 ms/op | 37.425 ms/op | 0.98 |
| mainnet_e58758 - phase0 processRegistryUpdates | 3.4710 us/op | 2.6600 us/op | 1.30 |
| mainnet_e58758 - phase0 processSlashings | 182.00 ns/op | 378.00 ns/op | 0.48 |
| mainnet_e58758 - phase0 processEth1DataReset | 188.00 ns/op | 392.00 ns/op | 0.48 |
| mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.5231 ms/op | 969.79 us/op | 1.57 |
| mainnet_e58758 - phase0 processSlashingsReset | 1.1540 us/op | 943.00 ns/op | 1.22 |
| mainnet_e58758 - phase0 processRandaoMixesReset | 1.3970 us/op | 1.4710 us/op | 0.95 |
| mainnet_e58758 - phase0 processHistoricalRootsUpdate | 262.00 ns/op | 394.00 ns/op | 0.66 |
| mainnet_e58758 - phase0 processParticipationRecordUpdates | 1.3660 us/op | 1.1470 us/op | 1.19 |
| mainnet_e58758 - phase0 afterProcessEpoch | 38.570 ms/op | 42.939 ms/op | 0.90 |
| phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.7387 ms/op | 870.89 us/op | 2.00 |
| phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 5.6100 ms/op | 1.4338 ms/op | 3.91 |
| altair processInactivityUpdates - 250000 normalcase | 21.087 ms/op | 13.920 ms/op | 1.51 |
| altair processInactivityUpdates - 250000 worstcase | 24.350 ms/op | 15.880 ms/op | 1.53 |
| phase0 processRegistryUpdates - 250000 normalcase | 7.5650 us/op | 3.0940 us/op | 2.45 |
| phase0 processRegistryUpdates - 250000 badcase_full_deposits | 339.36 us/op | 285.96 us/op | 1.19 |
| phase0 processRegistryUpdates - 250000 worstcase 0.5 | 118.88 ms/op | 96.831 ms/op | 1.23 |
| altair processRewardsAndPenalties - 250000 normalcase | 31.714 ms/op | 26.314 ms/op | 1.21 |
| altair processRewardsAndPenalties - 250000 worstcase | 32.533 ms/op | 25.177 ms/op | 1.29 |
| phase0 getAttestationDeltas - 250000 normalcase | 8.7312 ms/op | 5.2009 ms/op | 1.68 |
| phase0 getAttestationDeltas - 250000 worstcase | 6.9100 ms/op | 5.0238 ms/op | 1.38 |
| phase0 processSlashings - 250000 worstcase | 144.23 us/op | 81.458 us/op | 1.77 |
| altair processSyncCommitteeUpdates - 250000 | 13.657 ms/op | 9.8594 ms/op | 1.39 |
| BeaconState.hashTreeRoot - No change | 259.00 ns/op | 425.00 ns/op | 0.61 |
| BeaconState.hashTreeRoot - 1 full validator | 111.10 us/op | 84.529 us/op | 1.31 |
| BeaconState.hashTreeRoot - 32 full validator | 1.2868 ms/op | 974.58 us/op | 1.32 |
| BeaconState.hashTreeRoot - 512 full validator | 14.410 ms/op | 11.234 ms/op | 1.28 |
| BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 152.77 us/op | 101.37 us/op | 1.51 |
| BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 1.8348 ms/op | 2.5860 ms/op | 0.71 |
| BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 28.495 ms/op | 30.589 ms/op | 0.93 |
| BeaconState.hashTreeRoot - 1 balances | 111.74 us/op | 80.044 us/op | 1.40 |
| BeaconState.hashTreeRoot - 32 balances | 1.0646 ms/op | 799.13 us/op | 1.33 |
| BeaconState.hashTreeRoot - 512 balances | 10.963 ms/op | 6.2657 ms/op | 1.75 |
| BeaconState.hashTreeRoot - 250000 balances | 232.33 ms/op | 153.80 ms/op | 1.51 |
| aggregationBits - 2048 els - zipIndexesInBitList | 26.868 us/op | 16.806 us/op | 1.60 |
| byteArrayEquals 32 | 58.357 ns/op | 48.164 ns/op | 1.21 |
| Buffer.compare 32 | 19.208 ns/op | 15.503 ns/op | 1.24 |
| byteArrayEquals 1024 | 1.7258 us/op | 1.2724 us/op | 1.36 |
| Buffer.compare 1024 | 28.915 ns/op | 24.484 ns/op | 1.18 |
| byteArrayEquals 16384 | 27.516 us/op | 20.276 us/op | 1.36 |
| Buffer.compare 16384 | 201.74 ns/op | 172.88 ns/op | 1.17 |
| byteArrayEquals 123687377 | 206.96 ms/op | 138.10 ms/op | 1.50 |
| Buffer.compare 123687377 | 9.5391 ms/op | 5.2576 ms/op | 1.81 |
| byteArrayEquals 32 - diff last byte | 59.063 ns/op | 43.215 ns/op | 1.37 |
| Buffer.compare 32 - diff last byte | 19.071 ns/op | 14.480 ns/op | 1.32 |
| byteArrayEquals 1024 - diff last byte | 1.7434 us/op | 1.1532 us/op | 1.51 |
| Buffer.compare 1024 - diff last byte | 28.585 ns/op | 22.037 ns/op | 1.30 |
| byteArrayEquals 16384 - diff last byte | 27.254 us/op | 18.565 us/op | 1.47 |
| Buffer.compare 16384 - diff last byte | 200.94 ns/op | 154.71 ns/op | 1.30 |
| byteArrayEquals 123687377 - diff last byte | 207.74 ms/op | 139.35 ms/op | 1.49 |
| Buffer.compare 123687377 - diff last byte | 10.188 ms/op | 4.8638 ms/op | 2.09 |
| byteArrayEquals 32 - random bytes | 5.6080 ns/op | 4.6650 ns/op | 1.20 |
| Buffer.compare 32 - random bytes | 18.563 ns/op | 14.811 ns/op | 1.25 |
| byteArrayEquals 1024 - random bytes | 5.5890 ns/op | 4.6310 ns/op | 1.21 |
| Buffer.compare 1024 - random bytes | 18.798 ns/op | 15.358 ns/op | 1.22 |
| byteArrayEquals 16384 - random bytes | 5.6520 ns/op | 4.9510 ns/op | 1.14 |
| Buffer.compare 16384 - random bytes | 18.855 ns/op | 15.695 ns/op | 1.20 |
| byteArrayEquals 123687377 - random bytes | 7.7700 ns/op | 7.5700 ns/op | 1.03 |
| Buffer.compare 123687377 - random bytes | 20.410 ns/op | 17.980 ns/op | 1.14 |
| regular array get 100000 times | 37.388 us/op | 31.123 us/op | 1.20 |
| wrappedArray get 100000 times | 36.631 us/op | 31.127 us/op | 1.18 |
| arrayWithProxy get 100000 times | 14.269 ms/op | 10.249 ms/op | 1.39 |
| ssz.Root.equals | 49.977 ns/op | 39.966 ns/op | 1.25 |
| byteArrayEquals | 48.673 ns/op | 41.016 ns/op | 1.19 |
| Buffer.compare | 11.488 ns/op | 8.4550 ns/op | 1.36 |
| processSlot - 1 slots | 13.461 us/op | 10.343 us/op | 1.30 |
| processSlot - 32 slots | 3.4424 ms/op | 2.5914 ms/op | 1.33 |
| getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 4.4705 ms/op | 2.0158 ms/op | 2.22 |
| getCommitteeAssignments - req 1 vs - 250000 vc | 2.3702 ms/op | 1.7298 ms/op | 1.37 |
| getCommitteeAssignments - req 100 vs - 250000 vc | 4.5643 ms/op | 3.3822 ms/op | 1.35 |
| getCommitteeAssignments - req 1000 vs - 250000 vc | 4.7436 ms/op | 3.5951 ms/op | 1.32 |
| findModifiedValidators - 10000 modified validators | 806.57 ms/op | 749.15 ms/op | 1.08 |
| findModifiedValidators - 1000 modified validators | 801.19 ms/op | 659.46 ms/op | 1.21 |
| findModifiedValidators - 100 modified validators | 217.46 ms/op | 190.87 ms/op | 1.14 |
| findModifiedValidators - 10 modified validators | 269.99 ms/op | 118.42 ms/op | 2.28 |
| findModifiedValidators - 1 modified validators | 239.29 ms/op | 132.25 ms/op | 1.81 |
| findModifiedValidators - no difference | 292.39 ms/op | 164.91 ms/op | 1.77 |
| compare ViewDUs | 6.9911 s/op | 6.0472 s/op | 1.16 |
| compare each validator Uint8Array | 1.5577 s/op | 1.1546 s/op | 1.35 |
| compare ViewDU to Uint8Array | 1.2935 s/op | 781.98 ms/op | 1.65 |
| migrate state 1000000 validators, 24 modified, 0 new | 873.99 ms/op | 821.94 ms/op | 1.06 |
| migrate state 1000000 validators, 1700 modified, 1000 new | 1.2046 s/op | 1.1055 s/op | 1.09 |
| migrate state 1000000 validators, 3400 modified, 2000 new | 1.3921 s/op | 1.2082 s/op | 1.15 |
| migrate state 1500000 validators, 24 modified, 0 new | 979.23 ms/op | 867.36 ms/op | 1.13 |
| migrate state 1500000 validators, 1700 modified, 1000 new | 1.2245 s/op | 1.0508 s/op | 1.17 |
| migrate state 1500000 validators, 3400 modified, 2000 new | 1.4477 s/op | 1.3596 s/op | 1.06 |
| RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 4.0200 ns/op | 5.8500 ns/op | 0.69 |
| state getBlockRootAtSlot - 250000 vs - 7PWei | 904.77 ns/op | 508.81 ns/op | 1.78 |
| naive computeProposerIndex 100000 validators | 53.974 ms/op | 45.089 ms/op | 1.20 |
| computeProposerIndex 100000 validators | 1.4975 ms/op | 1.2379 ms/op | 1.21 |
| naiveGetNextSyncCommitteeIndices 1000 validators | 8.0411 s/op | 6.3343 s/op | 1.27 |
| getNextSyncCommitteeIndices 1000 validators | 118.64 ms/op | 101.12 ms/op | 1.17 |
| naiveGetNextSyncCommitteeIndices 10000 validators | 8.2197 s/op | 6.4290 s/op | 1.28 |
| getNextSyncCommitteeIndices 10000 validators | 122.29 ms/op | 95.035 ms/op | 1.29 |
| naiveGetNextSyncCommitteeIndices 100000 validators | 8.3726 s/op | 5.9841 s/op | 1.40 |
| getNextSyncCommitteeIndices 100000 validators | 119.99 ms/op | 97.576 ms/op | 1.23 |
| naive computeShuffledIndex 100000 validators | 28.671 s/op | 18.858 s/op | 1.52 |
| cached computeShuffledIndex 100000 validators | 596.85 ms/op | 458.03 ms/op | 1.30 |
| naive computeShuffledIndex 2000000 validators | 517.75 s/op | 412.39 s/op | 1.26 |
| cached computeShuffledIndex 2000000 validators | 30.908 s/op | 23.157 s/op | 1.33 |
| computeProposers - vc 250000 | 589.75 us/op | 515.57 us/op | 1.14 |
| computeEpochShuffling - vc 250000 | 40.800 ms/op | 37.188 ms/op | 1.10 |
| getNextSyncCommittee - vc 250000 | 10.118 ms/op | 9.2607 ms/op | 1.09 |
| computeSigningRoot for AttestationData | 20.399 us/op | 16.878 us/op | 1.21 |
| hash AttestationData serialized data then Buffer.toString(base64) | 1.5704 us/op | 1.1251 us/op | 1.40 |
| toHexString serialized data | 1.0581 us/op | 914.54 ns/op | 1.16 |
| Buffer.toString(base64) | 150.68 ns/op | 106.94 ns/op | 1.41 |
| nodejs block root to RootHex using toHex | 153.93 ns/op | 114.50 ns/op | 1.34 |
| nodejs block root to RootHex using toRootHex | 91.124 ns/op | 71.060 ns/op | 1.28 |
| nodejs fromHex(blob) | 110.06 us/op | 87.521 us/op | 1.26 |
| nodejs fromHexInto(blob) | 805.16 us/op | 708.56 us/op | 1.14 |
| nodejs block root to RootHex using the deprecated toHexString | 202.72 ns/op | 184.35 ns/op | 1.10 |
| browser block root to RootHex using toHex | 169.38 ns/op | 149.54 ns/op | 1.13 |
| browser block root to RootHex using toRootHex | 161.75 ns/op | 142.76 ns/op | 1.13 |
| browser fromHex(blob) | 768.50 us/op | 670.99 us/op | 1.15 |
| browser fromHexInto(blob) | 799.01 us/op | 704.73 us/op | 1.13 |
| browser block root to RootHex using the deprecated toHexString | 783.73 ns/op | 498.88 ns/op | 1.57 |
by benchmarkbot/action
Enable gloas spec test and skip any non-ssz_static gloas tests.
Also skipping
ForkChoiceNodebecause it is not necessary. See https://discord.com/channels/595666850260713488/874767108809031740/1420966514709889084