ChainSafe / lodestar

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

chore: remove unused code #6873

Closed jeluard closed 2 weeks ago

jeluard commented 3 weeks ago

Motivation

Keep codebase lean

github-actions[bot] commented 3 weeks ago

Performance Report

✔️ no performance regression detected

Full benchmark results | Benchmark suite | Current: fbb658cdb8e84acc0b6def416bb79b202da414b8 | Previous: 26e9bc4b15e8d04fe6af718934aee602da5d0a16 | Ratio | |-|-|-|-| | getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 798.31 us/op | 519.42 us/op | 1.54 | | getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 43.617 us/op | 58.876 us/op | 0.74 | | BLS verify - blst-native | 1.1007 ms/op | 1.2415 ms/op | 0.89 | | BLS verifyMultipleSignatures 3 - blst-native | 2.3621 ms/op | 2.6368 ms/op | 0.90 | | BLS verifyMultipleSignatures 8 - blst-native | 5.1741 ms/op | 5.8206 ms/op | 0.89 | | BLS verifyMultipleSignatures 32 - blst-native | 18.845 ms/op | 21.343 ms/op | 0.88 | | BLS verifyMultipleSignatures 64 - blst-native | 37.036 ms/op | 41.971 ms/op | 0.88 | | BLS verifyMultipleSignatures 128 - blst-native | 73.823 ms/op | 83.511 ms/op | 0.88 | | BLS deserializing 10000 signatures | 795.11 ms/op | 869.06 ms/op | 0.91 | | BLS deserializing 100000 signatures | 8.1463 s/op | 8.7299 s/op | 0.93 | | BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.1158 ms/op | 1.2502 ms/op | 0.89 | | BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.2480 ms/op | 1.4644 ms/op | 0.85 | | BLS verifyMultipleSignatures - same message - 32 - blst-native | 1.9796 ms/op | 2.2452 ms/op | 0.88 | | BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.7041 ms/op | 3.8425 ms/op | 0.96 | | BLS verifyMultipleSignatures - same message - 128 - blst-native | 5.1470 ms/op | 5.4766 ms/op | 0.94 | | BLS aggregatePubkeys 32 - blst-native | 24.419 us/op | 25.167 us/op | 0.97 | | BLS aggregatePubkeys 128 - blst-native | 92.626 us/op | 97.857 us/op | 0.95 | | notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 81.397 ms/op | 57.352 ms/op | 1.42 | | notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 82.633 ms/op | 54.937 ms/op | 1.50 | | notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 33.900 ms/op | 35.776 ms/op | 0.95 | | getSlashingsAndExits - default max | 93.894 us/op | 102.94 us/op | 0.91 | | getSlashingsAndExits - 2k | 263.28 us/op | 323.26 us/op | 0.81 | | proposeBlockBody type=full, size=empty | 4.9309 ms/op | 5.7112 ms/op | 0.86 | | isKnown best case - 1 super set check | 555.00 ns/op | 343.00 ns/op | 1.62 | | isKnown normal case - 2 super set checks | 571.00 ns/op | 318.00 ns/op | 1.80 | | isKnown worse case - 16 super set checks | 521.00 ns/op | 431.00 ns/op | 1.21 | | InMemoryCheckpointStateCache - add get delete | 4.4670 us/op | 5.5500 us/op | 0.80 | | validate api signedAggregateAndProof - struct | 2.3693 ms/op | 2.6960 ms/op | 0.88 | | validate gossip signedAggregateAndProof - struct | 2.4091 ms/op | 2.6381 ms/op | 0.91 | | validate gossip attestation - vc 640000 | 1.1961 ms/op | 1.2744 ms/op | 0.94 | | batch validate gossip attestation - vc 640000 - chunk 32 | 144.70 us/op | 150.11 us/op | 0.96 | | batch validate gossip attestation - vc 640000 - chunk 64 | 123.45 us/op | 133.81 us/op | 0.92 | | batch validate gossip attestation - vc 640000 - chunk 128 | 115.12 us/op | 115.97 us/op | 0.99 | | batch validate gossip attestation - vc 640000 - chunk 256 | 112.80 us/op | 111.46 us/op | 1.01 | | pickEth1Vote - no votes | 954.49 us/op | 1.0144 ms/op | 0.94 | | pickEth1Vote - max votes | 6.9695 ms/op | 8.3237 ms/op | 0.84 | | pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 17.420 ms/op | 14.925 ms/op | 1.17 | | pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 17.520 ms/op | 19.871 ms/op | 0.88 | | pickEth1Vote - Eth1Data fastSerialize value x2048 | 401.12 us/op | 457.63 us/op | 0.88 | | pickEth1Vote - Eth1Data fastSerialize tree x2048 | 3.8418 ms/op | 5.2902 ms/op | 0.73 | | bytes32 toHexString | 631.00 ns/op | 422.00 ns/op | 1.50 | | bytes32 Buffer.toString(hex) | 457.00 ns/op | 247.00 ns/op | 1.85 | | bytes32 Buffer.toString(hex) from Uint8Array | 621.00 ns/op | 352.00 ns/op | 1.76 | | bytes32 Buffer.toString(hex) + 0x | 452.00 ns/op | 247.00 ns/op | 1.83 | | Object access 1 prop | 0.32900 ns/op | 0.14900 ns/op | 2.21 | | Map access 1 prop | 0.33500 ns/op | 0.13800 ns/op | 2.43 | | Object get x1000 | 5.4060 ns/op | 5.8170 ns/op | 0.93 | | Map get x1000 | 6.0340 ns/op | 6.4440 ns/op | 0.94 | | Object set x1000 | 22.665 ns/op | 30.914 ns/op | 0.73 | | Map set x1000 | 19.129 ns/op | 21.234 ns/op | 0.90 | | Return object 10000 times | 0.31070 ns/op | 0.28060 ns/op | 1.11 | | Throw Error 10000 times | 2.8727 us/op | 3.2572 us/op | 0.88 | | fastMsgIdFn sha256 / 200 bytes | 2.0810 us/op | 2.0970 us/op | 0.99 | | fastMsgIdFn h32 xxhash / 200 bytes | 455.00 ns/op | 224.00 ns/op | 2.03 | | fastMsgIdFn h64 xxhash / 200 bytes | 513.00 ns/op | 268.00 ns/op | 1.91 | | fastMsgIdFn sha256 / 1000 bytes | 6.5400 us/op | 6.7920 us/op | 0.96 | | fastMsgIdFn h32 xxhash / 1000 bytes | 651.00 ns/op | 340.00 ns/op | 1.91 | | fastMsgIdFn h64 xxhash / 1000 bytes | 568.00 ns/op | 334.00 ns/op | 1.70 | | fastMsgIdFn sha256 / 10000 bytes | 53.785 us/op | 60.218 us/op | 0.89 | | fastMsgIdFn h32 xxhash / 10000 bytes | 2.0900 us/op | 1.7520 us/op | 1.19 | | fastMsgIdFn h64 xxhash / 10000 bytes | 1.3890 us/op | 1.1590 us/op | 1.20 | | send data - 1000 256B messages | 13.490 ms/op | 11.364 ms/op | 1.19 | | send data - 1000 512B messages | 17.411 ms/op | 15.810 ms/op | 1.10 | | send data - 1000 1024B messages | 24.505 ms/op | 24.777 ms/op | 0.99 | | send data - 1000 1200B messages | 25.369 ms/op | 25.329 ms/op | 1.00 | | send data - 1000 2048B messages | 25.830 ms/op | 31.225 ms/op | 0.83 | | send data - 1000 4096B messages | 25.636 ms/op | 30.807 ms/op | 0.83 | | send data - 1000 16384B messages | 67.563 ms/op | 66.629 ms/op | 1.01 | | send data - 1000 65536B messages | 274.47 ms/op | 202.68 ms/op | 1.35 | | enrSubnets - fastDeserialize 64 bits | 1.1360 us/op | 997.00 ns/op | 1.14 | | enrSubnets - ssz BitVector 64 bits | 551.00 ns/op | 354.00 ns/op | 1.56 | | enrSubnets - fastDeserialize 4 bits | 361.00 ns/op | 154.00 ns/op | 2.34 | | enrSubnets - ssz BitVector 4 bits | 577.00 ns/op | 355.00 ns/op | 1.63 | | prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 119.96 us/op | 134.21 us/op | 0.89 | | prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 138.82 us/op | 146.87 us/op | 0.95 | | prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 280.65 us/op | 260.58 us/op | 1.08 | | prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 432.84 us/op | 393.32 us/op | 1.10 | | prioritizePeers score 0:0 att 64-1 sync 4-1 | 547.97 us/op | 596.60 us/op | 0.92 | | array of 16000 items push then shift | 1.3123 us/op | 1.5420 us/op | 0.85 | | LinkedList of 16000 items push then shift | 8.1080 ns/op | 6.8030 ns/op | 1.19 | | array of 16000 items push then pop | 116.87 ns/op | 103.43 ns/op | 1.13 | | LinkedList of 16000 items push then pop | 6.5380 ns/op | 6.6180 ns/op | 0.99 | | array of 24000 items push then shift | 1.9083 us/op | 2.2665 us/op | 0.84 | | LinkedList of 24000 items push then shift | 7.6240 ns/op | 6.7740 ns/op | 1.13 | | array of 24000 items push then pop | 153.08 ns/op | 129.19 ns/op | 1.18 | | LinkedList of 24000 items push then pop | 6.5300 ns/op | 6.8140 ns/op | 0.96 | | intersect bitArray bitLen 8 | 5.6730 ns/op | 6.2100 ns/op | 0.91 | | intersect array and set length 8 | 40.109 ns/op | 49.387 ns/op | 0.81 | | intersect bitArray bitLen 128 | 27.006 ns/op | 29.562 ns/op | 0.91 | | intersect array and set length 128 | 686.96 ns/op | 701.75 ns/op | 0.98 | | bitArray.getTrueBitIndexes() bitLen 128 | 1.8430 us/op | 2.0040 us/op | 0.92 | | bitArray.getTrueBitIndexes() bitLen 248 | 2.8090 us/op | 3.3380 us/op | 0.84 | | bitArray.getTrueBitIndexes() bitLen 512 | 5.7060 us/op | 6.4130 us/op | 0.89 | | Buffer.concat 32 items | 1.0780 us/op | 942.00 ns/op | 1.14 | | Uint8Array.set 32 items | 2.2760 us/op | 1.5240 us/op | 1.49 | | Buffer.copy | 2.0520 us/op | 1.9000 us/op | 1.08 | | Uint8Array.set - with subarray | 2.9310 us/op | 2.8040 us/op | 1.05 | | Uint8Array.set - without subarray | 1.8510 us/op | 1.5370 us/op | 1.20 | | Set add up to 64 items then delete first | 1.8193 us/op | 2.1659 us/op | 0.84 | | OrderedSet add up to 64 items then delete first | 2.8151 us/op | 3.1726 us/op | 0.89 | | Set add up to 64 items then delete last | 2.0676 us/op | 2.6097 us/op | 0.79 | | OrderedSet add up to 64 items then delete last | 3.1062 us/op | 4.3227 us/op | 0.72 | | Set add up to 64 items then delete middle | 2.0834 us/op | 2.9462 us/op | 0.71 | | OrderedSet add up to 64 items then delete middle | 5.0767 us/op | 5.2838 us/op | 0.96 | | Set add up to 128 items then delete first | 4.3381 us/op | 5.5458 us/op | 0.78 | | OrderedSet add up to 128 items then delete first | 7.5218 us/op | 7.3523 us/op | 1.02 | | Set add up to 128 items then delete last | 4.5103 us/op | 5.2998 us/op | 0.85 | | OrderedSet add up to 128 items then delete last | 7.4257 us/op | 7.7345 us/op | 0.96 | | Set add up to 128 items then delete middle | 5.0903 us/op | 5.6294 us/op | 0.90 | | OrderedSet add up to 128 items then delete middle | 13.310 us/op | 15.938 us/op | 0.84 | | Set add up to 256 items then delete first | 9.9774 us/op | 10.609 us/op | 0.94 | | OrderedSet add up to 256 items then delete first | 16.687 us/op | 17.568 us/op | 0.95 | | Set add up to 256 items then delete last | 9.7175 us/op | 10.364 us/op | 0.94 | | OrderedSet add up to 256 items then delete last | 15.667 us/op | 16.185 us/op | 0.97 | | Set add up to 256 items then delete middle | 10.054 us/op | 10.949 us/op | 0.92 | | OrderedSet add up to 256 items then delete middle | 40.773 us/op | 42.338 us/op | 0.96 | | transfer serialized Status (84 B) | 1.6880 us/op | 1.4220 us/op | 1.19 | | copy serialized Status (84 B) | 1.4100 us/op | 1.1870 us/op | 1.19 | | transfer serialized SignedVoluntaryExit (112 B) | 1.6570 us/op | 1.5290 us/op | 1.08 | | copy serialized SignedVoluntaryExit (112 B) | 1.5780 us/op | 1.2800 us/op | 1.23 | | transfer serialized ProposerSlashing (416 B) | 2.2320 us/op | 1.8690 us/op | 1.19 | | copy serialized ProposerSlashing (416 B) | 2.0780 us/op | 1.5940 us/op | 1.30 | | transfer serialized Attestation (485 B) | 2.0160 us/op | 1.6600 us/op | 1.21 | | copy serialized Attestation (485 B) | 2.0390 us/op | 1.7390 us/op | 1.17 | | transfer serialized AttesterSlashing (33232 B) | 1.9870 us/op | 1.8980 us/op | 1.05 | | copy serialized AttesterSlashing (33232 B) | 7.6420 us/op | 6.5810 us/op | 1.16 | | transfer serialized Small SignedBeaconBlock (128000 B) | 2.3920 us/op | 2.7350 us/op | 0.87 | | copy serialized Small SignedBeaconBlock (128000 B) | 26.109 us/op | 19.992 us/op | 1.31 | | transfer serialized Avg SignedBeaconBlock (200000 B) | 3.5620 us/op | 3.3480 us/op | 1.06 | | copy serialized Avg SignedBeaconBlock (200000 B) | 41.791 us/op | 27.346 us/op | 1.53 | | transfer serialized BlobsSidecar (524380 B) | 4.2770 us/op | 3.9110 us/op | 1.09 | | copy serialized BlobsSidecar (524380 B) | 86.067 us/op | 92.737 us/op | 0.93 | | transfer serialized Big SignedBeaconBlock (1000000 B) | 4.6070 us/op | 3.6900 us/op | 1.25 | | copy serialized Big SignedBeaconBlock (1000000 B) | 150.55 us/op | 185.62 us/op | 0.81 | | pass gossip attestations to forkchoice per slot | 2.7411 ms/op | 3.0558 ms/op | 0.90 | | forkChoice updateHead vc 100000 bc 64 eq 0 | 565.48 us/op | 496.46 us/op | 1.14 | | forkChoice updateHead vc 600000 bc 64 eq 0 | 2.6843 ms/op | 3.4424 ms/op | 0.78 | | forkChoice updateHead vc 1000000 bc 64 eq 0 | 4.8001 ms/op | 5.6930 ms/op | 0.84 | | forkChoice updateHead vc 600000 bc 320 eq 0 | 2.5814 ms/op | 3.3580 ms/op | 0.77 | | forkChoice updateHead vc 600000 bc 1200 eq 0 | 2.9928 ms/op | 3.4941 ms/op | 0.86 | | forkChoice updateHead vc 600000 bc 7200 eq 0 | 3.4396 ms/op | 4.6043 ms/op | 0.75 | | forkChoice updateHead vc 600000 bc 64 eq 1000 | 10.122 ms/op | 10.783 ms/op | 0.94 | | forkChoice updateHead vc 600000 bc 64 eq 10000 | 10.223 ms/op | 11.078 ms/op | 0.92 | | forkChoice updateHead vc 600000 bc 64 eq 300000 | 12.619 ms/op | 17.519 ms/op | 0.72 | | computeDeltas 500000 validators 300 proto nodes | 3.6995 ms/op | 4.3188 ms/op | 0.86 | | computeDeltas 500000 validators 1200 proto nodes | 3.4081 ms/op | 4.2249 ms/op | 0.81 | | computeDeltas 500000 validators 7200 proto nodes | 3.3630 ms/op | 4.2645 ms/op | 0.79 | | computeDeltas 750000 validators 300 proto nodes | 5.2877 ms/op | 7.0848 ms/op | 0.75 | | computeDeltas 750000 validators 1200 proto nodes | 5.4075 ms/op | 7.2221 ms/op | 0.75 | | computeDeltas 750000 validators 7200 proto nodes | 5.5234 ms/op | 5.9511 ms/op | 0.93 | | computeDeltas 1400000 validators 300 proto nodes | 11.715 ms/op | 10.607 ms/op | 1.10 | | computeDeltas 1400000 validators 1200 proto nodes | 9.9675 ms/op | 10.461 ms/op | 0.95 | | computeDeltas 1400000 validators 7200 proto nodes | 10.331 ms/op | 11.751 ms/op | 0.88 | | computeDeltas 2100000 validators 300 proto nodes | 16.001 ms/op | 17.173 ms/op | 0.93 | | computeDeltas 2100000 validators 1200 proto nodes | 15.203 ms/op | 17.546 ms/op | 0.87 | | computeDeltas 2100000 validators 7200 proto nodes | 14.930 ms/op | 16.479 ms/op | 0.91 | | altair processAttestation - 250000 vs - 7PWei normalcase | 1.7087 ms/op | 2.3588 ms/op | 0.72 | | altair processAttestation - 250000 vs - 7PWei worstcase | 2.3077 ms/op | 4.0432 ms/op | 0.57 | | altair processAttestation - setStatus - 1/6 committees join | 87.503 us/op | 139.07 us/op | 0.63 | | altair processAttestation - setStatus - 1/3 committees join | 165.94 us/op | 211.76 us/op | 0.78 | | altair processAttestation - setStatus - 1/2 committees join | 224.39 us/op | 275.88 us/op | 0.81 | | altair processAttestation - setStatus - 2/3 committees join | 332.94 us/op | 349.93 us/op | 0.95 | | altair processAttestation - setStatus - 4/5 committees join | 455.93 us/op | 600.62 us/op | 0.76 | | altair processAttestation - setStatus - 100% committees join | 620.18 us/op | 645.37 us/op | 0.96 | | altair processBlock - 250000 vs - 7PWei normalcase | 5.8278 ms/op | 5.8120 ms/op | 1.00 | | altair processBlock - 250000 vs - 7PWei normalcase hashState | 32.904 ms/op | 26.226 ms/op | 1.25 | | altair processBlock - 250000 vs - 7PWei worstcase | 48.812 ms/op | 43.799 ms/op | 1.11 | | altair processBlock - 250000 vs - 7PWei worstcase hashState | 104.00 ms/op | 90.550 ms/op | 1.15 | | phase0 processBlock - 250000 vs - 7PWei normalcase | 3.0437 ms/op | 2.3775 ms/op | 1.28 | | phase0 processBlock - 250000 vs - 7PWei worstcase | 29.147 ms/op | 28.976 ms/op | 1.01 | | altair processEth1Data - 250000 vs - 7PWei normalcase | 294.99 us/op | 482.45 us/op | 0.61 | | getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 8.4820 us/op | 7.2220 us/op | 1.17 | | getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 35.735 us/op | 38.282 us/op | 0.93 | | getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 14.055 us/op | 12.496 us/op | 1.12 | | getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 10.984 us/op | 7.6170 us/op | 1.44 | | getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 120.40 us/op | 128.33 us/op | 0.94 | | getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 1.0952 ms/op | 671.26 us/op | 1.63 | | getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 2.2962 ms/op | 944.11 us/op | 2.43 | | getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 1.8126 ms/op | 898.58 us/op | 2.02 | | getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 3.8414 ms/op | 2.5675 ms/op | 1.50 | | getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 1.3839 ms/op | 1.6422 ms/op | 0.84 | | getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 3.5958 ms/op | 4.6207 ms/op | 0.78 | | Tree 40 250000 create | 271.97 ms/op | 262.17 ms/op | 1.04 | | Tree 40 250000 get(125000) | 140.90 ns/op | 160.45 ns/op | 0.88 | | Tree 40 250000 set(125000) | 667.82 ns/op | 979.52 ns/op | 0.68 | | Tree 40 250000 toArray() | 25.862 ms/op | 23.482 ms/op | 1.10 | | Tree 40 250000 iterate all - toArray() + loop | 26.132 ms/op | 25.527 ms/op | 1.02 | | Tree 40 250000 iterate all - get(i) | 57.843 ms/op | 58.836 ms/op | 0.98 | | MutableVector 250000 create | 12.298 ms/op | 9.5298 ms/op | 1.29 | | MutableVector 250000 get(125000) | 6.4760 ns/op | 8.1350 ns/op | 0.80 | | MutableVector 250000 set(125000) | 202.98 ns/op | 232.74 ns/op | 0.87 | | MutableVector 250000 toArray() | 4.2273 ms/op | 3.9805 ms/op | 1.06 | | MutableVector 250000 iterate all - toArray() + loop | 3.9602 ms/op | 4.2108 ms/op | 0.94 | | MutableVector 250000 iterate all - get(i) | 1.5230 ms/op | 1.6594 ms/op | 0.92 | | Array 250000 create | 3.4504 ms/op | 3.9067 ms/op | 0.88 | | Array 250000 clone - spread | 1.4135 ms/op | 1.5845 ms/op | 0.89 | | Array 250000 get(125000) | 0.60400 ns/op | 0.44200 ns/op | 1.37 | | Array 250000 set(125000) | 0.63300 ns/op | 0.45300 ns/op | 1.40 | | Array 250000 iterate all - loop | 86.630 us/op | 109.09 us/op | 0.79 | | effectiveBalanceIncrements clone Uint8Array 300000 | 15.927 us/op | 39.969 us/op | 0.40 | | effectiveBalanceIncrements clone MutableVector 300000 | 322.00 ns/op | 134.00 ns/op | 2.40 | | effectiveBalanceIncrements rw all Uint8Array 300000 | 172.85 us/op | 197.95 us/op | 0.87 | | effectiveBalanceIncrements rw all MutableVector 300000 | 58.743 ms/op | 72.856 ms/op | 0.81 | | phase0 afterProcessEpoch - 250000 vs - 7PWei | 79.365 ms/op | 88.647 ms/op | 0.90 | | phase0 beforeProcessEpoch - 250000 vs - 7PWei | 34.550 ms/op | 44.834 ms/op | 0.77 | | altair processEpoch - mainnet_e81889 | 353.31 ms/op | 404.09 ms/op | 0.87 | | mainnet_e81889 - altair beforeProcessEpoch | 59.660 ms/op | 79.383 ms/op | 0.75 | | mainnet_e81889 - altair processJustificationAndFinalization | 5.7770 us/op | 15.058 us/op | 0.38 | | mainnet_e81889 - altair processInactivityUpdates | 4.0455 ms/op | 8.4820 ms/op | 0.48 | | mainnet_e81889 - altair processRewardsAndPenalties | 43.993 ms/op | 47.082 ms/op | 0.93 | | mainnet_e81889 - altair processRegistryUpdates | 1.9680 us/op | 2.7720 us/op | 0.71 | | mainnet_e81889 - altair processSlashings | 754.00 ns/op | 507.00 ns/op | 1.49 | | mainnet_e81889 - altair processEth1DataReset | 662.00 ns/op | 394.00 ns/op | 1.68 | | mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.3164 ms/op | 1.2024 ms/op | 1.09 | | mainnet_e81889 - altair processSlashingsReset | 2.2170 us/op | 3.0720 us/op | 0.72 | | mainnet_e81889 - altair processRandaoMixesReset | 3.0280 us/op | 5.4890 us/op | 0.55 | | mainnet_e81889 - altair processHistoricalRootsUpdate | 687.00 ns/op | 579.00 ns/op | 1.19 | | mainnet_e81889 - altair processParticipationFlagUpdates | 1.5300 us/op | 1.9560 us/op | 0.78 | | mainnet_e81889 - altair processSyncCommitteeUpdates | 677.00 ns/op | 499.00 ns/op | 1.36 | | mainnet_e81889 - altair afterProcessEpoch | 75.987 ms/op | 94.067 ms/op | 0.81 | | capella processEpoch - mainnet_e217614 | 1.2084 s/op | 1.3883 s/op | 0.87 | | mainnet_e217614 - capella beforeProcessEpoch | 237.70 ms/op | 299.46 ms/op | 0.79 | | mainnet_e217614 - capella processJustificationAndFinalization | 13.747 us/op | 18.639 us/op | 0.74 | | mainnet_e217614 - capella processInactivityUpdates | 15.927 ms/op | 20.391 ms/op | 0.78 | | mainnet_e217614 - capella processRewardsAndPenalties | 245.67 ms/op | 262.89 ms/op | 0.93 | | mainnet_e217614 - capella processRegistryUpdates | 14.282 us/op | 17.114 us/op | 0.83 | | mainnet_e217614 - capella processSlashings | 825.00 ns/op | 427.00 ns/op | 1.93 | | mainnet_e217614 - capella processEth1DataReset | 843.00 ns/op | 1.1270 us/op | 0.75 | | mainnet_e217614 - capella processEffectiveBalanceUpdates | 2.8876 ms/op | 5.1686 ms/op | 0.56 | | mainnet_e217614 - capella processSlashingsReset | 2.9400 us/op | 3.9270 us/op | 0.75 | | mainnet_e217614 - capella processRandaoMixesReset | 12.765 us/op | 5.8190 us/op | 2.19 | | mainnet_e217614 - capella processHistoricalRootsUpdate | 1.1370 us/op | 502.00 ns/op | 2.26 | | mainnet_e217614 - capella processParticipationFlagUpdates | 4.2250 us/op | 3.0450 us/op | 1.39 | | mainnet_e217614 - capella afterProcessEpoch | 219.14 ms/op | 247.77 ms/op | 0.88 | | phase0 processEpoch - mainnet_e58758 | 398.57 ms/op | 400.19 ms/op | 1.00 | | mainnet_e58758 - phase0 beforeProcessEpoch | 114.89 ms/op | 130.58 ms/op | 0.88 | | mainnet_e58758 - phase0 processJustificationAndFinalization | 13.567 us/op | 20.769 us/op | 0.65 | | mainnet_e58758 - phase0 processRewardsAndPenalties | 39.849 ms/op | 27.665 ms/op | 1.44 | | mainnet_e58758 - phase0 processRegistryUpdates | 8.7270 us/op | 9.9850 us/op | 0.87 | | mainnet_e58758 - phase0 processSlashings | 776.00 ns/op | 410.00 ns/op | 1.89 | | mainnet_e58758 - phase0 processEth1DataReset | 815.00 ns/op | 418.00 ns/op | 1.95 | | mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.1570 ms/op | 956.96 us/op | 1.21 | | mainnet_e58758 - phase0 processSlashingsReset | 4.5560 us/op | 3.1070 us/op | 1.47 | | mainnet_e58758 - phase0 processRandaoMixesReset | 5.6170 us/op | 6.8370 us/op | 0.82 | | mainnet_e58758 - phase0 processHistoricalRootsUpdate | 1.0470 us/op | 401.00 ns/op | 2.61 | | mainnet_e58758 - phase0 processParticipationRecordUpdates | 3.3300 us/op | 3.3520 us/op | 0.99 | | mainnet_e58758 - phase0 afterProcessEpoch | 69.192 ms/op | 80.930 ms/op | 0.85 | | phase0 processEffectiveBalanceUpdates - 250000 normalcase | 814.44 us/op | 1.1480 ms/op | 0.71 | | phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 1.1822 ms/op | 2.2797 ms/op | 0.52 | | altair processInactivityUpdates - 250000 normalcase | 23.152 ms/op | 18.622 ms/op | 1.24 | | altair processInactivityUpdates - 250000 worstcase | 21.288 ms/op | 19.150 ms/op | 1.11 | | phase0 processRegistryUpdates - 250000 normalcase | 7.9350 us/op | 7.7480 us/op | 1.02 | | phase0 processRegistryUpdates - 250000 badcase_full_deposits | 288.20 us/op | 281.15 us/op | 1.03 | | phase0 processRegistryUpdates - 250000 worstcase 0.5 | 108.39 ms/op | 127.86 ms/op | 0.85 | | altair processRewardsAndPenalties - 250000 normalcase | 48.453 ms/op | 48.046 ms/op | 1.01 | | altair processRewardsAndPenalties - 250000 worstcase | 46.442 ms/op | 45.093 ms/op | 1.03 | | phase0 getAttestationDeltas - 250000 normalcase | 5.7012 ms/op | 9.1923 ms/op | 0.62 | | phase0 getAttestationDeltas - 250000 worstcase | 6.3649 ms/op | 10.176 ms/op | 0.63 | | phase0 processSlashings - 250000 worstcase | 88.775 us/op | 111.06 us/op | 0.80 | | altair processSyncCommitteeUpdates - 250000 | 122.59 ms/op | 142.30 ms/op | 0.86 | | BeaconState.hashTreeRoot - No change | 711.00 ns/op | 346.00 ns/op | 2.05 | | BeaconState.hashTreeRoot - 1 full validator | 128.70 us/op | 158.68 us/op | 0.81 | | BeaconState.hashTreeRoot - 32 full validator | 1.2190 ms/op | 1.6272 ms/op | 0.75 | | BeaconState.hashTreeRoot - 512 full validator | 12.220 ms/op | 13.650 ms/op | 0.90 | | BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 117.48 us/op | 132.57 us/op | 0.89 | | BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 2.0220 ms/op | 1.8266 ms/op | 1.11 | | BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 29.865 ms/op | 22.801 ms/op | 1.31 | | BeaconState.hashTreeRoot - 1 balances | 88.048 us/op | 95.582 us/op | 0.92 | | BeaconState.hashTreeRoot - 32 balances | 869.00 us/op | 1.1308 ms/op | 0.77 | | BeaconState.hashTreeRoot - 512 balances | 6.6410 ms/op | 12.653 ms/op | 0.52 | | BeaconState.hashTreeRoot - 250000 balances | 153.71 ms/op | 185.16 ms/op | 0.83 | | aggregationBits - 2048 els - zipIndexesInBitList | 22.886 us/op | 31.426 us/op | 0.73 | | byteArrayEquals 32 | 47.248 ns/op | 54.299 ns/op | 0.87 | | Buffer.compare 32 | 38.432 ns/op | 46.387 ns/op | 0.83 | | byteArrayEquals 1024 | 1.2738 us/op | 1.6068 us/op | 0.79 | | Buffer.compare 1024 | 44.337 ns/op | 54.759 ns/op | 0.81 | | byteArrayEquals 16384 | 20.548 us/op | 25.402 us/op | 0.81 | | Buffer.compare 16384 | 218.39 ns/op | 240.00 ns/op | 0.91 | | byteArrayEquals 123687377 | 148.12 ms/op | 191.73 ms/op | 0.77 | | Buffer.compare 123687377 | 5.6936 ms/op | 9.3186 ms/op | 0.61 | | byteArrayEquals 32 - diff last byte | 46.587 ns/op | 54.126 ns/op | 0.86 | | Buffer.compare 32 - diff last byte | 38.148 ns/op | 45.915 ns/op | 0.83 | | byteArrayEquals 1024 - diff last byte | 1.2390 us/op | 1.5728 us/op | 0.79 | | Buffer.compare 1024 - diff last byte | 43.696 ns/op | 58.656 ns/op | 0.74 | | byteArrayEquals 16384 - diff last byte | 19.219 us/op | 25.026 us/op | 0.77 | | Buffer.compare 16384 - diff last byte | 210.61 ns/op | 241.39 ns/op | 0.87 | | byteArrayEquals 123687377 - diff last byte | 148.96 ms/op | 191.43 ms/op | 0.78 | | Buffer.compare 123687377 - diff last byte | 5.3381 ms/op | 8.3215 ms/op | 0.64 | | byteArrayEquals 32 - random bytes | 4.9100 ns/op | 5.2280 ns/op | 0.94 | | Buffer.compare 32 - random bytes | 39.728 ns/op | 48.714 ns/op | 0.82 | | byteArrayEquals 1024 - random bytes | 4.9070 ns/op | 5.2190 ns/op | 0.94 | | Buffer.compare 1024 - random bytes | 37.163 ns/op | 46.836 ns/op | 0.79 | | byteArrayEquals 16384 - random bytes | 4.8940 ns/op | 5.1840 ns/op | 0.94 | | Buffer.compare 16384 - random bytes | 37.523 ns/op | 45.534 ns/op | 0.82 | | byteArrayEquals 123687377 - random bytes | 7.6600 ns/op | 6.4800 ns/op | 1.18 | | Buffer.compare 123687377 - random bytes | 40.540 ns/op | 48.200 ns/op | 0.84 | | regular array get 100000 times | 31.228 us/op | 33.933 us/op | 0.92 | | wrappedArray get 100000 times | 31.276 us/op | 32.849 us/op | 0.95 | | arrayWithProxy get 100000 times | 9.3246 ms/op | 12.810 ms/op | 0.73 | | ssz.Root.equals | 44.526 ns/op | 45.693 ns/op | 0.97 | | byteArrayEquals | 43.875 ns/op | 44.876 ns/op | 0.98 | | Buffer.compare | 9.6360 ns/op | 10.319 ns/op | 0.93 | | shuffle list - 16384 els | 5.4909 ms/op | 6.4350 ms/op | 0.85 | | shuffle list - 250000 els | 81.039 ms/op | 93.681 ms/op | 0.87 | | processSlot - 1 slots | 12.989 us/op | 13.748 us/op | 0.94 | | processSlot - 32 slots | 3.2501 ms/op | 3.0297 ms/op | 1.07 | | getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 37.073 ms/op | 37.287 ms/op | 0.99 | | getCommitteeAssignments - req 1 vs - 250000 vc | 1.7747 ms/op | 2.2143 ms/op | 0.80 | | getCommitteeAssignments - req 100 vs - 250000 vc | 3.5046 ms/op | 4.1999 ms/op | 0.83 | | getCommitteeAssignments - req 1000 vs - 250000 vc | 3.8101 ms/op | 4.5662 ms/op | 0.83 | | findModifiedValidators - 10000 modified validators | 341.33 ms/op | 297.91 ms/op | 1.15 | | findModifiedValidators - 1000 modified validators | 174.94 ms/op | 195.41 ms/op | 0.90 | | findModifiedValidators - 100 modified validators | 161.66 ms/op | 214.67 ms/op | 0.75 | | findModifiedValidators - 10 modified validators | 152.79 ms/op | 255.91 ms/op | 0.60 | | findModifiedValidators - 1 modified validators | 176.95 ms/op | 262.26 ms/op | 0.67 | | findModifiedValidators - no difference | 158.29 ms/op | 219.66 ms/op | 0.72 | | compare ViewDUs | 3.2867 s/op | 3.6250 s/op | 0.91 | | compare each validator Uint8Array | 1.4716 s/op | 1.2542 s/op | 1.17 | | compare ViewDU to Uint8Array | 912.26 ms/op | 1.0210 s/op | 0.89 | | migrate state 1000000 validators, 24 modified, 0 new | 542.22 ms/op | 572.24 ms/op | 0.95 | | migrate state 1000000 validators, 1700 modified, 1000 new | 741.18 ms/op | 773.49 ms/op | 0.96 | | migrate state 1000000 validators, 3400 modified, 2000 new | 987.83 ms/op | 1.0637 s/op | 0.93 | | migrate state 1500000 validators, 24 modified, 0 new | 587.94 ms/op | 709.86 ms/op | 0.83 | | migrate state 1500000 validators, 1700 modified, 1000 new | 806.37 ms/op | 894.52 ms/op | 0.90 | | migrate state 1500000 validators, 3400 modified, 2000 new | 955.77 ms/op | 1.0717 s/op | 0.89 | | RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 7.2700 ns/op | 4.7500 ns/op | 1.53 | | state getBlockRootAtSlot - 250000 vs - 7PWei | 398.24 ns/op | 469.77 ns/op | 0.85 | | computeProposers - vc 250000 | 5.8548 ms/op | 7.4461 ms/op | 0.79 | | computeEpochShuffling - vc 250000 | 84.664 ms/op | 94.728 ms/op | 0.89 | | getNextSyncCommittee - vc 250000 | 106.14 ms/op | 127.02 ms/op | 0.84 | | computeSigningRoot for AttestationData | 16.587 us/op | 23.356 us/op | 0.71 | | hash AttestationData serialized data then Buffer.toString(base64) | 1.2609 us/op | 1.5867 us/op | 0.79 | | toHexString serialized data | 796.15 ns/op | 958.92 ns/op | 0.83 | | Buffer.toString(base64) | 141.96 ns/op | 210.74 ns/op | 0.67 |

by benchmarkbot/action

codecov[bot] commented 2 weeks ago

Codecov Report

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

Project coverage is 62.76%. Comparing base (26e9bc4) to head (a9117dd).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## unstable #6873 +/- ## ========================================= Coverage 62.76% 62.76% ========================================= Files 578 578 Lines 61278 61273 -5 Branches 2121 2115 -6 ========================================= - Hits 38459 38456 -3 + Misses 22781 22779 -2 Partials 38 38 ```