-
-
Notifications
You must be signed in to change notification settings - Fork 414
chore: use typescript gc-stats import #8455
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
Conversation
Summary of ChangesHello @wemeetagain, 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 addresses a configuration issue where the Bun runtime was attempting to import a non-existent JavaScript file for 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 updates the package.json to correctly point to the TypeScript source file for the prometheus-gc-stats-wrapper when running under the Bun runtime. This change aligns with the project's existing configuration for Bun-specific paths and resolves an issue where the previously referenced compiled JavaScript file might not exist. The change is correct and improves the development experience with Bun. I have no further comments.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## unstable #8455 +/- ##
============================================
- Coverage 52.22% 52.22% -0.01%
============================================
Files 853 853
Lines 64898 64898
Branches 4765 4763 -2
============================================
- Hits 33893 33890 -3
- Misses 30935 30938 +3
Partials 70 70 🚀 New features to boost your workflow:
|
|
| Benchmark suite | Current: 3d572f3 | Previous: 8b45b1e | Ratio |
|---|---|---|---|
| getSlashingsAndExits - default max | 282.67 us/op | 83.165 us/op | 3.40 |
Full benchmark results
| Benchmark suite | Current: 3d572f3 | Previous: 8b45b1e | Ratio |
|---|---|---|---|
| getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 2.2284 ms/op | 1.2754 ms/op | 1.75 |
| getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 60.227 us/op | 38.569 us/op | 1.56 |
| BLS verify - blst | 1.1283 ms/op | 988.99 us/op | 1.14 |
| BLS verifyMultipleSignatures 3 - blst | 1.7559 ms/op | 1.3210 ms/op | 1.33 |
| BLS verifyMultipleSignatures 8 - blst | 3.0288 ms/op | 1.9808 ms/op | 1.53 |
| BLS verifyMultipleSignatures 32 - blst | 7.1611 ms/op | 5.0284 ms/op | 1.42 |
| BLS verifyMultipleSignatures 64 - blst | 15.134 ms/op | 9.4093 ms/op | 1.61 |
| BLS verifyMultipleSignatures 128 - blst | 23.893 ms/op | 18.846 ms/op | 1.27 |
| BLS deserializing 10000 signatures | 873.36 ms/op | 783.58 ms/op | 1.11 |
| BLS deserializing 100000 signatures | 8.9339 s/op | 7.2816 s/op | 1.23 |
| BLS verifyMultipleSignatures - same message - 3 - blst | 1.2809 ms/op | 1.0094 ms/op | 1.27 |
| BLS verifyMultipleSignatures - same message - 8 - blst | 1.4819 ms/op | 1.1626 ms/op | 1.27 |
| BLS verifyMultipleSignatures - same message - 32 - blst | 2.3458 ms/op | 1.9550 ms/op | 1.20 |
| BLS verifyMultipleSignatures - same message - 64 - blst | 3.5865 ms/op | 2.7635 ms/op | 1.30 |
| BLS verifyMultipleSignatures - same message - 128 - blst | 5.3152 ms/op | 4.7395 ms/op | 1.12 |
| BLS aggregatePubkeys 32 - blst | 22.410 us/op | 20.864 us/op | 1.07 |
| BLS aggregatePubkeys 128 - blst | 87.588 us/op | 74.088 us/op | 1.18 |
| notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 97.006 ms/op | 68.256 ms/op | 1.42 |
| notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 123.35 ms/op | 58.741 ms/op | 2.10 |
| notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 58.480 ms/op | 39.072 ms/op | 1.50 |
| getSlashingsAndExits - default max | 282.67 us/op | 83.165 us/op | 3.40 |
| getSlashingsAndExits - 2k | 584.24 us/op | 426.44 us/op | 1.37 |
| isKnown best case - 1 super set check | 312.00 ns/op | 232.00 ns/op | 1.34 |
| isKnown normal case - 2 super set checks | 325.00 ns/op | 221.00 ns/op | 1.47 |
| isKnown worse case - 16 super set checks | 240.00 ns/op | 212.00 ns/op | 1.13 |
| InMemoryCheckpointStateCache - add get delete | 3.4730 us/op | 2.4320 us/op | 1.43 |
| validate api signedAggregateAndProof - struct | 1.9748 ms/op | 1.7339 ms/op | 1.14 |
| validate gossip signedAggregateAndProof - struct | 2.0271 ms/op | 1.6878 ms/op | 1.20 |
| batch validate gossip attestation - vc 640000 - chunk 32 | 178.04 us/op | 121.88 us/op | 1.46 |
| batch validate gossip attestation - vc 640000 - chunk 64 | 148.37 us/op | 109.37 us/op | 1.36 |
| batch validate gossip attestation - vc 640000 - chunk 128 | 134.89 us/op | 101.49 us/op | 1.33 |
| batch validate gossip attestation - vc 640000 - chunk 256 | 125.17 us/op | 100.39 us/op | 1.25 |
| pickEth1Vote - no votes | 1.6169 ms/op | 973.48 us/op | 1.66 |
| pickEth1Vote - max votes | 15.027 ms/op | 5.6122 ms/op | 2.68 |
| pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 21.959 ms/op | 10.513 ms/op | 2.09 |
| pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 27.855 ms/op | 14.318 ms/op | 1.95 |
| pickEth1Vote - Eth1Data fastSerialize value x2048 | 555.02 us/op | 437.96 us/op | 1.27 |
| pickEth1Vote - Eth1Data fastSerialize tree x2048 | 3.1933 ms/op | 2.0954 ms/op | 1.52 |
| bytes32 toHexString | 584.00 ns/op | 358.00 ns/op | 1.63 |
| bytes32 Buffer.toString(hex) | 361.00 ns/op | 239.00 ns/op | 1.51 |
| bytes32 Buffer.toString(hex) from Uint8Array | 511.00 ns/op | 348.00 ns/op | 1.47 |
| bytes32 Buffer.toString(hex) + 0x | 431.00 ns/op | 238.00 ns/op | 1.81 |
| Object access 1 prop | 0.17600 ns/op | 0.11700 ns/op | 1.50 |
| Map access 1 prop | 0.18500 ns/op | 0.12300 ns/op | 1.50 |
| Object get x1000 | 6.3570 ns/op | 5.7440 ns/op | 1.11 |
| Map get x1000 | 6.9350 ns/op | 6.4360 ns/op | 1.08 |
| Object set x1000 | 44.517 ns/op | 28.653 ns/op | 1.55 |
| Map set x1000 | 29.388 ns/op | 19.712 ns/op | 1.49 |
| Return object 10000 times | 0.33190 ns/op | 0.28900 ns/op | 1.15 |
| Throw Error 10000 times | 5.3247 us/op | 4.4232 us/op | 1.20 |
| toHex | 158.74 ns/op | 138.78 ns/op | 1.14 |
| Buffer.from | 135.11 ns/op | 132.40 ns/op | 1.02 |
| shared Buffer | 89.734 ns/op | 82.987 ns/op | 1.08 |
| fastMsgIdFn sha256 / 200 bytes | 2.3810 us/op | 2.1880 us/op | 1.09 |
| fastMsgIdFn h32 xxhash / 200 bytes | 226.00 ns/op | 204.00 ns/op | 1.11 |
| fastMsgIdFn h64 xxhash / 200 bytes | 363.00 ns/op | 264.00 ns/op | 1.38 |
| fastMsgIdFn sha256 / 1000 bytes | 8.6520 us/op | 7.4510 us/op | 1.16 |
| fastMsgIdFn h32 xxhash / 1000 bytes | 359.00 ns/op | 335.00 ns/op | 1.07 |
| fastMsgIdFn h64 xxhash / 1000 bytes | 368.00 ns/op | 333.00 ns/op | 1.11 |
| fastMsgIdFn sha256 / 10000 bytes | 75.499 us/op | 64.418 us/op | 1.17 |
| fastMsgIdFn h32 xxhash / 10000 bytes | 2.3330 us/op | 1.8410 us/op | 1.27 |
| fastMsgIdFn h64 xxhash / 10000 bytes | 1.3720 us/op | 1.2240 us/op | 1.12 |
| send data - 1000 256B messages | 21.777 ms/op | 16.476 ms/op | 1.32 |
| send data - 1000 512B messages | 25.922 ms/op | 21.500 ms/op | 1.21 |
| send data - 1000 1024B messages | 37.260 ms/op | 27.899 ms/op | 1.34 |
| send data - 1000 1200B messages | 32.961 ms/op | 24.696 ms/op | 1.33 |
| send data - 1000 2048B messages | 34.310 ms/op | 23.812 ms/op | 1.44 |
| send data - 1000 4096B messages | 38.424 ms/op | 28.014 ms/op | 1.37 |
| send data - 1000 16384B messages | 58.561 ms/op | 43.571 ms/op | 1.34 |
| send data - 1000 65536B messages | 157.64 ms/op | 116.80 ms/op | 1.35 |
| enrSubnets - fastDeserialize 64 bits | 1.2720 us/op | 897.00 ns/op | 1.42 |
| enrSubnets - ssz BitVector 64 bits | 412.00 ns/op | 324.00 ns/op | 1.27 |
| enrSubnets - fastDeserialize 4 bits | 202.00 ns/op | 124.00 ns/op | 1.63 |
| enrSubnets - ssz BitVector 4 bits | 401.00 ns/op | 324.00 ns/op | 1.24 |
| prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 417.87 us/op | 274.68 us/op | 1.52 |
| prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 441.12 us/op | 264.86 us/op | 1.67 |
| prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 559.72 us/op | 401.44 us/op | 1.39 |
| prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 893.87 us/op | 713.67 us/op | 1.25 |
| prioritizePeers score 0:0 att 64-1 sync 4-1 | 1.2995 ms/op | 885.06 us/op | 1.47 |
| array of 16000 items push then shift | 1.7106 us/op | 1.6269 us/op | 1.05 |
| LinkedList of 16000 items push then shift | 10.694 ns/op | 7.9840 ns/op | 1.34 |
| array of 16000 items push then pop | 101.49 ns/op | 81.971 ns/op | 1.24 |
| LinkedList of 16000 items push then pop | 9.6360 ns/op | 7.8660 ns/op | 1.23 |
| array of 24000 items push then shift | 2.6693 us/op | 2.4137 us/op | 1.11 |
| LinkedList of 24000 items push then shift | 11.141 ns/op | 8.1140 ns/op | 1.37 |
| array of 24000 items push then pop | 139.59 ns/op | 127.47 ns/op | 1.10 |
| LinkedList of 24000 items push then pop | 8.7610 ns/op | 7.7980 ns/op | 1.12 |
| intersect bitArray bitLen 8 | 6.8880 ns/op | 6.5820 ns/op | 1.05 |
| intersect array and set length 8 | 57.103 ns/op | 39.048 ns/op | 1.46 |
| intersect bitArray bitLen 128 | 32.237 ns/op | 29.908 ns/op | 1.08 |
| intersect array and set length 128 | 872.07 ns/op | 651.47 ns/op | 1.34 |
| bitArray.getTrueBitIndexes() bitLen 128 | 1.2360 us/op | 1.0170 us/op | 1.22 |
| bitArray.getTrueBitIndexes() bitLen 248 | 2.1230 us/op | 1.7970 us/op | 1.18 |
| bitArray.getTrueBitIndexes() bitLen 512 | 4.1620 us/op | 3.7000 us/op | 1.12 |
| Buffer.concat 32 items | 768.00 ns/op | 711.00 ns/op | 1.08 |
| Uint8Array.set 32 items | 1.7890 us/op | 919.00 ns/op | 1.95 |
| Buffer.copy | 2.4130 us/op | 2.1050 us/op | 1.15 |
| Uint8Array.set - with subarray | 2.5210 us/op | 1.5420 us/op | 1.63 |
| Uint8Array.set - without subarray | 1.5560 us/op | 877.00 ns/op | 1.77 |
| getUint32 - dataview | 223.00 ns/op | 197.00 ns/op | 1.13 |
| getUint32 - manual | 141.00 ns/op | 122.00 ns/op | 1.16 |
| Set add up to 64 items then delete first | 3.8313 us/op | 2.2678 us/op | 1.69 |
| OrderedSet add up to 64 items then delete first | 6.0896 us/op | 3.4652 us/op | 1.76 |
| Set add up to 64 items then delete last | 2.5542 us/op | 2.6370 us/op | 0.97 |
| OrderedSet add up to 64 items then delete last | 6.6886 us/op | 4.3067 us/op | 1.55 |
| Set add up to 64 items then delete middle | 3.8997 us/op | 2.6204 us/op | 1.49 |
| OrderedSet add up to 64 items then delete middle | 8.5524 us/op | 5.9461 us/op | 1.44 |
| Set add up to 128 items then delete first | 8.3012 us/op | 5.4200 us/op | 1.53 |
| OrderedSet add up to 128 items then delete first | 13.577 us/op | 7.7515 us/op | 1.75 |
| Set add up to 128 items then delete last | 8.3919 us/op | 5.2029 us/op | 1.61 |
| OrderedSet add up to 128 items then delete last | 13.834 us/op | 8.0272 us/op | 1.72 |
| Set add up to 128 items then delete middle | 8.4915 us/op | 5.8952 us/op | 1.44 |
| OrderedSet add up to 128 items then delete middle | 21.411 us/op | 15.153 us/op | 1.41 |
| Set add up to 256 items then delete first | 16.508 us/op | 11.657 us/op | 1.42 |
| OrderedSet add up to 256 items then delete first | 28.001 us/op | 18.827 us/op | 1.49 |
| Set add up to 256 items then delete last | 16.557 us/op | 13.053 us/op | 1.27 |
| OrderedSet add up to 256 items then delete last | 27.025 us/op | 21.970 us/op | 1.23 |
| Set add up to 256 items then delete middle | 16.766 us/op | 13.481 us/op | 1.24 |
| OrderedSet add up to 256 items then delete middle | 60.680 us/op | 45.765 us/op | 1.33 |
| transfer serialized Status (84 B) | 3.0890 us/op | 2.2740 us/op | 1.36 |
| copy serialized Status (84 B) | 1.3190 us/op | 1.2060 us/op | 1.09 |
| transfer serialized SignedVoluntaryExit (112 B) | 2.4470 us/op | 2.2720 us/op | 1.08 |
| copy serialized SignedVoluntaryExit (112 B) | 1.3580 us/op | 1.2010 us/op | 1.13 |
| transfer serialized ProposerSlashing (416 B) | 3.5030 us/op | 2.2920 us/op | 1.53 |
| copy serialized ProposerSlashing (416 B) | 2.0710 us/op | 1.5960 us/op | 1.30 |
| transfer serialized Attestation (485 B) | 4.0560 us/op | 3.1960 us/op | 1.27 |
| copy serialized Attestation (485 B) | 1.9960 us/op | 1.7610 us/op | 1.13 |
| transfer serialized AttesterSlashing (33232 B) | 3.5900 us/op | 3.0190 us/op | 1.19 |
| copy serialized AttesterSlashing (33232 B) | 7.3710 us/op | 4.9710 us/op | 1.48 |
| transfer serialized Small SignedBeaconBlock (128000 B) | 4.0630 us/op | 3.8850 us/op | 1.05 |
| copy serialized Small SignedBeaconBlock (128000 B) | 19.413 us/op | 13.080 us/op | 1.48 |
| transfer serialized Avg SignedBeaconBlock (200000 B) | 5.8300 us/op | 4.1070 us/op | 1.42 |
| copy serialized Avg SignedBeaconBlock (200000 B) | 28.258 us/op | 14.150 us/op | 2.00 |
| transfer serialized BlobsSidecar (524380 B) | 6.8860 us/op | 3.8860 us/op | 1.77 |
| copy serialized BlobsSidecar (524380 B) | 97.065 us/op | 116.29 us/op | 0.83 |
| transfer serialized Big SignedBeaconBlock (1000000 B) | 7.9600 us/op | 4.1830 us/op | 1.90 |
| copy serialized Big SignedBeaconBlock (1000000 B) | 180.07 us/op | 325.86 us/op | 0.55 |
| pass gossip attestations to forkchoice per slot | 3.5830 ms/op | 2.8909 ms/op | 1.24 |
| forkChoice updateHead vc 100000 bc 64 eq 0 | 512.18 us/op | 451.75 us/op | 1.13 |
| forkChoice updateHead vc 600000 bc 64 eq 0 | 5.0295 ms/op | 3.0330 ms/op | 1.66 |
| forkChoice updateHead vc 1000000 bc 64 eq 0 | 8.1963 ms/op | 4.7678 ms/op | 1.72 |
| forkChoice updateHead vc 600000 bc 320 eq 0 | 4.2055 ms/op | 3.1306 ms/op | 1.34 |
| forkChoice updateHead vc 600000 bc 1200 eq 0 | 4.7974 ms/op | 2.9917 ms/op | 1.60 |
| forkChoice updateHead vc 600000 bc 7200 eq 0 | 6.8736 ms/op | 3.1951 ms/op | 2.15 |
| forkChoice updateHead vc 600000 bc 64 eq 1000 | 11.306 ms/op | 10.784 ms/op | 1.05 |
| forkChoice updateHead vc 600000 bc 64 eq 10000 | 11.408 ms/op | 11.539 ms/op | 0.99 |
| forkChoice updateHead vc 600000 bc 64 eq 300000 | 31.267 ms/op | 15.220 ms/op | 2.05 |
| computeDeltas 500000 validators 300 proto nodes | 5.5823 ms/op | 4.0630 ms/op | 1.37 |
| computeDeltas 500000 validators 1200 proto nodes | 5.7946 ms/op | 4.1195 ms/op | 1.41 |
| computeDeltas 500000 validators 7200 proto nodes | 5.9523 ms/op | 4.0644 ms/op | 1.46 |
| computeDeltas 750000 validators 300 proto nodes | 9.5631 ms/op | 6.2867 ms/op | 1.52 |
| computeDeltas 750000 validators 1200 proto nodes | 9.3884 ms/op | 6.1840 ms/op | 1.52 |
| computeDeltas 750000 validators 7200 proto nodes | 9.0009 ms/op | 5.8716 ms/op | 1.53 |
| computeDeltas 1400000 validators 300 proto nodes | 17.470 ms/op | 11.544 ms/op | 1.51 |
| computeDeltas 1400000 validators 1200 proto nodes | 15.467 ms/op | 11.371 ms/op | 1.36 |
| computeDeltas 1400000 validators 7200 proto nodes | 17.747 ms/op | 11.521 ms/op | 1.54 |
| computeDeltas 2100000 validators 300 proto nodes | 25.433 ms/op | 17.658 ms/op | 1.44 |
| computeDeltas 2100000 validators 1200 proto nodes | 19.005 ms/op | 17.189 ms/op | 1.11 |
| computeDeltas 2100000 validators 7200 proto nodes | 16.630 ms/op | 19.175 ms/op | 0.87 |
| altair processAttestation - 250000 vs - 7PWei normalcase | 2.3919 ms/op | 3.8882 ms/op | 0.62 |
| altair processAttestation - 250000 vs - 7PWei worstcase | 3.0210 ms/op | 4.6609 ms/op | 0.65 |
| altair processAttestation - setStatus - 1/6 committees join | 123.77 us/op | 163.06 us/op | 0.76 |
| altair processAttestation - setStatus - 1/3 committees join | 263.39 us/op | 273.70 us/op | 0.96 |
| altair processAttestation - setStatus - 1/2 committees join | 355.78 us/op | 373.31 us/op | 0.95 |
| altair processAttestation - setStatus - 2/3 committees join | 450.12 us/op | 465.23 us/op | 0.97 |
| altair processAttestation - setStatus - 4/5 committees join | 624.46 us/op | 646.22 us/op | 0.97 |
| altair processAttestation - setStatus - 100% committees join | 747.66 us/op | 738.98 us/op | 1.01 |
| altair processBlock - 250000 vs - 7PWei normalcase | 5.5082 ms/op | 4.5214 ms/op | 1.22 |
| altair processBlock - 250000 vs - 7PWei normalcase hashState | 32.185 ms/op | 33.564 ms/op | 0.96 |
| altair processBlock - 250000 vs - 7PWei worstcase | 40.633 ms/op | 37.583 ms/op | 1.08 |
| altair processBlock - 250000 vs - 7PWei worstcase hashState | 70.553 ms/op | 76.551 ms/op | 0.92 |
| phase0 processBlock - 250000 vs - 7PWei normalcase | 2.1928 ms/op | 1.6311 ms/op | 1.34 |
| phase0 processBlock - 250000 vs - 7PWei worstcase | 28.827 ms/op | 22.316 ms/op | 1.29 |
| altair processEth1Data - 250000 vs - 7PWei normalcase | 354.26 us/op | 347.12 us/op | 1.02 |
| getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 9.6930 us/op | 6.4050 us/op | 1.51 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 48.105 us/op | 41.114 us/op | 1.17 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 14.592 us/op | 11.326 us/op | 1.29 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 10.531 us/op | 7.3440 us/op | 1.43 |
| getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 215.66 us/op | 167.45 us/op | 1.29 |
| getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 1.9382 ms/op | 1.8569 ms/op | 1.04 |
| getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 2.4461 ms/op | 2.4003 ms/op | 1.02 |
| getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 2.4000 ms/op | 2.5262 ms/op | 0.95 |
| getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 5.0672 ms/op | 4.9110 ms/op | 1.03 |
| getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 2.5692 ms/op | 2.4325 ms/op | 1.06 |
| getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 5.4322 ms/op | 5.2210 ms/op | 1.04 |
| Tree 40 250000 create | 624.45 ms/op | 472.13 ms/op | 1.32 |
| Tree 40 250000 get(125000) | 148.87 ns/op | 145.21 ns/op | 1.03 |
| Tree 40 250000 set(125000) | 1.7870 us/op | 1.5430 us/op | 1.16 |
| Tree 40 250000 toArray() | 19.986 ms/op | 18.631 ms/op | 1.07 |
| Tree 40 250000 iterate all - toArray() + loop | 24.691 ms/op | 19.595 ms/op | 1.26 |
| Tree 40 250000 iterate all - get(i) | 58.444 ms/op | 59.043 ms/op | 0.99 |
| Array 250000 create | 2.6960 ms/op | 2.9869 ms/op | 0.90 |
| Array 250000 clone - spread | 1.5433 ms/op | 1.8773 ms/op | 0.82 |
| Array 250000 get(125000) | 0.42400 ns/op | 0.41800 ns/op | 1.01 |
| Array 250000 set(125000) | 0.51100 ns/op | 0.44000 ns/op | 1.16 |
| Array 250000 iterate all - loop | 91.660 us/op | 83.169 us/op | 1.10 |
| phase0 afterProcessEpoch - 250000 vs - 7PWei | 42.191 ms/op | 41.548 ms/op | 1.02 |
| Array.fill - length 1000000 | 4.0271 ms/op | 4.1441 ms/op | 0.97 |
| Array push - length 1000000 | 18.880 ms/op | 14.179 ms/op | 1.33 |
| Array.get | 0.29723 ns/op | 0.29051 ns/op | 1.02 |
| Uint8Array.get | 0.47855 ns/op | 0.45842 ns/op | 1.04 |
| phase0 beforeProcessEpoch - 250000 vs - 7PWei | 20.813 ms/op | 18.318 ms/op | 1.14 |
| altair processEpoch - mainnet_e81889 | 310.53 ms/op | 308.26 ms/op | 1.01 |
| mainnet_e81889 - altair beforeProcessEpoch | 19.546 ms/op | 19.988 ms/op | 0.98 |
| mainnet_e81889 - altair processJustificationAndFinalization | 6.2820 us/op | 5.7300 us/op | 1.10 |
| mainnet_e81889 - altair processInactivityUpdates | 4.6741 ms/op | 5.1406 ms/op | 0.91 |
| mainnet_e81889 - altair processRewardsAndPenalties | 41.138 ms/op | 42.608 ms/op | 0.97 |
| mainnet_e81889 - altair processRegistryUpdates | 745.00 ns/op | 726.00 ns/op | 1.03 |
| mainnet_e81889 - altair processSlashings | 199.00 ns/op | 185.00 ns/op | 1.08 |
| mainnet_e81889 - altair processEth1DataReset | 192.00 ns/op | 172.00 ns/op | 1.12 |
| mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.1945 ms/op | 1.2204 ms/op | 0.98 |
| mainnet_e81889 - altair processSlashingsReset | 922.00 ns/op | 873.00 ns/op | 1.06 |
| mainnet_e81889 - altair processRandaoMixesReset | 1.2800 us/op | 1.1530 us/op | 1.11 |
| mainnet_e81889 - altair processHistoricalRootsUpdate | 180.00 ns/op | 181.00 ns/op | 0.99 |
| mainnet_e81889 - altair processParticipationFlagUpdates | 585.00 ns/op | 520.00 ns/op | 1.13 |
| mainnet_e81889 - altair processSyncCommitteeUpdates | 149.00 ns/op | 141.00 ns/op | 1.06 |
| mainnet_e81889 - altair afterProcessEpoch | 44.565 ms/op | 44.907 ms/op | 0.99 |
| capella processEpoch - mainnet_e217614 | 964.02 ms/op | 893.60 ms/op | 1.08 |
| mainnet_e217614 - capella beforeProcessEpoch | 70.788 ms/op | 60.333 ms/op | 1.17 |
| mainnet_e217614 - capella processJustificationAndFinalization | 5.6940 us/op | 5.3960 us/op | 1.06 |
| mainnet_e217614 - capella processInactivityUpdates | 15.784 ms/op | 14.258 ms/op | 1.11 |
| mainnet_e217614 - capella processRewardsAndPenalties | 206.39 ms/op | 181.38 ms/op | 1.14 |
| mainnet_e217614 - capella processRegistryUpdates | 7.4970 us/op | 6.5030 us/op | 1.15 |
| mainnet_e217614 - capella processSlashings | 249.00 ns/op | 176.00 ns/op | 1.41 |
| mainnet_e217614 - capella processEth1DataReset | 187.00 ns/op | 215.00 ns/op | 0.87 |
| mainnet_e217614 - capella processEffectiveBalanceUpdates | 4.2662 ms/op | 4.2088 ms/op | 1.01 |
| mainnet_e217614 - capella processSlashingsReset | 1.0840 us/op | 881.00 ns/op | 1.23 |
| mainnet_e217614 - capella processRandaoMixesReset | 1.2370 us/op | 1.1780 us/op | 1.05 |
| mainnet_e217614 - capella processHistoricalRootsUpdate | 194.00 ns/op | 173.00 ns/op | 1.12 |
| mainnet_e217614 - capella processParticipationFlagUpdates | 686.00 ns/op | 507.00 ns/op | 1.35 |
| mainnet_e217614 - capella afterProcessEpoch | 128.53 ms/op | 124.81 ms/op | 1.03 |
| phase0 processEpoch - mainnet_e58758 | 314.39 ms/op | 307.56 ms/op | 1.02 |
| mainnet_e58758 - phase0 beforeProcessEpoch | 95.590 ms/op | 74.734 ms/op | 1.28 |
| mainnet_e58758 - phase0 processJustificationAndFinalization | 6.7680 us/op | 5.4740 us/op | 1.24 |
| mainnet_e58758 - phase0 processRewardsAndPenalties | 49.061 ms/op | 37.612 ms/op | 1.30 |
| mainnet_e58758 - phase0 processRegistryUpdates | 3.7100 us/op | 3.1550 us/op | 1.18 |
| mainnet_e58758 - phase0 processSlashings | 212.00 ns/op | 175.00 ns/op | 1.21 |
| mainnet_e58758 - phase0 processEth1DataReset | 223.00 ns/op | 168.00 ns/op | 1.33 |
| mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 2.7859 ms/op | 1.1820 ms/op | 2.36 |
| mainnet_e58758 - phase0 processSlashingsReset | 1.1250 us/op | 968.00 ns/op | 1.16 |
| mainnet_e58758 - phase0 processRandaoMixesReset | 1.4490 us/op | 1.1910 us/op | 1.22 |
| mainnet_e58758 - phase0 processHistoricalRootsUpdate | 192.00 ns/op | 177.00 ns/op | 1.08 |
| mainnet_e58758 - phase0 processParticipationRecordUpdates | 1.0570 us/op | 906.00 ns/op | 1.17 |
| mainnet_e58758 - phase0 afterProcessEpoch | 39.255 ms/op | 35.635 ms/op | 1.10 |
| phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.7278 ms/op | 1.3149 ms/op | 1.31 |
| phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 3.1892 ms/op | 1.9465 ms/op | 1.64 |
| altair processInactivityUpdates - 250000 normalcase | 21.919 ms/op | 17.312 ms/op | 1.27 |
| altair processInactivityUpdates - 250000 worstcase | 22.397 ms/op | 17.759 ms/op | 1.26 |
| phase0 processRegistryUpdates - 250000 normalcase | 7.5730 us/op | 6.8300 us/op | 1.11 |
| phase0 processRegistryUpdates - 250000 badcase_full_deposits | 348.80 us/op | 263.46 us/op | 1.32 |
| phase0 processRegistryUpdates - 250000 worstcase 0.5 | 125.83 ms/op | 103.46 ms/op | 1.22 |
| altair processRewardsAndPenalties - 250000 normalcase | 32.349 ms/op | 28.745 ms/op | 1.13 |
| altair processRewardsAndPenalties - 250000 worstcase | 32.274 ms/op | 27.358 ms/op | 1.18 |
| phase0 getAttestationDeltas - 250000 normalcase | 9.6785 ms/op | 6.6684 ms/op | 1.45 |
| phase0 getAttestationDeltas - 250000 worstcase | 8.4314 ms/op | 5.9843 ms/op | 1.41 |
| phase0 processSlashings - 250000 worstcase | 122.71 us/op | 92.413 us/op | 1.33 |
| altair processSyncCommitteeUpdates - 250000 | 13.162 ms/op | 11.013 ms/op | 1.20 |
| BeaconState.hashTreeRoot - No change | 241.00 ns/op | 210.00 ns/op | 1.15 |
| BeaconState.hashTreeRoot - 1 full validator | 82.530 us/op | 72.637 us/op | 1.14 |
| BeaconState.hashTreeRoot - 32 full validator | 843.73 us/op | 863.92 us/op | 0.98 |
| BeaconState.hashTreeRoot - 512 full validator | 11.483 ms/op | 9.9298 ms/op | 1.16 |
| BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 106.45 us/op | 89.102 us/op | 1.19 |
| BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 1.4357 ms/op | 1.5244 ms/op | 0.94 |
| BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 27.409 ms/op | 24.472 ms/op | 1.12 |
| BeaconState.hashTreeRoot - 1 balances | 81.718 us/op | 88.950 us/op | 0.92 |
| BeaconState.hashTreeRoot - 32 balances | 681.70 us/op | 1.0535 ms/op | 0.65 |
| BeaconState.hashTreeRoot - 512 balances | 7.5077 ms/op | 9.1762 ms/op | 0.82 |
| BeaconState.hashTreeRoot - 250000 balances | 163.18 ms/op | 179.15 ms/op | 0.91 |
| aggregationBits - 2048 els - zipIndexesInBitList | 21.765 us/op | 21.799 us/op | 1.00 |
| byteArrayEquals 32 | 54.155 ns/op | 53.145 ns/op | 1.02 |
| Buffer.compare 32 | 17.462 ns/op | 16.996 ns/op | 1.03 |
| byteArrayEquals 1024 | 1.5954 us/op | 1.5773 us/op | 1.01 |
| Buffer.compare 1024 | 25.856 ns/op | 24.642 ns/op | 1.05 |
| byteArrayEquals 16384 | 25.469 us/op | 25.169 us/op | 1.01 |
| Buffer.compare 16384 | 201.52 ns/op | 195.11 ns/op | 1.03 |
| byteArrayEquals 123687377 | 192.87 ms/op | 187.56 ms/op | 1.03 |
| Buffer.compare 123687377 | 7.1260 ms/op | 7.1613 ms/op | 1.00 |
| byteArrayEquals 32 - diff last byte | 52.584 ns/op | 51.414 ns/op | 1.02 |
| Buffer.compare 32 - diff last byte | 17.024 ns/op | 16.740 ns/op | 1.02 |
| byteArrayEquals 1024 - diff last byte | 1.5904 us/op | 1.5542 us/op | 1.02 |
| Buffer.compare 1024 - diff last byte | 24.947 ns/op | 24.469 ns/op | 1.02 |
| byteArrayEquals 16384 - diff last byte | 25.386 us/op | 24.771 us/op | 1.02 |
| Buffer.compare 16384 - diff last byte | 192.33 ns/op | 181.71 ns/op | 1.06 |
| byteArrayEquals 123687377 - diff last byte | 193.09 ms/op | 189.21 ms/op | 1.02 |
| Buffer.compare 123687377 - diff last byte | 8.8883 ms/op | 7.3215 ms/op | 1.21 |
| byteArrayEquals 32 - random bytes | 5.5270 ns/op | 5.0990 ns/op | 1.08 |
| Buffer.compare 32 - random bytes | 18.676 ns/op | 17.044 ns/op | 1.10 |
| byteArrayEquals 1024 - random bytes | 5.5670 ns/op | 5.0970 ns/op | 1.09 |
| Buffer.compare 1024 - random bytes | 18.061 ns/op | 17.074 ns/op | 1.06 |
| byteArrayEquals 16384 - random bytes | 5.3610 ns/op | 5.0740 ns/op | 1.06 |
| Buffer.compare 16384 - random bytes | 18.262 ns/op | 17.269 ns/op | 1.06 |
| byteArrayEquals 123687377 - random bytes | 6.6800 ns/op | 6.4200 ns/op | 1.04 |
| Buffer.compare 123687377 - random bytes | 20.500 ns/op | 18.480 ns/op | 1.11 |
| regular array get 100000 times | 36.088 us/op | 37.636 us/op | 0.96 |
| wrappedArray get 100000 times | 44.805 us/op | 40.500 us/op | 1.11 |
| arrayWithProxy get 100000 times | 12.967 ms/op | 12.903 ms/op | 1.00 |
| ssz.Root.equals | 47.478 ns/op | 46.390 ns/op | 1.02 |
| byteArrayEquals | 47.153 ns/op | 45.499 ns/op | 1.04 |
| Buffer.compare | 10.955 ns/op | 10.433 ns/op | 1.05 |
| processSlot - 1 slots | 10.784 us/op | 10.100 us/op | 1.07 |
| processSlot - 32 slots | 3.0080 ms/op | 2.1054 ms/op | 1.43 |
| getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 3.9545 ms/op | 3.0017 ms/op | 1.32 |
| getCommitteeAssignments - req 1 vs - 250000 vc | 2.3708 ms/op | 2.1421 ms/op | 1.11 |
| getCommitteeAssignments - req 100 vs - 250000 vc | 4.4533 ms/op | 4.1538 ms/op | 1.07 |
| getCommitteeAssignments - req 1000 vs - 250000 vc | 4.7382 ms/op | 4.5169 ms/op | 1.05 |
| findModifiedValidators - 10000 modified validators | 773.96 ms/op | 763.84 ms/op | 1.01 |
| findModifiedValidators - 1000 modified validators | 850.16 ms/op | 707.53 ms/op | 1.20 |
| findModifiedValidators - 100 modified validators | 358.63 ms/op | 252.69 ms/op | 1.42 |
| findModifiedValidators - 10 modified validators | 239.04 ms/op | 146.35 ms/op | 1.63 |
| findModifiedValidators - 1 modified validators | 224.63 ms/op | 202.03 ms/op | 1.11 |
| findModifiedValidators - no difference | 202.87 ms/op | 188.24 ms/op | 1.08 |
| compare ViewDUs | 7.7879 s/op | 6.5202 s/op | 1.19 |
| compare each validator Uint8Array | 1.7855 s/op | 1.6578 s/op | 1.08 |
| compare ViewDU to Uint8Array | 1.6024 s/op | 1.7945 s/op | 0.89 |
| migrate state 1000000 validators, 24 modified, 0 new | 1.0354 s/op | 812.37 ms/op | 1.27 |
| migrate state 1000000 validators, 1700 modified, 1000 new | 1.6242 s/op | 1.1466 s/op | 1.42 |
| migrate state 1000000 validators, 3400 modified, 2000 new | 1.6519 s/op | 1.3045 s/op | 1.27 |
| migrate state 1500000 validators, 24 modified, 0 new | 1.1304 s/op | 994.46 ms/op | 1.14 |
| migrate state 1500000 validators, 1700 modified, 1000 new | 1.3704 s/op | 1.2375 s/op | 1.11 |
| migrate state 1500000 validators, 3400 modified, 2000 new | 1.4195 s/op | 1.4852 s/op | 0.96 |
| RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 4.6000 ns/op | 4.3500 ns/op | 1.06 |
| state getBlockRootAtSlot - 250000 vs - 7PWei | 736.00 ns/op | 479.34 ns/op | 1.54 |
| naive computeProposerIndex 100000 validators | 62.378 ms/op | 60.839 ms/op | 1.03 |
| computeProposerIndex 100000 validators | 1.5790 ms/op | 1.6966 ms/op | 0.93 |
| naiveGetNextSyncCommitteeIndices 1000 validators | 9.2306 s/op | 7.7649 s/op | 1.19 |
| getNextSyncCommitteeIndices 1000 validators | 150.48 ms/op | 115.53 ms/op | 1.30 |
| naiveGetNextSyncCommitteeIndices 10000 validators | 8.8909 s/op | 8.2021 s/op | 1.08 |
| getNextSyncCommitteeIndices 10000 validators | 146.79 ms/op | 113.21 ms/op | 1.30 |
| naiveGetNextSyncCommitteeIndices 100000 validators | 8.6989 s/op | 8.7595 s/op | 0.99 |
| getNextSyncCommitteeIndices 100000 validators | 124.39 ms/op | 123.27 ms/op | 1.01 |
| naive computeShuffledIndex 100000 validators | 25.848 s/op | 35.196 s/op | 0.73 |
| cached computeShuffledIndex 100000 validators | 588.42 ms/op | 631.66 ms/op | 0.93 |
| naive computeShuffledIndex 2000000 validators | 550.38 s/op | 598.38 s/op | 0.92 |
| cached computeShuffledIndex 2000000 validators | 64.532 s/op | 47.235 s/op | 1.37 |
| computeProposers - vc 250000 | 734.50 us/op | 633.63 us/op | 1.16 |
| computeEpochShuffling - vc 250000 | 47.533 ms/op | 42.467 ms/op | 1.12 |
| getNextSyncCommittee - vc 250000 | 11.815 ms/op | 10.785 ms/op | 1.10 |
| computeSigningRoot for AttestationData | 48.147 us/op | 29.986 us/op | 1.61 |
| hash AttestationData serialized data then Buffer.toString(base64) | 1.7642 us/op | 1.6478 us/op | 1.07 |
| toHexString serialized data | 1.8328 us/op | 1.3457 us/op | 1.36 |
| Buffer.toString(base64) | 168.94 ns/op | 156.30 ns/op | 1.08 |
| nodejs block root to RootHex using toHex | 147.50 ns/op | 151.10 ns/op | 0.98 |
| nodejs block root to RootHex using toRootHex | 94.283 ns/op | 96.595 ns/op | 0.98 |
| nodejs fromhex(blob) | 138.98 ms/op | 120.07 ms/op | 1.16 |
| nodejs fromHexInto(blob) | 101.28 ms/op | 96.864 ms/op | 1.05 |
| browser block root to RootHex using the deprecated toHexString | 234.26 ns/op | 224.87 ns/op | 1.04 |
| browser block root to RootHex using toHex | 202.72 ns/op | 176.36 ns/op | 1.15 |
| browser block root to RootHex using toRootHex | 177.35 ns/op | 165.22 ns/op | 1.07 |
| browser fromHexInto(blob) | 1.0112 ms/op | 846.33 us/op | 1.19 |
| browser fromHex(blob) | 954.50 ms/op | 840.36 ms/op | 1.14 |
by benchmarkbot/action
|
🎉 This PR is included in v1.35.0 🎉 |
Motivation
Description