ChainSafe / lodestar

🌟 TypeScript Implementation of Ethereum Consensus
https://lodestar.chainsafe.io
Apache License 2.0
1.11k stars 273 forks source link

test: fix failing browsers bundle tests #6886

Closed nazarhussain closed 2 weeks ago

nazarhussain commented 2 weeks ago

Motivation

Description

Steps to test or reproduce

codecov[bot] commented 2 weeks ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 62.75%. Comparing base (d101913) to head (671adf1).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## unstable #6886 +/- ## ========================================= Coverage 62.75% 62.75% ========================================= Files 578 578 Lines 61347 61347 Branches 2117 2117 ========================================= Hits 38499 38499 Misses 22810 22810 Partials 38 38 ```
github-actions[bot] commented 2 weeks ago

Performance Report

✔️ no performance regression detected

Full benchmark results | Benchmark suite | Current: 0ffe333a6581db0971d106fa26862f33e59b5cce | Previous: d101913ca37faa32e5244a86edf4c8f772f033e8 | Ratio | |-|-|-|-| | getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 593.64 us/op | 632.42 us/op | 0.94 | | getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 41.082 us/op | 50.915 us/op | 0.81 | | BLS verify - blst-native | 1.1454 ms/op | 1.2338 ms/op | 0.93 | | BLS verifyMultipleSignatures 3 - blst-native | 2.4338 ms/op | 2.6268 ms/op | 0.93 | | BLS verifyMultipleSignatures 8 - blst-native | 5.4217 ms/op | 5.8084 ms/op | 0.93 | | BLS verifyMultipleSignatures 32 - blst-native | 19.673 ms/op | 21.383 ms/op | 0.92 | | BLS verifyMultipleSignatures 64 - blst-native | 38.089 ms/op | 41.880 ms/op | 0.91 | | BLS verifyMultipleSignatures 128 - blst-native | 75.192 ms/op | 82.789 ms/op | 0.91 | | BLS deserializing 10000 signatures | 802.21 ms/op | 857.65 ms/op | 0.94 | | BLS deserializing 100000 signatures | 8.0470 s/op | 8.6906 s/op | 0.93 | | BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.2012 ms/op | 1.2706 ms/op | 0.95 | | BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.2982 ms/op | 1.4656 ms/op | 0.89 | | BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.0447 ms/op | 2.2055 ms/op | 0.93 | | BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.0446 ms/op | 3.5955 ms/op | 0.85 | | BLS verifyMultipleSignatures - same message - 128 - blst-native | 5.8914 ms/op | 5.4965 ms/op | 1.07 | | BLS aggregatePubkeys 32 - blst-native | 24.125 us/op | 25.631 us/op | 0.94 | | BLS aggregatePubkeys 128 - blst-native | 90.336 us/op | 99.743 us/op | 0.91 | | notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 66.363 ms/op | 56.216 ms/op | 1.18 | | notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 56.955 ms/op | 60.362 ms/op | 0.94 | | notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 29.380 ms/op | 34.134 ms/op | 0.86 | | getSlashingsAndExits - default max | 72.284 us/op | 100.05 us/op | 0.72 | | getSlashingsAndExits - 2k | 265.03 us/op | 321.21 us/op | 0.83 | | proposeBlockBody type=full, size=empty | 5.2232 ms/op | 5.8358 ms/op | 0.90 | | isKnown best case - 1 super set check | 463.00 ns/op | 292.00 ns/op | 1.59 | | isKnown normal case - 2 super set checks | 469.00 ns/op | 287.00 ns/op | 1.63 | | isKnown worse case - 16 super set checks | 471.00 ns/op | 284.00 ns/op | 1.66 | | InMemoryCheckpointStateCache - add get delete | 4.4230 us/op | 5.2560 us/op | 0.84 | | validate api signedAggregateAndProof - struct | 2.4329 ms/op | 2.6488 ms/op | 0.92 | | validate gossip signedAggregateAndProof - struct | 2.4167 ms/op | 2.6483 ms/op | 0.91 | | validate gossip attestation - vc 640000 | 1.1184 ms/op | 1.2889 ms/op | 0.87 | | batch validate gossip attestation - vc 640000 - chunk 32 | 135.80 us/op | 153.61 us/op | 0.88 | | batch validate gossip attestation - vc 640000 - chunk 64 | 120.06 us/op | 135.74 us/op | 0.88 | | batch validate gossip attestation - vc 640000 - chunk 128 | 108.58 us/op | 125.75 us/op | 0.86 | | batch validate gossip attestation - vc 640000 - chunk 256 | 103.87 us/op | 121.66 us/op | 0.85 | | pickEth1Vote - no votes | 844.12 us/op | 1.1127 ms/op | 0.76 | | pickEth1Vote - max votes | 6.0289 ms/op | 10.394 ms/op | 0.58 | | pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 11.743 ms/op | 17.171 ms/op | 0.68 | | pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 14.722 ms/op | 22.704 ms/op | 0.65 | | pickEth1Vote - Eth1Data fastSerialize value x2048 | 382.75 us/op | 497.75 us/op | 0.77 | | pickEth1Vote - Eth1Data fastSerialize tree x2048 | 3.0236 ms/op | 6.1644 ms/op | 0.49 | | bytes32 toHexString | 590.00 ns/op | 452.00 ns/op | 1.31 | | bytes32 Buffer.toString(hex) | 434.00 ns/op | 242.00 ns/op | 1.79 | | bytes32 Buffer.toString(hex) from Uint8Array | 522.00 ns/op | 366.00 ns/op | 1.43 | | bytes32 Buffer.toString(hex) + 0x | 423.00 ns/op | 246.00 ns/op | 1.72 | | Object access 1 prop | 0.31800 ns/op | 0.14900 ns/op | 2.13 | | Map access 1 prop | 0.31700 ns/op | 0.13500 ns/op | 2.35 | | Object get x1000 | 5.1910 ns/op | 6.0250 ns/op | 0.86 | | Map get x1000 | 5.8950 ns/op | 6.3990 ns/op | 0.92 | | Object set x1000 | 22.615 ns/op | 35.661 ns/op | 0.63 | | Map set x1000 | 18.875 ns/op | 25.018 ns/op | 0.75 | | Return object 10000 times | 0.30140 ns/op | 0.29430 ns/op | 1.02 | | Throw Error 10000 times | 2.6897 us/op | 3.3924 us/op | 0.79 | | fastMsgIdFn sha256 / 200 bytes | 1.9650 us/op | 2.1990 us/op | 0.89 | | fastMsgIdFn h32 xxhash / 200 bytes | 403.00 ns/op | 255.00 ns/op | 1.58 | | fastMsgIdFn h64 xxhash / 200 bytes | 451.00 ns/op | 262.00 ns/op | 1.72 | | fastMsgIdFn sha256 / 1000 bytes | 6.0070 us/op | 7.3030 us/op | 0.82 | | fastMsgIdFn h32 xxhash / 1000 bytes | 525.00 ns/op | 404.00 ns/op | 1.30 | | fastMsgIdFn h64 xxhash / 1000 bytes | 518.00 ns/op | 343.00 ns/op | 1.51 | | fastMsgIdFn sha256 / 10000 bytes | 51.681 us/op | 63.949 us/op | 0.81 | | fastMsgIdFn h32 xxhash / 10000 bytes | 1.9240 us/op | 1.9180 us/op | 1.00 | | fastMsgIdFn h64 xxhash / 10000 bytes | 1.3430 us/op | 1.2380 us/op | 1.08 | | send data - 1000 256B messages | 9.4872 ms/op | 13.496 ms/op | 0.70 | | send data - 1000 512B messages | 12.819 ms/op | 18.800 ms/op | 0.68 | | send data - 1000 1024B messages | 20.558 ms/op | 28.123 ms/op | 0.73 | | send data - 1000 1200B messages | 23.815 ms/op | 27.052 ms/op | 0.88 | | send data - 1000 2048B messages | 28.513 ms/op | 32.031 ms/op | 0.89 | | send data - 1000 4096B messages | 24.943 ms/op | 33.492 ms/op | 0.74 | | send data - 1000 16384B messages | 61.852 ms/op | 71.270 ms/op | 0.87 | | send data - 1000 65536B messages | 237.67 ms/op | 216.51 ms/op | 1.10 | | enrSubnets - fastDeserialize 64 bits | 1.1530 us/op | 1.1870 us/op | 0.97 | | enrSubnets - ssz BitVector 64 bits | 515.00 ns/op | 369.00 ns/op | 1.40 | | enrSubnets - fastDeserialize 4 bits | 313.00 ns/op | 147.00 ns/op | 2.13 | | enrSubnets - ssz BitVector 4 bits | 504.00 ns/op | 371.00 ns/op | 1.36 | | prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 123.13 us/op | 153.55 us/op | 0.80 | | prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 167.09 us/op | 152.67 us/op | 1.09 | | prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 246.75 us/op | 299.42 us/op | 0.82 | | prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 436.73 us/op | 404.97 us/op | 1.08 | | prioritizePeers score 0:0 att 64-1 sync 4-1 | 665.15 us/op | 669.98 us/op | 0.99 | | array of 16000 items push then shift | 1.2860 us/op | 1.6326 us/op | 0.79 | | LinkedList of 16000 items push then shift | 6.3680 ns/op | 7.4540 ns/op | 0.85 | | array of 16000 items push then pop | 77.626 ns/op | 114.36 ns/op | 0.68 | | LinkedList of 16000 items push then pop | 6.2210 ns/op | 7.2750 ns/op | 0.86 | | array of 24000 items push then shift | 1.8948 us/op | 2.4287 us/op | 0.78 | | LinkedList of 24000 items push then shift | 6.3960 ns/op | 7.5770 ns/op | 0.84 | | array of 24000 items push then pop | 108.95 ns/op | 138.12 ns/op | 0.79 | | LinkedList of 24000 items push then pop | 6.2730 ns/op | 7.1980 ns/op | 0.87 | | intersect bitArray bitLen 8 | 5.3290 ns/op | 6.4460 ns/op | 0.83 | | intersect array and set length 8 | 40.324 ns/op | 47.194 ns/op | 0.85 | | intersect bitArray bitLen 128 | 26.598 ns/op | 30.072 ns/op | 0.88 | | intersect array and set length 128 | 589.22 ns/op | 679.57 ns/op | 0.87 | | bitArray.getTrueBitIndexes() bitLen 128 | 2.2620 us/op | 1.7080 us/op | 1.32 | | bitArray.getTrueBitIndexes() bitLen 248 | 3.0560 us/op | 3.1610 us/op | 0.97 | | bitArray.getTrueBitIndexes() bitLen 512 | 6.9900 us/op | 7.0580 us/op | 0.99 | | Buffer.concat 32 items | 1.0090 us/op | 909.00 ns/op | 1.11 | | Uint8Array.set 32 items | 1.7410 us/op | 1.4770 us/op | 1.18 | | Buffer.copy | 1.8790 us/op | 1.6880 us/op | 1.11 | | Uint8Array.set - with subarray | 2.4160 us/op | 2.5010 us/op | 0.97 | | Uint8Array.set - without subarray | 1.7410 us/op | 1.5920 us/op | 1.09 | | Set add up to 64 items then delete first | 1.7641 us/op | 2.1820 us/op | 0.81 | | OrderedSet add up to 64 items then delete first | 2.7367 us/op | 3.4041 us/op | 0.80 | | Set add up to 64 items then delete last | 2.0186 us/op | 2.5261 us/op | 0.80 | | OrderedSet add up to 64 items then delete last | 3.0148 us/op | 3.6502 us/op | 0.83 | | Set add up to 64 items then delete middle | 2.0113 us/op | 2.5029 us/op | 0.80 | | OrderedSet add up to 64 items then delete middle | 4.4187 us/op | 5.3732 us/op | 0.82 | | Set add up to 128 items then delete first | 3.9739 us/op | 5.0796 us/op | 0.78 | | OrderedSet add up to 128 items then delete first | 6.1904 us/op | 7.8385 us/op | 0.79 | | Set add up to 128 items then delete last | 3.9115 us/op | 4.9379 us/op | 0.79 | | OrderedSet add up to 128 items then delete last | 5.8625 us/op | 7.2522 us/op | 0.81 | | Set add up to 128 items then delete middle | 3.8505 us/op | 4.8451 us/op | 0.79 | | OrderedSet add up to 128 items then delete middle | 11.372 us/op | 13.782 us/op | 0.83 | | Set add up to 256 items then delete first | 7.7683 us/op | 10.419 us/op | 0.75 | | OrderedSet add up to 256 items then delete first | 12.296 us/op | 16.039 us/op | 0.77 | | Set add up to 256 items then delete last | 7.5604 us/op | 9.5360 us/op | 0.79 | | OrderedSet add up to 256 items then delete last | 11.495 us/op | 14.479 us/op | 0.79 | | Set add up to 256 items then delete middle | 7.4964 us/op | 9.6046 us/op | 0.78 | | OrderedSet add up to 256 items then delete middle | 34.098 us/op | 40.645 us/op | 0.84 | | transfer serialized Status (84 B) | 1.4530 us/op | 1.3450 us/op | 1.08 | | copy serialized Status (84 B) | 1.2580 us/op | 1.0980 us/op | 1.15 | | transfer serialized SignedVoluntaryExit (112 B) | 1.5870 us/op | 1.4940 us/op | 1.06 | | copy serialized SignedVoluntaryExit (112 B) | 1.3000 us/op | 1.1340 us/op | 1.15 | | transfer serialized ProposerSlashing (416 B) | 1.9230 us/op | 1.9170 us/op | 1.00 | | copy serialized ProposerSlashing (416 B) | 2.2150 us/op | 1.6330 us/op | 1.36 | | transfer serialized Attestation (485 B) | 2.6140 us/op | 1.7140 us/op | 1.53 | | copy serialized Attestation (485 B) | 2.6090 us/op | 1.6130 us/op | 1.62 | | transfer serialized AttesterSlashing (33232 B) | 2.4300 us/op | 2.0600 us/op | 1.18 | | copy serialized AttesterSlashing (33232 B) | 4.8320 us/op | 5.4770 us/op | 0.88 | | transfer serialized Small SignedBeaconBlock (128000 B) | 3.0580 us/op | 2.7850 us/op | 1.10 | | copy serialized Small SignedBeaconBlock (128000 B) | 9.9770 us/op | 18.057 us/op | 0.55 | | transfer serialized Avg SignedBeaconBlock (200000 B) | 3.2170 us/op | 3.2540 us/op | 0.99 | | copy serialized Avg SignedBeaconBlock (200000 B) | 13.579 us/op | 21.577 us/op | 0.63 | | transfer serialized BlobsSidecar (524380 B) | 3.3680 us/op | 2.8890 us/op | 1.17 | | copy serialized BlobsSidecar (524380 B) | 74.115 us/op | 82.921 us/op | 0.89 | | transfer serialized Big SignedBeaconBlock (1000000 B) | 3.5210 us/op | 2.8670 us/op | 1.23 | | copy serialized Big SignedBeaconBlock (1000000 B) | 319.43 us/op | 356.47 us/op | 0.90 | | pass gossip attestations to forkchoice per slot | 2.5871 ms/op | 2.9920 ms/op | 0.86 | | forkChoice updateHead vc 100000 bc 64 eq 0 | 578.74 us/op | 485.99 us/op | 1.19 | | forkChoice updateHead vc 600000 bc 64 eq 0 | 2.5449 ms/op | 3.0593 ms/op | 0.83 | | forkChoice updateHead vc 1000000 bc 64 eq 0 | 4.1777 ms/op | 5.2110 ms/op | 0.80 | | forkChoice updateHead vc 600000 bc 320 eq 0 | 2.5091 ms/op | 2.9976 ms/op | 0.84 | | forkChoice updateHead vc 600000 bc 1200 eq 0 | 2.5772 ms/op | 3.0552 ms/op | 0.84 | | forkChoice updateHead vc 600000 bc 7200 eq 0 | 3.1047 ms/op | 3.6342 ms/op | 0.85 | | forkChoice updateHead vc 600000 bc 64 eq 1000 | 9.1924 ms/op | 10.294 ms/op | 0.89 | | forkChoice updateHead vc 600000 bc 64 eq 10000 | 9.1032 ms/op | 10.465 ms/op | 0.87 | | forkChoice updateHead vc 600000 bc 64 eq 300000 | 11.729 ms/op | 14.539 ms/op | 0.81 | | computeDeltas 500000 validators 300 proto nodes | 2.9608 ms/op | 3.4336 ms/op | 0.86 | | computeDeltas 500000 validators 1200 proto nodes | 2.9876 ms/op | 3.4665 ms/op | 0.86 | | computeDeltas 500000 validators 7200 proto nodes | 2.9851 ms/op | 3.4664 ms/op | 0.86 | | computeDeltas 750000 validators 300 proto nodes | 4.3421 ms/op | 5.1807 ms/op | 0.84 | | computeDeltas 750000 validators 1200 proto nodes | 4.2797 ms/op | 5.0873 ms/op | 0.84 | | computeDeltas 750000 validators 7200 proto nodes | 4.3646 ms/op | 5.0935 ms/op | 0.86 | | computeDeltas 1400000 validators 300 proto nodes | 8.3462 ms/op | 9.5580 ms/op | 0.87 | | computeDeltas 1400000 validators 1200 proto nodes | 8.1915 ms/op | 9.7230 ms/op | 0.84 | | computeDeltas 1400000 validators 7200 proto nodes | 8.2825 ms/op | 9.8400 ms/op | 0.84 | | computeDeltas 2100000 validators 300 proto nodes | 13.073 ms/op | 14.989 ms/op | 0.87 | | computeDeltas 2100000 validators 1200 proto nodes | 12.637 ms/op | 14.864 ms/op | 0.85 | | computeDeltas 2100000 validators 7200 proto nodes | 13.277 ms/op | 14.546 ms/op | 0.91 | | altair processAttestation - 250000 vs - 7PWei normalcase | 1.3468 ms/op | 1.7173 ms/op | 0.78 | | altair processAttestation - 250000 vs - 7PWei worstcase | 2.1321 ms/op | 2.5362 ms/op | 0.84 | | altair processAttestation - setStatus - 1/6 committees join | 68.609 us/op | 91.024 us/op | 0.75 | | altair processAttestation - setStatus - 1/3 committees join | 131.53 us/op | 183.54 us/op | 0.72 | | altair processAttestation - setStatus - 1/2 committees join | 203.00 us/op | 245.81 us/op | 0.83 | | altair processAttestation - setStatus - 2/3 committees join | 289.97 us/op | 320.30 us/op | 0.91 | | altair processAttestation - setStatus - 4/5 committees join | 418.82 us/op | 458.45 us/op | 0.91 | | altair processAttestation - setStatus - 100% committees join | 483.11 us/op | 556.05 us/op | 0.87 | | altair processBlock - 250000 vs - 7PWei normalcase | 3.8202 ms/op | 4.1500 ms/op | 0.92 | | altair processBlock - 250000 vs - 7PWei normalcase hashState | 30.009 ms/op | 28.161 ms/op | 1.07 | | altair processBlock - 250000 vs - 7PWei worstcase | 40.301 ms/op | 41.986 ms/op | 0.96 | | altair processBlock - 250000 vs - 7PWei worstcase hashState | 74.307 ms/op | 86.696 ms/op | 0.86 | | phase0 processBlock - 250000 vs - 7PWei normalcase | 1.8609 ms/op | 1.8991 ms/op | 0.98 | | phase0 processBlock - 250000 vs - 7PWei worstcase | 26.497 ms/op | 27.194 ms/op | 0.97 | | altair processEth1Data - 250000 vs - 7PWei normalcase | 264.59 us/op | 360.58 us/op | 0.73 | | getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 6.7720 us/op | 6.5540 us/op | 1.03 | | getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 19.668 us/op | 27.891 us/op | 0.71 | | getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 7.0940 us/op | 8.5540 us/op | 0.83 | | getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 5.2240 us/op | 6.6750 us/op | 0.78 | | getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 51.664 us/op | 109.92 us/op | 0.47 | | getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 841.79 us/op | 719.33 us/op | 1.17 | | getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.0943 ms/op | 919.83 us/op | 1.19 | | getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 1.0634 ms/op | 930.43 us/op | 1.14 | | getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 1.9880 ms/op | 2.4609 ms/op | 0.81 | | getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 1.1614 ms/op | 1.6174 ms/op | 0.72 | | getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 3.0659 ms/op | 3.9515 ms/op | 0.78 | | Tree 40 250000 create | 178.11 ms/op | 215.63 ms/op | 0.83 | | Tree 40 250000 get(125000) | 117.64 ns/op | 149.16 ns/op | 0.79 | | Tree 40 250000 set(125000) | 587.63 ns/op | 698.49 ns/op | 0.84 | | Tree 40 250000 toArray() | 14.263 ms/op | 15.977 ms/op | 0.89 | | Tree 40 250000 iterate all - toArray() + loop | 12.981 ms/op | 15.772 ms/op | 0.82 | | Tree 40 250000 iterate all - get(i) | 41.390 ms/op | 50.730 ms/op | 0.82 | | MutableVector 250000 create | 9.7630 ms/op | 7.5876 ms/op | 1.29 | | MutableVector 250000 get(125000) | 5.7370 ns/op | 6.1610 ns/op | 0.93 | | MutableVector 250000 set(125000) | 165.67 ns/op | 213.41 ns/op | 0.78 | | MutableVector 250000 toArray() | 2.8607 ms/op | 4.2385 ms/op | 0.67 | | MutableVector 250000 iterate all - toArray() + loop | 3.0030 ms/op | 4.2508 ms/op | 0.71 | | MutableVector 250000 iterate all - get(i) | 1.3643 ms/op | 1.6684 ms/op | 0.82 | | Array 250000 create | 2.4567 ms/op | 3.7989 ms/op | 0.65 | | Array 250000 clone - spread | 1.2980 ms/op | 1.5782 ms/op | 0.82 | | Array 250000 get(125000) | 0.54900 ns/op | 0.42600 ns/op | 1.29 | | Array 250000 set(125000) | 0.55900 ns/op | 0.45200 ns/op | 1.24 | | Array 250000 iterate all - loop | 73.618 us/op | 90.879 us/op | 0.81 | | effectiveBalanceIncrements clone Uint8Array 300000 | 22.797 us/op | 34.793 us/op | 0.66 | | effectiveBalanceIncrements clone MutableVector 300000 | 293.00 ns/op | 130.00 ns/op | 2.25 | | effectiveBalanceIncrements rw all Uint8Array 300000 | 159.90 us/op | 200.93 us/op | 0.80 | | effectiveBalanceIncrements rw all MutableVector 300000 | 55.875 ms/op | 69.118 ms/op | 0.81 | | phase0 afterProcessEpoch - 250000 vs - 7PWei | 72.862 ms/op | 88.973 ms/op | 0.82 | | phase0 beforeProcessEpoch - 250000 vs - 7PWei | 31.597 ms/op | 43.390 ms/op | 0.73 | | altair processEpoch - mainnet_e81889 | 344.61 ms/op | 410.16 ms/op | 0.84 | | mainnet_e81889 - altair beforeProcessEpoch | 46.621 ms/op | 67.186 ms/op | 0.69 | | mainnet_e81889 - altair processJustificationAndFinalization | 11.270 us/op | 11.710 us/op | 0.96 | | mainnet_e81889 - altair processInactivityUpdates | 5.6521 ms/op | 7.3146 ms/op | 0.77 | | mainnet_e81889 - altair processRewardsAndPenalties | 51.084 ms/op | 38.295 ms/op | 1.33 | | mainnet_e81889 - altair processRegistryUpdates | 2.9440 us/op | 1.9430 us/op | 1.52 | | mainnet_e81889 - altair processSlashings | 1.1820 us/op | 362.00 ns/op | 3.27 | | mainnet_e81889 - altair processEth1DataReset | 732.00 ns/op | 341.00 ns/op | 2.15 | | mainnet_e81889 - altair processEffectiveBalanceUpdates | 2.1174 ms/op | 1.1126 ms/op | 1.90 | | mainnet_e81889 - altair processSlashingsReset | 3.4940 us/op | 3.6770 us/op | 0.95 | | mainnet_e81889 - altair processRandaoMixesReset | 4.6410 us/op | 3.9610 us/op | 1.17 | | mainnet_e81889 - altair processHistoricalRootsUpdate | 889.00 ns/op | 289.00 ns/op | 3.08 | | mainnet_e81889 - altair processParticipationFlagUpdates | 4.1310 us/op | 2.1940 us/op | 1.88 | | mainnet_e81889 - altair processSyncCommitteeUpdates | 1.0190 us/op | 569.00 ns/op | 1.79 | | mainnet_e81889 - altair afterProcessEpoch | 81.902 ms/op | 94.800 ms/op | 0.86 | | capella processEpoch - mainnet_e217614 | 1.2733 s/op | 1.3244 s/op | 0.96 | | mainnet_e217614 - capella beforeProcessEpoch | 244.57 ms/op | 240.16 ms/op | 1.02 | | mainnet_e217614 - capella processJustificationAndFinalization | 14.610 us/op | 13.958 us/op | 1.05 | | mainnet_e217614 - capella processInactivityUpdates | 14.836 ms/op | 17.253 ms/op | 0.86 | | mainnet_e217614 - capella processRewardsAndPenalties | 262.90 ms/op | 230.95 ms/op | 1.14 | | mainnet_e217614 - capella processRegistryUpdates | 10.619 us/op | 12.714 us/op | 0.84 | | mainnet_e217614 - capella processSlashings | 852.00 ns/op | 402.00 ns/op | 2.12 | | mainnet_e217614 - capella processEth1DataReset | 664.00 ns/op | 312.00 ns/op | 2.13 | | mainnet_e217614 - capella processEffectiveBalanceUpdates | 3.9891 ms/op | 4.7881 ms/op | 0.83 | | mainnet_e217614 - capella processSlashingsReset | 4.7260 us/op | 3.6190 us/op | 1.31 | | mainnet_e217614 - capella processRandaoMixesReset | 7.3830 us/op | 3.8950 us/op | 1.90 | | mainnet_e217614 - capella processHistoricalRootsUpdate | 833.00 ns/op | 1.0520 us/op | 0.79 | | mainnet_e217614 - capella processParticipationFlagUpdates | 1.5970 us/op | 1.7210 us/op | 0.93 | | mainnet_e217614 - capella afterProcessEpoch | 240.36 ms/op | 238.46 ms/op | 1.01 | | phase0 processEpoch - mainnet_e58758 | 350.52 ms/op | 358.57 ms/op | 0.98 | | mainnet_e58758 - phase0 beforeProcessEpoch | 110.25 ms/op | 90.663 ms/op | 1.22 | | mainnet_e58758 - phase0 processJustificationAndFinalization | 11.070 us/op | 13.615 us/op | 0.81 | | mainnet_e58758 - phase0 processRewardsAndPenalties | 26.928 ms/op | 22.172 ms/op | 1.21 | | mainnet_e58758 - phase0 processRegistryUpdates | 5.4640 us/op | 7.3750 us/op | 0.74 | | mainnet_e58758 - phase0 processSlashings | 687.00 ns/op | 355.00 ns/op | 1.94 | | mainnet_e58758 - phase0 processEth1DataReset | 693.00 ns/op | 294.00 ns/op | 2.36 | | mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.1250 ms/op | 952.03 us/op | 1.18 | | mainnet_e58758 - phase0 processSlashingsReset | 2.3210 us/op | 3.2950 us/op | 0.70 | | mainnet_e58758 - phase0 processRandaoMixesReset | 3.0520 us/op | 3.5160 us/op | 0.87 | | mainnet_e58758 - phase0 processHistoricalRootsUpdate | 707.00 ns/op | 320.00 ns/op | 2.21 | | mainnet_e58758 - phase0 processParticipationRecordUpdates | 2.6820 us/op | 2.6340 us/op | 1.02 | | mainnet_e58758 - phase0 afterProcessEpoch | 69.044 ms/op | 78.061 ms/op | 0.88 | | phase0 processEffectiveBalanceUpdates - 250000 normalcase | 815.70 us/op | 1.1497 ms/op | 0.71 | | phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 1.1341 ms/op | 1.9327 ms/op | 0.59 | | altair processInactivityUpdates - 250000 normalcase | 18.197 ms/op | 15.542 ms/op | 1.17 | | altair processInactivityUpdates - 250000 worstcase | 17.210 ms/op | 15.077 ms/op | 1.14 | | phase0 processRegistryUpdates - 250000 normalcase | 5.0890 us/op | 5.9300 us/op | 0.86 | | phase0 processRegistryUpdates - 250000 badcase_full_deposits | 315.60 us/op | 268.81 us/op | 1.17 | | phase0 processRegistryUpdates - 250000 worstcase 0.5 | 109.82 ms/op | 105.03 ms/op | 1.05 | | altair processRewardsAndPenalties - 250000 normalcase | 40.609 ms/op | 32.632 ms/op | 1.24 | | altair processRewardsAndPenalties - 250000 worstcase | 47.795 ms/op | 36.039 ms/op | 1.33 | | phase0 getAttestationDeltas - 250000 normalcase | 6.1449 ms/op | 6.9205 ms/op | 0.89 | | phase0 getAttestationDeltas - 250000 worstcase | 6.1945 ms/op | 7.9507 ms/op | 0.78 | | phase0 processSlashings - 250000 worstcase | 59.669 us/op | 75.082 us/op | 0.79 | | altair processSyncCommitteeUpdates - 250000 | 95.915 ms/op | 124.91 ms/op | 0.77 | | BeaconState.hashTreeRoot - No change | 485.00 ns/op | 261.00 ns/op | 1.86 | | BeaconState.hashTreeRoot - 1 full validator | 72.399 us/op | 97.207 us/op | 0.74 | | BeaconState.hashTreeRoot - 32 full validator | 873.17 us/op | 1.3545 ms/op | 0.64 | | BeaconState.hashTreeRoot - 512 full validator | 10.928 ms/op | 12.527 ms/op | 0.87 | | BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 123.49 us/op | 136.29 us/op | 0.91 | | BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 1.8634 ms/op | 1.7706 ms/op | 1.05 | | BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 19.836 ms/op | 20.373 ms/op | 0.97 | | BeaconState.hashTreeRoot - 1 balances | 109.72 us/op | 102.84 us/op | 1.07 | | BeaconState.hashTreeRoot - 32 balances | 1.1604 ms/op | 1.0377 ms/op | 1.12 | | BeaconState.hashTreeRoot - 512 balances | 9.4517 ms/op | 10.968 ms/op | 0.86 | | BeaconState.hashTreeRoot - 250000 balances | 162.31 ms/op | 164.12 ms/op | 0.99 | | aggregationBits - 2048 els - zipIndexesInBitList | 21.163 us/op | 22.649 us/op | 0.93 | | byteArrayEquals 32 | 45.026 ns/op | 51.648 ns/op | 0.87 | | Buffer.compare 32 | 39.889 ns/op | 46.074 ns/op | 0.87 | | byteArrayEquals 1024 | 1.2690 us/op | 1.5252 us/op | 0.83 | | Buffer.compare 1024 | 43.254 ns/op | 56.708 ns/op | 0.76 | | byteArrayEquals 16384 | 19.651 us/op | 24.259 us/op | 0.81 | | Buffer.compare 16384 | 211.26 ns/op | 234.24 ns/op | 0.90 | | byteArrayEquals 123687377 | 149.68 ms/op | 181.81 ms/op | 0.82 | | Buffer.compare 123687377 | 3.5682 ms/op | 6.1576 ms/op | 0.58 | | byteArrayEquals 32 - diff last byte | 46.804 ns/op | 50.423 ns/op | 0.93 | | Buffer.compare 32 - diff last byte | 40.107 ns/op | 45.004 ns/op | 0.89 | | byteArrayEquals 1024 - diff last byte | 1.2693 us/op | 1.5121 us/op | 0.84 | | Buffer.compare 1024 - diff last byte | 48.828 ns/op | 58.290 ns/op | 0.84 | | byteArrayEquals 16384 - diff last byte | 20.119 us/op | 24.072 us/op | 0.84 | | Buffer.compare 16384 - diff last byte | 202.69 ns/op | 292.37 ns/op | 0.69 | | byteArrayEquals 123687377 - diff last byte | 151.01 ms/op | 185.26 ms/op | 0.82 | | Buffer.compare 123687377 - diff last byte | 4.5151 ms/op | 6.1964 ms/op | 0.73 | | byteArrayEquals 32 - random bytes | 5.0070 ns/op | 5.6750 ns/op | 0.88 | | Buffer.compare 32 - random bytes | 38.863 ns/op | 49.465 ns/op | 0.79 | | byteArrayEquals 1024 - random bytes | 4.8940 ns/op | 5.0430 ns/op | 0.97 | | Buffer.compare 1024 - random bytes | 40.830 ns/op | 48.402 ns/op | 0.84 | | byteArrayEquals 16384 - random bytes | 4.9400 ns/op | 5.0330 ns/op | 0.98 | | Buffer.compare 16384 - random bytes | 40.679 ns/op | 48.526 ns/op | 0.84 | | byteArrayEquals 123687377 - random bytes | 7.8200 ns/op | 6.3800 ns/op | 1.23 | | Buffer.compare 123687377 - random bytes | 44.180 ns/op | 49.950 ns/op | 0.88 | | regular array get 100000 times | 31.140 us/op | 36.644 us/op | 0.85 | | wrappedArray get 100000 times | 31.113 us/op | 32.797 us/op | 0.95 | | arrayWithProxy get 100000 times | 9.7298 ms/op | 13.024 ms/op | 0.75 | | ssz.Root.equals | 44.219 ns/op | 45.348 ns/op | 0.98 | | byteArrayEquals | 43.334 ns/op | 44.715 ns/op | 0.97 | | Buffer.compare | 10.189 ns/op | 10.807 ns/op | 0.94 | | shuffle list - 16384 els | 5.5956 ms/op | 6.2941 ms/op | 0.89 | | shuffle list - 250000 els | 82.955 ms/op | 93.269 ms/op | 0.89 | | processSlot - 1 slots | 13.853 us/op | 11.701 us/op | 1.18 | | processSlot - 32 slots | 3.5338 ms/op | 2.0810 ms/op | 1.70 | | getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 40.552 ms/op | 37.857 ms/op | 1.07 | | getCommitteeAssignments - req 1 vs - 250000 vc | 1.8366 ms/op | 2.1239 ms/op | 0.86 | | getCommitteeAssignments - req 100 vs - 250000 vc | 3.6108 ms/op | 4.0570 ms/op | 0.89 | | getCommitteeAssignments - req 1000 vs - 250000 vc | 3.9134 ms/op | 4.4321 ms/op | 0.88 | | findModifiedValidators - 10000 modified validators | 244.78 ms/op | 247.07 ms/op | 0.99 | | findModifiedValidators - 1000 modified validators | 162.10 ms/op | 178.95 ms/op | 0.91 | | findModifiedValidators - 100 modified validators | 131.45 ms/op | 172.88 ms/op | 0.76 | | findModifiedValidators - 10 modified validators | 140.97 ms/op | 188.09 ms/op | 0.75 | | findModifiedValidators - 1 modified validators | 144.43 ms/op | 170.27 ms/op | 0.85 | | findModifiedValidators - no difference | 148.24 ms/op | 170.26 ms/op | 0.87 | | compare ViewDUs | 3.4709 s/op | 3.1558 s/op | 1.10 | | compare each validator Uint8Array | 2.1168 s/op | 1.5755 s/op | 1.34 | | compare ViewDU to Uint8Array | 1.0930 s/op | 1.1476 s/op | 0.95 | | migrate state 1000000 validators, 24 modified, 0 new | 714.99 ms/op | 564.41 ms/op | 1.27 | | migrate state 1000000 validators, 1700 modified, 1000 new | 993.30 ms/op | 846.89 ms/op | 1.17 | | migrate state 1000000 validators, 3400 modified, 2000 new | 1.2729 s/op | 987.94 ms/op | 1.29 | | migrate state 1500000 validators, 24 modified, 0 new | 618.98 ms/op | 606.76 ms/op | 1.02 | | migrate state 1500000 validators, 1700 modified, 1000 new | 763.57 ms/op | 807.60 ms/op | 0.95 | | migrate state 1500000 validators, 3400 modified, 2000 new | 916.11 ms/op | 997.52 ms/op | 0.92 | | RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 6.2200 ns/op | 4.6700 ns/op | 1.33 | | state getBlockRootAtSlot - 250000 vs - 7PWei | 806.06 ns/op | 700.92 ns/op | 1.15 | | computeProposers - vc 250000 | 6.3678 ms/op | 7.6927 ms/op | 0.83 | | computeEpochShuffling - vc 250000 | 83.735 ms/op | 93.413 ms/op | 0.90 | | getNextSyncCommittee - vc 250000 | 129.59 ms/op | 124.08 ms/op | 1.04 | | computeSigningRoot for AttestationData | 23.677 us/op | 21.532 us/op | 1.10 | | hash AttestationData serialized data then Buffer.toString(base64) | 1.3052 us/op | 1.5348 us/op | 0.85 | | toHexString serialized data | 942.89 ns/op | 883.47 ns/op | 1.07 | | Buffer.toString(base64) | 190.05 ns/op | 175.86 ns/op | 1.08 |

by benchmarkbot/action