lodestar
lodestar copied to clipboard
chore: unhide execution engine mock flag
Motivation
This flag is useful to quickly spin up or node on any network for testing / development and different users have asked for something like this.
Description
Unhide execution engine mock flag --execution.engineMock
Previous discussion https://github.com/ChainSafe/lodestar/pull/6872
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 62.52%. Comparing base (
f69bc11) to head (1153a84). Report is 1 commits behind head on unstable.
Additional details and impacted files
@@ Coverage Diff @@
## unstable #6922 +/- ##
=========================================
Coverage 62.52% 62.52%
=========================================
Files 575 575
Lines 60985 60985
Branches 2118 2120 +2
=========================================
Hits 38128 38128
Misses 22818 22818
Partials 39 39
Performance Report
✔️ no performance regression detected
Full benchmark results
| Benchmark suite | Current: 82859d228975675ee9e5136b3da4b406f60425ed | Previous: d87a9018e6c071f3957de4356ac9bfd8ccd4e523 | Ratio |
|---|---|---|---|
| getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 629.44 us/op | 516.28 us/op | 1.22 |
| getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 38.102 us/op | 37.733 us/op | 1.01 |
| BLS verify - blst-native | 1.1098 ms/op | 1.1111 ms/op | 1.00 |
| BLS verifyMultipleSignatures 3 - blst-native | 2.3675 ms/op | 2.3868 ms/op | 0.99 |
| BLS verifyMultipleSignatures 8 - blst-native | 5.2527 ms/op | 5.2575 ms/op | 1.00 |
| BLS verifyMultipleSignatures 32 - blst-native | 19.234 ms/op | 19.185 ms/op | 1.00 |
| BLS verifyMultipleSignatures 64 - blst-native | 38.371 ms/op | 37.936 ms/op | 1.01 |
| BLS verifyMultipleSignatures 128 - blst-native | 76.107 ms/op | 75.015 ms/op | 1.01 |
| BLS deserializing 10000 signatures | 746.27 ms/op | 794.42 ms/op | 0.94 |
| BLS deserializing 100000 signatures | 7.7787 s/op | 8.0156 s/op | 0.97 |
| BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.1354 ms/op | 1.1417 ms/op | 0.99 |
| BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.2910 ms/op | 1.2976 ms/op | 0.99 |
| BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.0355 ms/op | 2.0382 ms/op | 1.00 |
| BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.5600 ms/op | 3.4894 ms/op | 1.02 |
| BLS verifyMultipleSignatures - same message - 128 - blst-native | 4.8136 ms/op | 6.1630 ms/op | 0.78 |
| BLS aggregatePubkeys 32 - blst-native | 21.979 us/op | 23.693 us/op | 0.93 |
| BLS aggregatePubkeys 128 - blst-native | 85.119 us/op | 88.669 us/op | 0.96 |
| notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 55.487 ms/op | 60.599 ms/op | 0.92 |
| notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 42.402 ms/op | 45.178 ms/op | 0.94 |
| notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 27.501 ms/op | 31.163 ms/op | 0.88 |
| getSlashingsAndExits - default max | 86.700 us/op | 73.939 us/op | 1.17 |
| getSlashingsAndExits - 2k | 230.56 us/op | 244.76 us/op | 0.94 |
| proposeBlockBody type=full, size=empty | 4.6996 ms/op | 4.9790 ms/op | 0.94 |
| isKnown best case - 1 super set check | 474.00 ns/op | 462.00 ns/op | 1.03 |
| isKnown normal case - 2 super set checks | 450.00 ns/op | 457.00 ns/op | 0.98 |
| isKnown worse case - 16 super set checks | 448.00 ns/op | 456.00 ns/op | 0.98 |
| InMemoryCheckpointStateCache - add get delete | 3.9200 us/op | 3.8230 us/op | 1.03 |
| validate api signedAggregateAndProof - struct | 2.2957 ms/op | 2.3082 ms/op | 0.99 |
| validate gossip signedAggregateAndProof - struct | 2.3014 ms/op | 2.3034 ms/op | 1.00 |
| validate gossip attestation - vc 640000 | 1.1377 ms/op | 1.1201 ms/op | 1.02 |
| batch validate gossip attestation - vc 640000 - chunk 32 | 132.39 us/op | 131.41 us/op | 1.01 |
| batch validate gossip attestation - vc 640000 - chunk 64 | 115.05 us/op | 116.77 us/op | 0.99 |
| batch validate gossip attestation - vc 640000 - chunk 128 | 109.51 us/op | 110.33 us/op | 0.99 |
| batch validate gossip attestation - vc 640000 - chunk 256 | 105.76 us/op | 109.06 us/op | 0.97 |
| pickEth1Vote - no votes | 815.87 us/op | 818.11 us/op | 1.00 |
| pickEth1Vote - max votes | 7.2893 ms/op | 5.7678 ms/op | 1.26 |
| pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 14.188 ms/op | 9.4287 ms/op | 1.50 |
| pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 19.049 ms/op | 15.641 ms/op | 1.22 |
| pickEth1Vote - Eth1Data fastSerialize value x2048 | 370.56 us/op | 337.18 us/op | 1.10 |
| pickEth1Vote - Eth1Data fastSerialize tree x2048 | 4.8985 ms/op | 7.1937 ms/op | 0.68 |
| bytes32 toHexString | 585.00 ns/op | 611.00 ns/op | 0.96 |
| bytes32 Buffer.toString(hex) | 422.00 ns/op | 440.00 ns/op | 0.96 |
| bytes32 Buffer.toString(hex) from Uint8Array | 531.00 ns/op | 547.00 ns/op | 0.97 |
| bytes32 Buffer.toString(hex) + 0x | 426.00 ns/op | 427.00 ns/op | 1.00 |
| Object access 1 prop | 0.32000 ns/op | 0.30800 ns/op | 1.04 |
| Map access 1 prop | 0.31700 ns/op | 0.30900 ns/op | 1.03 |
| Object get x1000 | 5.2770 ns/op | 4.7810 ns/op | 1.10 |
| Map get x1000 | 5.7330 ns/op | 5.5400 ns/op | 1.03 |
| Object set x1000 | 24.689 ns/op | 22.508 ns/op | 1.10 |
| Map set x1000 | 18.274 ns/op | 18.621 ns/op | 0.98 |
| Return object 10000 times | 0.29460 ns/op | 0.29990 ns/op | 0.98 |
| Throw Error 10000 times | 2.6219 us/op | 2.7011 us/op | 0.97 |
| fastMsgIdFn sha256 / 200 bytes | 1.9640 us/op | 1.9710 us/op | 1.00 |
| fastMsgIdFn h32 xxhash / 200 bytes | 401.00 ns/op | 409.00 ns/op | 0.98 |
| fastMsgIdFn h64 xxhash / 200 bytes | 434.00 ns/op | 453.00 ns/op | 0.96 |
| fastMsgIdFn sha256 / 1000 bytes | 5.8480 us/op | 6.0390 us/op | 0.97 |
| fastMsgIdFn h32 xxhash / 1000 bytes | 522.00 ns/op | 525.00 ns/op | 0.99 |
| fastMsgIdFn h64 xxhash / 1000 bytes | 515.00 ns/op | 528.00 ns/op | 0.98 |
| fastMsgIdFn sha256 / 10000 bytes | 47.710 us/op | 52.245 us/op | 0.91 |
| fastMsgIdFn h32 xxhash / 10000 bytes | 1.8410 us/op | 1.8840 us/op | 0.98 |
| fastMsgIdFn h64 xxhash / 10000 bytes | 1.2710 us/op | 1.3070 us/op | 0.97 |
| send data - 1000 256B messages | 9.9279 ms/op | 9.8411 ms/op | 1.01 |
| send data - 1000 512B messages | 13.103 ms/op | 13.058 ms/op | 1.00 |
| send data - 1000 1024B messages | 21.513 ms/op | 21.032 ms/op | 1.02 |
| send data - 1000 1200B messages | 22.654 ms/op | 22.802 ms/op | 0.99 |
| send data - 1000 2048B messages | 29.029 ms/op | 28.359 ms/op | 1.02 |
| send data - 1000 4096B messages | 24.840 ms/op | 24.802 ms/op | 1.00 |
| send data - 1000 16384B messages | 62.710 ms/op | 68.316 ms/op | 0.92 |
| send data - 1000 65536B messages | 245.57 ms/op | 237.85 ms/op | 1.03 |
| enrSubnets - fastDeserialize 64 bits | 1.1350 us/op | 1.1500 us/op | 0.99 |
| enrSubnets - ssz BitVector 64 bits | 522.00 ns/op | 551.00 ns/op | 0.95 |
| enrSubnets - fastDeserialize 4 bits | 327.00 ns/op | 355.00 ns/op | 0.92 |
| enrSubnets - ssz BitVector 4 bits | 520.00 ns/op | 557.00 ns/op | 0.93 |
| prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 241.10 us/op | 138.45 us/op | 1.74 |
| prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 285.37 us/op | 177.79 us/op | 1.61 |
| prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 399.72 us/op | 308.69 us/op | 1.29 |
| prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 641.57 us/op | 471.96 us/op | 1.36 |
| prioritizePeers score 0:0 att 64-1 sync 4-1 | 811.36 us/op | 538.95 us/op | 1.51 |
| array of 16000 items push then shift | 1.2934 us/op | 1.2559 us/op | 1.03 |
| LinkedList of 16000 items push then shift | 7.1000 ns/op | 7.6440 ns/op | 0.93 |
| array of 16000 items push then pop | 81.304 ns/op | 124.99 ns/op | 0.65 |
| LinkedList of 16000 items push then pop | 6.3420 ns/op | 6.3420 ns/op | 1.00 |
| array of 24000 items push then shift | 1.8989 us/op | 1.9249 us/op | 0.99 |
| LinkedList of 24000 items push then shift | 6.9380 ns/op | 6.4600 ns/op | 1.07 |
| array of 24000 items push then pop | 106.26 ns/op | 108.85 ns/op | 0.98 |
| LinkedList of 24000 items push then pop | 6.0750 ns/op | 6.3100 ns/op | 0.96 |
| intersect bitArray bitLen 8 | 5.1560 ns/op | 5.4460 ns/op | 0.95 |
| intersect array and set length 8 | 36.575 ns/op | 39.930 ns/op | 0.92 |
| intersect bitArray bitLen 128 | 25.601 ns/op | 26.613 ns/op | 0.96 |
| intersect array and set length 128 | 550.47 ns/op | 587.12 ns/op | 0.94 |
| bitArray.getTrueBitIndexes() bitLen 128 | 2.1010 us/op | 2.1410 us/op | 0.98 |
| bitArray.getTrueBitIndexes() bitLen 248 | 3.2780 us/op | 2.8960 us/op | 1.13 |
| bitArray.getTrueBitIndexes() bitLen 512 | 6.8110 us/op | 6.0840 us/op | 1.12 |
| Buffer.concat 32 items | 1.0270 us/op | 1.1660 us/op | 0.88 |
| Uint8Array.set 32 items | 1.6740 us/op | 1.5940 us/op | 1.05 |
| Buffer.copy | 1.7730 us/op | 1.7800 us/op | 1.00 |
| Uint8Array.set - with subarray | 2.7400 us/op | 2.3520 us/op | 1.16 |
| Uint8Array.set - without subarray | 1.7530 us/op | 1.7810 us/op | 0.98 |
| Set add up to 64 items then delete first | 1.7274 us/op | 1.7539 us/op | 0.98 |
| OrderedSet add up to 64 items then delete first | 2.6962 us/op | 2.8310 us/op | 0.95 |
| Set add up to 64 items then delete last | 2.0730 us/op | 2.0768 us/op | 1.00 |
| OrderedSet add up to 64 items then delete last | 3.1521 us/op | 3.1329 us/op | 1.01 |
| Set add up to 64 items then delete middle | 2.0921 us/op | 2.0780 us/op | 1.01 |
| OrderedSet add up to 64 items then delete middle | 4.5780 us/op | 4.5539 us/op | 1.01 |
| Set add up to 128 items then delete first | 4.0992 us/op | 4.0770 us/op | 1.01 |
| OrderedSet add up to 128 items then delete first | 6.4225 us/op | 6.4254 us/op | 1.00 |
| Set add up to 128 items then delete last | 3.9731 us/op | 3.9591 us/op | 1.00 |
| OrderedSet add up to 128 items then delete last | 6.0892 us/op | 6.0400 us/op | 1.01 |
| Set add up to 128 items then delete middle | 3.9770 us/op | 3.9699 us/op | 1.00 |
| OrderedSet add up to 128 items then delete middle | 11.641 us/op | 12.024 us/op | 0.97 |
| Set add up to 256 items then delete first | 8.1405 us/op | 7.9777 us/op | 1.02 |
| OrderedSet add up to 256 items then delete first | 12.827 us/op | 12.766 us/op | 1.00 |
| Set add up to 256 items then delete last | 7.8237 us/op | 7.7762 us/op | 1.01 |
| OrderedSet add up to 256 items then delete last | 12.015 us/op | 12.034 us/op | 1.00 |
| Set add up to 256 items then delete middle | 7.7888 us/op | 7.7617 us/op | 1.00 |
| OrderedSet add up to 256 items then delete middle | 34.475 us/op | 34.684 us/op | 0.99 |
| transfer serialized Status (84 B) | 1.3670 us/op | 1.4630 us/op | 0.93 |
| copy serialized Status (84 B) | 1.1870 us/op | 1.2770 us/op | 0.93 |
| transfer serialized SignedVoluntaryExit (112 B) | 1.5630 us/op | 1.4750 us/op | 1.06 |
| copy serialized SignedVoluntaryExit (112 B) | 1.2880 us/op | 1.2550 us/op | 1.03 |
| transfer serialized ProposerSlashing (416 B) | 2.2150 us/op | 1.5490 us/op | 1.43 |
| copy serialized ProposerSlashing (416 B) | 1.8970 us/op | 1.6010 us/op | 1.18 |
| transfer serialized Attestation (485 B) | 2.0660 us/op | 1.6520 us/op | 1.25 |
| copy serialized Attestation (485 B) | 1.9710 us/op | 1.3630 us/op | 1.45 |
| transfer serialized AttesterSlashing (33232 B) | 2.2670 us/op | 1.8650 us/op | 1.22 |
| copy serialized AttesterSlashing (33232 B) | 4.3040 us/op | 3.7160 us/op | 1.16 |
| transfer serialized Small SignedBeaconBlock (128000 B) | 2.5890 us/op | 2.0020 us/op | 1.29 |
| copy serialized Small SignedBeaconBlock (128000 B) | 9.7870 us/op | 10.450 us/op | 0.94 |
| transfer serialized Avg SignedBeaconBlock (200000 B) | 2.6810 us/op | 2.5950 us/op | 1.03 |
| copy serialized Avg SignedBeaconBlock (200000 B) | 13.649 us/op | 14.089 us/op | 0.97 |
| transfer serialized BlobsSidecar (524380 B) | 3.1160 us/op | 2.9520 us/op | 1.06 |
| copy serialized BlobsSidecar (524380 B) | 122.01 us/op | 87.951 us/op | 1.39 |
| transfer serialized Big SignedBeaconBlock (1000000 B) | 3.6430 us/op | 3.5070 us/op | 1.04 |
| copy serialized Big SignedBeaconBlock (1000000 B) | 128.34 us/op | 326.06 us/op | 0.39 |
| pass gossip attestations to forkchoice per slot | 2.5343 ms/op | 2.5701 ms/op | 0.99 |
| forkChoice updateHead vc 100000 bc 64 eq 0 | 409.08 us/op | 471.84 us/op | 0.87 |
| forkChoice updateHead vc 600000 bc 64 eq 0 | 2.5407 ms/op | 2.6297 ms/op | 0.97 |
| forkChoice updateHead vc 1000000 bc 64 eq 0 | 4.4028 ms/op | 4.6138 ms/op | 0.95 |
| forkChoice updateHead vc 600000 bc 320 eq 0 | 2.3773 ms/op | 2.5207 ms/op | 0.94 |
| forkChoice updateHead vc 600000 bc 1200 eq 0 | 2.4207 ms/op | 2.5689 ms/op | 0.94 |
| forkChoice updateHead vc 600000 bc 7200 eq 0 | 2.8715 ms/op | 2.8233 ms/op | 1.02 |
| forkChoice updateHead vc 600000 bc 64 eq 1000 | 9.6579 ms/op | 9.6644 ms/op | 1.00 |
| forkChoice updateHead vc 600000 bc 64 eq 10000 | 9.5607 ms/op | 9.5619 ms/op | 1.00 |
| forkChoice updateHead vc 600000 bc 64 eq 300000 | 11.164 ms/op | 11.786 ms/op | 0.95 |
| computeDeltas 500000 validators 300 proto nodes | 2.9384 ms/op | 2.9917 ms/op | 0.98 |
| computeDeltas 500000 validators 1200 proto nodes | 2.9738 ms/op | 3.0944 ms/op | 0.96 |
| computeDeltas 500000 validators 7200 proto nodes | 3.0022 ms/op | 3.0398 ms/op | 0.99 |
| computeDeltas 750000 validators 300 proto nodes | 4.4005 ms/op | 4.6112 ms/op | 0.95 |
| computeDeltas 750000 validators 1200 proto nodes | 4.3275 ms/op | 4.5042 ms/op | 0.96 |
| computeDeltas 750000 validators 7200 proto nodes | 4.4188 ms/op | 4.3965 ms/op | 1.01 |
| computeDeltas 1400000 validators 300 proto nodes | 8.0880 ms/op | 8.2221 ms/op | 0.98 |
| computeDeltas 1400000 validators 1200 proto nodes | 8.4086 ms/op | 8.2180 ms/op | 1.02 |
| computeDeltas 1400000 validators 7200 proto nodes | 8.3330 ms/op | 8.1976 ms/op | 1.02 |
| computeDeltas 2100000 validators 300 proto nodes | 12.398 ms/op | 12.061 ms/op | 1.03 |
| computeDeltas 2100000 validators 1200 proto nodes | 12.861 ms/op | 12.074 ms/op | 1.07 |
| computeDeltas 2100000 validators 7200 proto nodes | 12.396 ms/op | 12.371 ms/op | 1.00 |
| altair processAttestation - 250000 vs - 7PWei normalcase | 1.3408 ms/op | 1.3205 ms/op | 1.02 |
| altair processAttestation - 250000 vs - 7PWei worstcase | 2.1045 ms/op | 2.0709 ms/op | 1.02 |
| altair processAttestation - setStatus - 1/6 committees join | 66.154 us/op | 60.905 us/op | 1.09 |
| altair processAttestation - setStatus - 1/3 committees join | 128.20 us/op | 122.72 us/op | 1.04 |
| altair processAttestation - setStatus - 1/2 committees join | 182.06 us/op | 190.82 us/op | 0.95 |
| altair processAttestation - setStatus - 2/3 committees join | 263.67 us/op | 260.91 us/op | 1.01 |
| altair processAttestation - setStatus - 4/5 committees join | 393.39 us/op | 382.79 us/op | 1.03 |
| altair processAttestation - setStatus - 100% committees join | 473.64 us/op | 461.22 us/op | 1.03 |
| altair processBlock - 250000 vs - 7PWei normalcase | 4.1153 ms/op | 4.0258 ms/op | 1.02 |
| altair processBlock - 250000 vs - 7PWei normalcase hashState | 30.374 ms/op | 29.123 ms/op | 1.04 |
| altair processBlock - 250000 vs - 7PWei worstcase | 42.510 ms/op | 42.882 ms/op | 0.99 |
| altair processBlock - 250000 vs - 7PWei worstcase hashState | 91.889 ms/op | 60.704 ms/op | 1.51 |
| phase0 processBlock - 250000 vs - 7PWei normalcase | 1.9077 ms/op | 1.7358 ms/op | 1.10 |
| phase0 processBlock - 250000 vs - 7PWei worstcase | 23.644 ms/op | 23.487 ms/op | 1.01 |
| altair processEth1Data - 250000 vs - 7PWei normalcase | 255.36 us/op | 242.22 us/op | 1.05 |
| getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 2.8780 us/op | 3.8410 us/op | 0.75 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 21.025 us/op | 18.332 us/op | 1.15 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 9.9430 us/op | 6.6010 us/op | 1.51 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 4.8920 us/op | 4.4490 us/op | 1.10 |
| getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 72.828 us/op | 69.419 us/op | 1.05 |
| getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 823.32 us/op | 752.50 us/op | 1.09 |
| getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.0401 ms/op | 641.96 us/op | 1.62 |
| getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 1.0619 ms/op | 1.0186 ms/op | 1.04 |
| getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 1.9398 ms/op | 1.9452 ms/op | 1.00 |
| getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 1.1075 ms/op | 1.2129 ms/op | 0.91 |
| getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 2.8694 ms/op | 3.1920 ms/op | 0.90 |
| Tree 40 250000 create | 182.49 ms/op | 173.63 ms/op | 1.05 |
| Tree 40 250000 get(125000) | 115.78 ns/op | 111.22 ns/op | 1.04 |
| Tree 40 250000 set(125000) | 517.40 ns/op | 506.95 ns/op | 1.02 |
| Tree 40 250000 toArray() | 12.483 ms/op | 9.5716 ms/op | 1.30 |
| Tree 40 250000 iterate all - toArray() + loop | 12.531 ms/op | 9.4960 ms/op | 1.32 |
| Tree 40 250000 iterate all - get(i) | 41.296 ms/op | 39.558 ms/op | 1.04 |
| MutableVector 250000 create | 11.421 ms/op | 7.6832 ms/op | 1.49 |
| MutableVector 250000 get(125000) | 6.2110 ns/op | 5.5880 ns/op | 1.11 |
| MutableVector 250000 set(125000) | 177.00 ns/op | 151.38 ns/op | 1.17 |
| MutableVector 250000 toArray() | 2.5911 ms/op | 2.9338 ms/op | 0.88 |
| MutableVector 250000 iterate all - toArray() + loop | 2.6852 ms/op | 3.0193 ms/op | 0.89 |
| MutableVector 250000 iterate all - get(i) | 1.4032 ms/op | 1.5593 ms/op | 0.90 |
| Array 250000 create | 2.3163 ms/op | 2.3377 ms/op | 0.99 |
| Array 250000 clone - spread | 1.2394 ms/op | 1.2525 ms/op | 0.99 |
| Array 250000 get(125000) | 0.57800 ns/op | 0.57500 ns/op | 1.01 |
| Array 250000 set(125000) | 0.59100 ns/op | 0.59800 ns/op | 0.99 |
| Array 250000 iterate all - loop | 76.916 us/op | 77.148 us/op | 1.00 |
| effectiveBalanceIncrements clone Uint8Array 300000 | 14.080 us/op | 13.514 us/op | 1.04 |
| effectiveBalanceIncrements clone MutableVector 300000 | 314.00 ns/op | 314.00 ns/op | 1.00 |
| effectiveBalanceIncrements rw all Uint8Array 300000 | 166.71 us/op | 167.07 us/op | 1.00 |
| effectiveBalanceIncrements rw all MutableVector 300000 | 50.870 ms/op | 50.373 ms/op | 1.01 |
| phase0 afterProcessEpoch - 250000 vs - 7PWei | 77.866 ms/op | 76.054 ms/op | 1.02 |
| phase0 beforeProcessEpoch - 250000 vs - 7PWei | 37.873 ms/op | 39.270 ms/op | 0.96 |
| altair processEpoch - mainnet_e81889 | 370.29 ms/op | 329.63 ms/op | 1.12 |
| mainnet_e81889 - altair beforeProcessEpoch | 59.259 ms/op | 35.486 ms/op | 1.67 |
| mainnet_e81889 - altair processJustificationAndFinalization | 9.2150 us/op | 10.356 us/op | 0.89 |
| mainnet_e81889 - altair processInactivityUpdates | 5.5260 ms/op | 5.4628 ms/op | 1.01 |
| mainnet_e81889 - altair processRewardsAndPenalties | 47.881 ms/op | 46.940 ms/op | 1.02 |
| mainnet_e81889 - altair processRegistryUpdates | 1.9140 us/op | 1.7930 us/op | 1.07 |
| mainnet_e81889 - altair processSlashings | 750.00 ns/op | 824.00 ns/op | 0.91 |
| mainnet_e81889 - altair processEth1DataReset | 740.00 ns/op | 735.00 ns/op | 1.01 |
| mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.2982 ms/op | 1.2955 ms/op | 1.00 |
| mainnet_e81889 - altair processSlashingsReset | 2.3100 us/op | 2.5020 us/op | 0.92 |
| mainnet_e81889 - altair processRandaoMixesReset | 2.6100 us/op | 2.7990 us/op | 0.93 |
| mainnet_e81889 - altair processHistoricalRootsUpdate | 703.00 ns/op | 710.00 ns/op | 0.99 |
| mainnet_e81889 - altair processParticipationFlagUpdates | 1.3880 us/op | 1.5550 us/op | 0.89 |
| mainnet_e81889 - altair processSyncCommitteeUpdates | 652.00 ns/op | 772.00 ns/op | 0.84 |
| mainnet_e81889 - altair afterProcessEpoch | 76.902 ms/op | 79.831 ms/op | 0.96 |
| capella processEpoch - mainnet_e217614 | 1.2177 s/op | 1.2421 s/op | 0.98 |
| mainnet_e217614 - capella beforeProcessEpoch | 226.91 ms/op | 236.03 ms/op | 0.96 |
| mainnet_e217614 - capella processJustificationAndFinalization | 8.7200 us/op | 11.981 us/op | 0.73 |
| mainnet_e217614 - capella processInactivityUpdates | 14.425 ms/op | 17.211 ms/op | 0.84 |
| mainnet_e217614 - capella processRewardsAndPenalties | 268.20 ms/op | 268.71 ms/op | 1.00 |
| mainnet_e217614 - capella processRegistryUpdates | 12.108 us/op | 13.790 us/op | 0.88 |
| mainnet_e217614 - capella processSlashings | 787.00 ns/op | 875.00 ns/op | 0.90 |
| mainnet_e217614 - capella processEth1DataReset | 738.00 ns/op | 995.00 ns/op | 0.74 |
| mainnet_e217614 - capella processEffectiveBalanceUpdates | 3.9097 ms/op | 15.735 ms/op | 0.25 |
| mainnet_e217614 - capella processSlashingsReset | 1.2120 us/op | 5.5430 us/op | 0.22 |
| mainnet_e217614 - capella processRandaoMixesReset | 1.5340 us/op | 5.1500 us/op | 0.30 |
| mainnet_e217614 - capella processHistoricalRootsUpdate | 722.00 ns/op | 1.5570 us/op | 0.46 |
| mainnet_e217614 - capella processParticipationFlagUpdates | 1.4140 us/op | 1.9510 us/op | 0.72 |
| mainnet_e217614 - capella afterProcessEpoch | 239.33 ms/op | 216.68 ms/op | 1.10 |
| phase0 processEpoch - mainnet_e58758 | 333.52 ms/op | 380.87 ms/op | 0.88 |
| mainnet_e58758 - phase0 beforeProcessEpoch | 102.63 ms/op | 121.94 ms/op | 0.84 |
| mainnet_e58758 - phase0 processJustificationAndFinalization | 9.8910 us/op | 18.443 us/op | 0.54 |
| mainnet_e58758 - phase0 processRewardsAndPenalties | 36.925 ms/op | 25.891 ms/op | 1.43 |
| mainnet_e58758 - phase0 processRegistryUpdates | 6.2220 us/op | 9.1420 us/op | 0.68 |
| mainnet_e58758 - phase0 processSlashings | 755.00 ns/op | 770.00 ns/op | 0.98 |
| mainnet_e58758 - phase0 processEth1DataReset | 742.00 ns/op | 856.00 ns/op | 0.87 |
| mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.0722 ms/op | 1.1723 ms/op | 0.91 |
| mainnet_e58758 - phase0 processSlashingsReset | 2.0700 us/op | 2.7470 us/op | 0.75 |
| mainnet_e58758 - phase0 processRandaoMixesReset | 2.5200 us/op | 2.0440 us/op | 1.23 |
| mainnet_e58758 - phase0 processHistoricalRootsUpdate | 673.00 ns/op | 441.00 ns/op | 1.53 |
| mainnet_e58758 - phase0 processParticipationRecordUpdates | 2.2140 us/op | 5.7860 us/op | 0.38 |
| mainnet_e58758 - phase0 afterProcessEpoch | 65.491 ms/op | 70.087 ms/op | 0.93 |
| phase0 processEffectiveBalanceUpdates - 250000 normalcase | 813.64 us/op | 813.58 us/op | 1.00 |
| phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 1.4432 ms/op | 1.3944 ms/op | 1.03 |
| altair processInactivityUpdates - 250000 normalcase | 16.750 ms/op | 18.115 ms/op | 0.92 |
| altair processInactivityUpdates - 250000 worstcase | 16.653 ms/op | 17.457 ms/op | 0.95 |
| phase0 processRegistryUpdates - 250000 normalcase | 3.2310 us/op | 5.9530 us/op | 0.54 |
| phase0 processRegistryUpdates - 250000 badcase_full_deposits | 322.06 us/op | 302.52 us/op | 1.06 |
| phase0 processRegistryUpdates - 250000 worstcase 0.5 | 103.26 ms/op | 110.36 ms/op | 0.94 |
| altair processRewardsAndPenalties - 250000 normalcase | 50.731 ms/op | 44.707 ms/op | 1.13 |
| altair processRewardsAndPenalties - 250000 worstcase | 41.663 ms/op | 36.224 ms/op | 1.15 |
| phase0 getAttestationDeltas - 250000 normalcase | 5.5377 ms/op | 7.2376 ms/op | 0.77 |
| phase0 getAttestationDeltas - 250000 worstcase | 6.0313 ms/op | 8.0911 ms/op | 0.75 |
| phase0 processSlashings - 250000 worstcase | 81.290 us/op | 94.771 us/op | 0.86 |
| altair processSyncCommitteeUpdates - 250000 | 99.229 ms/op | 115.98 ms/op | 0.86 |
| BeaconState.hashTreeRoot - No change | 467.00 ns/op | 616.00 ns/op | 0.76 |
| BeaconState.hashTreeRoot - 1 full validator | 147.34 us/op | 137.10 us/op | 1.07 |
| BeaconState.hashTreeRoot - 32 full validator | 1.5406 ms/op | 1.1547 ms/op | 1.33 |
| BeaconState.hashTreeRoot - 512 full validator | 13.629 ms/op | 12.793 ms/op | 1.07 |
| BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 146.52 us/op | 159.80 us/op | 0.92 |
| BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 1.8987 ms/op | 2.4495 ms/op | 0.78 |
| BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 25.016 ms/op | 31.628 ms/op | 0.79 |
| BeaconState.hashTreeRoot - 1 balances | 105.96 us/op | 120.70 us/op | 0.88 |
| BeaconState.hashTreeRoot - 32 balances | 1.2506 ms/op | 1.0581 ms/op | 1.18 |
| BeaconState.hashTreeRoot - 512 balances | 8.3085 ms/op | 6.7121 ms/op | 1.24 |
| BeaconState.hashTreeRoot - 250000 balances | 169.95 ms/op | 216.36 ms/op | 0.79 |
| aggregationBits - 2048 els - zipIndexesInBitList | 19.612 us/op | 31.026 us/op | 0.63 |
| byteArrayEquals 32 | 47.596 ns/op | 48.735 ns/op | 0.98 |
| Buffer.compare 32 | 15.482 ns/op | 15.542 ns/op | 1.00 |
| byteArrayEquals 1024 | 1.2653 us/op | 1.2757 us/op | 0.99 |
| Buffer.compare 1024 | 24.132 ns/op | 24.104 ns/op | 1.00 |
| byteArrayEquals 16384 | 20.060 us/op | 20.922 us/op | 0.96 |
| Buffer.compare 16384 | 179.06 ns/op | 184.75 ns/op | 0.97 |
| byteArrayEquals 123687377 | 146.31 ms/op | 157.45 ms/op | 0.93 |
| Buffer.compare 123687377 | 5.2964 ms/op | 6.9997 ms/op | 0.76 |
| byteArrayEquals 32 - diff last byte | 47.429 ns/op | 48.414 ns/op | 0.98 |
| Buffer.compare 32 - diff last byte | 16.838 ns/op | 16.244 ns/op | 1.04 |
| byteArrayEquals 1024 - diff last byte | 1.2596 us/op | 1.2996 us/op | 0.97 |
| Buffer.compare 1024 - diff last byte | 23.369 ns/op | 25.156 ns/op | 0.93 |
| byteArrayEquals 16384 - diff last byte | 20.072 us/op | 20.968 us/op | 0.96 |
| Buffer.compare 16384 - diff last byte | 254.83 ns/op | 206.13 ns/op | 1.24 |
| byteArrayEquals 123687377 - diff last byte | 150.75 ms/op | 152.30 ms/op | 0.99 |
| Buffer.compare 123687377 - diff last byte | 4.3520 ms/op | 6.5050 ms/op | 0.67 |
| byteArrayEquals 32 - random bytes | 4.8300 ns/op | 4.8290 ns/op | 1.00 |
| Buffer.compare 32 - random bytes | 16.794 ns/op | 15.669 ns/op | 1.07 |
| byteArrayEquals 1024 - random bytes | 4.8350 ns/op | 4.9140 ns/op | 0.98 |
| Buffer.compare 1024 - random bytes | 17.027 ns/op | 15.435 ns/op | 1.10 |
| byteArrayEquals 16384 - random bytes | 4.7920 ns/op | 4.9280 ns/op | 0.97 |
| Buffer.compare 16384 - random bytes | 16.990 ns/op | 15.685 ns/op | 1.08 |
| byteArrayEquals 123687377 - random bytes | 7.6100 ns/op | 7.9800 ns/op | 0.95 |
| Buffer.compare 123687377 - random bytes | 20.050 ns/op | 18.590 ns/op | 1.08 |
| regular array get 100000 times | 30.560 us/op | 30.655 us/op | 1.00 |
| wrappedArray get 100000 times | 30.532 us/op | 30.494 us/op | 1.00 |
| arrayWithProxy get 100000 times | 9.6846 ms/op | 8.8857 ms/op | 1.09 |
| ssz.Root.equals | 39.786 ns/op | 44.216 ns/op | 0.90 |
| byteArrayEquals | 39.675 ns/op | 43.019 ns/op | 0.92 |
| Buffer.compare | 8.1730 ns/op | 8.9440 ns/op | 0.91 |
| shuffle list - 16384 els | 4.9972 ms/op | 5.7012 ms/op | 0.88 |
| shuffle list - 250000 els | 73.687 ms/op | 81.917 ms/op | 0.90 |
| processSlot - 1 slots | 11.788 us/op | 11.994 us/op | 0.98 |
| processSlot - 32 slots | 3.5408 ms/op | 2.6349 ms/op | 1.34 |
| getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 43.302 ms/op | 36.560 ms/op | 1.18 |
| getCommitteeAssignments - req 1 vs - 250000 vc | 1.7888 ms/op | 1.7649 ms/op | 1.01 |
| getCommitteeAssignments - req 100 vs - 250000 vc | 3.5204 ms/op | 3.4828 ms/op | 1.01 |
| getCommitteeAssignments - req 1000 vs - 250000 vc | 3.7708 ms/op | 3.7196 ms/op | 1.01 |
| findModifiedValidators - 10000 modified validators | 245.35 ms/op | 216.53 ms/op | 1.13 |
| findModifiedValidators - 1000 modified validators | 153.71 ms/op | 146.48 ms/op | 1.05 |
| findModifiedValidators - 100 modified validators | 144.13 ms/op | 142.39 ms/op | 1.01 |
| findModifiedValidators - 10 modified validators | 147.34 ms/op | 135.05 ms/op | 1.09 |
| findModifiedValidators - 1 modified validators | 133.91 ms/op | 128.43 ms/op | 1.04 |
| findModifiedValidators - no difference | 148.70 ms/op | 156.97 ms/op | 0.95 |
| compare ViewDUs | 3.2146 s/op | 2.9490 s/op | 1.09 |
| compare each validator Uint8Array | 1.6929 s/op | 1.1731 s/op | 1.44 |
| compare ViewDU to Uint8Array | 639.24 ms/op | 725.82 ms/op | 0.88 |
| migrate state 1000000 validators, 24 modified, 0 new | 569.81 ms/op | 508.98 ms/op | 1.12 |
| migrate state 1000000 validators, 1700 modified, 1000 new | 807.98 ms/op | 677.18 ms/op | 1.19 |
| migrate state 1000000 validators, 3400 modified, 2000 new | 1.0139 s/op | 844.18 ms/op | 1.20 |
| migrate state 1500000 validators, 24 modified, 0 new | 575.81 ms/op | 533.91 ms/op | 1.08 |
| migrate state 1500000 validators, 1700 modified, 1000 new | 803.96 ms/op | 858.95 ms/op | 0.94 |
| migrate state 1500000 validators, 3400 modified, 2000 new | 956.93 ms/op | 978.06 ms/op | 0.98 |
| RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 5.9800 ns/op | 7.0400 ns/op | 0.85 |
| state getBlockRootAtSlot - 250000 vs - 7PWei | 366.23 ns/op | 357.81 ns/op | 1.02 |
| computeProposers - vc 250000 | 5.4807 ms/op | 5.3130 ms/op | 1.03 |
| computeEpochShuffling - vc 250000 | 81.779 ms/op | 83.497 ms/op | 0.98 |
| getNextSyncCommittee - vc 250000 | 106.52 ms/op | 94.406 ms/op | 1.13 |
| computeSigningRoot for AttestationData | 28.420 us/op | 15.766 us/op | 1.80 |
| hash AttestationData serialized data then Buffer.toString(base64) | 1.1407 us/op | 1.1652 us/op | 0.98 |
| toHexString serialized data | 713.80 ns/op | 803.09 ns/op | 0.89 |
| Buffer.toString(base64) | 136.29 ns/op | 150.52 ns/op | 0.91 |
by benchmarkbot/action
:tada: This PR is included in v1.20.0 :tada: