ChainSafe / lodestar

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

chore: bump @chainsafe/blst to v0.2.11 #6856

Closed wemeetagain closed 4 weeks ago

wemeetagain commented 4 weeks ago

Motivation

To unblock 1.19.0, we need a newly build blst for node 22

Description

codecov[bot] commented 4 weeks ago

Codecov Report

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

Project coverage is 62.19%. Comparing base (2249ac1) to head (ddb20b6).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## unstable #6856 +/- ## ============================================ - Coverage 62.20% 62.19% -0.01% ============================================ Files 571 571 Lines 60021 60021 Branches 1976 1973 -3 ============================================ - Hits 37334 37333 -1 - Misses 22644 22645 +1 Partials 43 43 ```
github-actions[bot] commented 4 weeks ago

Performance Report

✔️ no performance regression detected

Full benchmark results | Benchmark suite | Current: 0a8af202476c10ade13be8011165d34f661d8084 | Previous: 2249ac1bbc0618d629186d4e90960a4892de9bcf | Ratio | |-|-|-|-| | getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 733.88 us/op | 894.36 us/op | 0.82 | | getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 74.880 us/op | 73.064 us/op | 1.02 | | BLS verify - blst-native | 1.2747 ms/op | 1.3744 ms/op | 0.93 | | BLS verifyMultipleSignatures 3 - blst-native | 2.6913 ms/op | 2.7395 ms/op | 0.98 | | BLS verifyMultipleSignatures 8 - blst-native | 6.0834 ms/op | 6.0000 ms/op | 1.01 | | BLS verifyMultipleSignatures 32 - blst-native | 21.983 ms/op | 22.608 ms/op | 0.97 | | BLS verifyMultipleSignatures 64 - blst-native | 42.747 ms/op | 43.441 ms/op | 0.98 | | BLS verifyMultipleSignatures 128 - blst-native | 86.051 ms/op | 85.534 ms/op | 1.01 | | BLS deserializing 10000 signatures | 949.58 ms/op | 916.09 ms/op | 1.04 | | BLS deserializing 100000 signatures | 9.4390 s/op | 9.7727 s/op | 0.97 | | BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.2935 ms/op | 1.3583 ms/op | 0.95 | | BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.5406 ms/op | 1.5366 ms/op | 1.00 | | BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.8728 ms/op | 2.3981 ms/op | 1.20 | | BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.5078 ms/op | 3.9067 ms/op | 0.90 | | BLS verifyMultipleSignatures - same message - 128 - blst-native | 5.8350 ms/op | 7.1019 ms/op | 0.82 | | BLS aggregatePubkeys 32 - blst-native | 26.617 us/op | 27.611 us/op | 0.96 | | BLS aggregatePubkeys 128 - blst-native | 103.75 us/op | 102.46 us/op | 1.01 | | notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 83.909 ms/op | 89.149 ms/op | 0.94 | | notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 93.771 ms/op | 78.807 ms/op | 1.19 | | notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 39.700 ms/op | 36.771 ms/op | 1.08 | | getSlashingsAndExits - default max | 163.59 us/op | 118.00 us/op | 1.39 | | getSlashingsAndExits - 2k | 598.89 us/op | 285.16 us/op | 2.10 | | proposeBlockBody type=full, size=empty | 5.8014 ms/op | 5.2302 ms/op | 1.11 | | isKnown best case - 1 super set check | 640.00 ns/op | 298.00 ns/op | 2.15 | | isKnown normal case - 2 super set checks | 586.00 ns/op | 282.00 ns/op | 2.08 | | isKnown worse case - 16 super set checks | 623.00 ns/op | 277.00 ns/op | 2.25 | | InMemoryCheckpointStateCache - add get delete | 7.8470 us/op | 4.4500 us/op | 1.76 | | validate api signedAggregateAndProof - struct | 2.7346 ms/op | 2.6310 ms/op | 1.04 | | validate gossip signedAggregateAndProof - struct | 2.7266 ms/op | 2.6372 ms/op | 1.03 | | validate gossip attestation - vc 640000 | 1.3299 ms/op | 1.3055 ms/op | 1.02 | | batch validate gossip attestation - vc 640000 - chunk 32 | 169.17 us/op | 161.58 us/op | 1.05 | | batch validate gossip attestation - vc 640000 - chunk 64 | 147.32 us/op | 152.27 us/op | 0.97 | | batch validate gossip attestation - vc 640000 - chunk 128 | 138.22 us/op | 136.32 us/op | 1.01 | | batch validate gossip attestation - vc 640000 - chunk 256 | 135.38 us/op | 132.43 us/op | 1.02 | | pickEth1Vote - no votes | 1.2417 ms/op | 1.1750 ms/op | 1.06 | | pickEth1Vote - max votes | 11.431 ms/op | 9.8188 ms/op | 1.16 | | pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 17.333 ms/op | 14.595 ms/op | 1.19 | | pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 28.883 ms/op | 23.648 ms/op | 1.22 | | pickEth1Vote - Eth1Data fastSerialize value x2048 | 649.77 us/op | 622.90 us/op | 1.04 | | pickEth1Vote - Eth1Data fastSerialize tree x2048 | 5.6373 ms/op | 5.3319 ms/op | 1.06 | | bytes32 toHexString | 780.00 ns/op | 683.00 ns/op | 1.14 | | bytes32 Buffer.toString(hex) | 285.00 ns/op | 277.00 ns/op | 1.03 | | bytes32 Buffer.toString(hex) from Uint8Array | 529.00 ns/op | 481.00 ns/op | 1.10 | | bytes32 Buffer.toString(hex) + 0x | 267.00 ns/op | 271.00 ns/op | 0.99 | | Object access 1 prop | 0.20600 ns/op | 0.21600 ns/op | 0.95 | | Map access 1 prop | 0.14100 ns/op | 0.14700 ns/op | 0.96 | | Object get x1000 | 6.6850 ns/op | 6.7520 ns/op | 0.99 | | Map get x1000 | 6.7210 ns/op | 7.1680 ns/op | 0.94 | | Object set x1000 | 56.289 ns/op | 43.677 ns/op | 1.29 | | Map set x1000 | 35.086 ns/op | 33.039 ns/op | 1.06 | | Return object 10000 times | 0.31750 ns/op | 0.36190 ns/op | 0.88 | | Throw Error 10000 times | 3.6227 us/op | 4.0607 us/op | 0.89 | | fastMsgIdFn sha256 / 200 bytes | 2.4520 us/op | 2.4720 us/op | 0.99 | | fastMsgIdFn h32 xxhash / 200 bytes | 318.00 ns/op | 302.00 ns/op | 1.05 | | fastMsgIdFn h64 xxhash / 200 bytes | 294.00 ns/op | 300.00 ns/op | 0.98 | | fastMsgIdFn sha256 / 1000 bytes | 7.5680 us/op | 8.2630 us/op | 0.92 | | fastMsgIdFn h32 xxhash / 1000 bytes | 471.00 ns/op | 569.00 ns/op | 0.83 | | fastMsgIdFn h64 xxhash / 1000 bytes | 409.00 ns/op | 402.00 ns/op | 1.02 | | fastMsgIdFn sha256 / 10000 bytes | 67.250 us/op | 69.317 us/op | 0.97 | | fastMsgIdFn h32 xxhash / 10000 bytes | 2.0340 us/op | 2.0180 us/op | 1.01 | | fastMsgIdFn h64 xxhash / 10000 bytes | 1.3090 us/op | 1.2800 us/op | 1.02 | | send data - 1000 256B messages | 19.264 ms/op | 15.252 ms/op | 1.26 | | send data - 1000 512B messages | 23.289 ms/op | 19.895 ms/op | 1.17 | | send data - 1000 1024B messages | 31.359 ms/op | 28.806 ms/op | 1.09 | | send data - 1000 1200B messages | 36.120 ms/op | 32.519 ms/op | 1.11 | | send data - 1000 2048B messages | 49.236 ms/op | 44.438 ms/op | 1.11 | | send data - 1000 4096B messages | 43.646 ms/op | 40.070 ms/op | 1.09 | | send data - 1000 16384B messages | 158.78 ms/op | 100.51 ms/op | 1.58 | | send data - 1000 65536B messages | 474.54 ms/op | 283.77 ms/op | 1.67 | | enrSubnets - fastDeserialize 64 bits | 1.6920 us/op | 1.8140 us/op | 0.93 | | enrSubnets - ssz BitVector 64 bits | 513.00 ns/op | 503.00 ns/op | 1.02 | | enrSubnets - fastDeserialize 4 bits | 232.00 ns/op | 229.00 ns/op | 1.01 | | enrSubnets - ssz BitVector 4 bits | 526.00 ns/op | 490.00 ns/op | 1.07 | | prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 240.38 us/op | 218.44 us/op | 1.10 | | prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 240.50 us/op | 346.37 us/op | 0.69 | | prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 389.86 us/op | 543.87 us/op | 0.72 | | prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 600.44 us/op | 632.97 us/op | 0.95 | | prioritizePeers score 0:0 att 64-1 sync 4-1 | 808.51 us/op | 1.1756 ms/op | 0.69 | | array of 16000 items push then shift | 2.0766 us/op | 2.1737 us/op | 0.96 | | LinkedList of 16000 items push then shift | 11.888 ns/op | 14.016 ns/op | 0.85 | | array of 16000 items push then pop | 156.96 ns/op | 172.77 ns/op | 0.91 | | LinkedList of 16000 items push then pop | 9.3110 ns/op | 7.9780 ns/op | 1.17 | | array of 24000 items push then shift | 2.5566 us/op | 2.6596 us/op | 0.96 | | LinkedList of 24000 items push then shift | 11.181 ns/op | 8.3120 ns/op | 1.35 | | array of 24000 items push then pop | 200.59 ns/op | 199.81 ns/op | 1.00 | | LinkedList of 24000 items push then pop | 9.9630 ns/op | 9.1710 ns/op | 1.09 | | intersect bitArray bitLen 8 | 6.9420 ns/op | 7.2120 ns/op | 0.96 | | intersect array and set length 8 | 56.159 ns/op | 82.886 ns/op | 0.68 | | intersect bitArray bitLen 128 | 32.363 ns/op | 32.232 ns/op | 1.00 | | intersect array and set length 128 | 959.45 ns/op | 1.0857 us/op | 0.88 | | bitArray.getTrueBitIndexes() bitLen 128 | 2.3290 us/op | 3.2790 us/op | 0.71 | | bitArray.getTrueBitIndexes() bitLen 248 | 3.2660 us/op | 4.4610 us/op | 0.73 | | bitArray.getTrueBitIndexes() bitLen 512 | 6.4650 us/op | 11.812 us/op | 0.55 | | Buffer.concat 32 items | 1.1330 us/op | 1.1600 us/op | 0.98 | | Uint8Array.set 32 items | 2.1180 us/op | 2.3580 us/op | 0.90 | | Buffer.copy | 2.2600 us/op | 2.7540 us/op | 0.82 | | Uint8Array.set - with subarray | 3.4010 us/op | 3.7990 us/op | 0.90 | | Uint8Array.set - without subarray | 1.9500 us/op | 2.5200 us/op | 0.77 | | Set add up to 64 items then delete first | 2.8717 us/op | 2.8920 us/op | 0.99 | | OrderedSet add up to 64 items then delete first | 4.5772 us/op | 4.5526 us/op | 1.01 | | Set add up to 64 items then delete last | 3.4472 us/op | 3.2406 us/op | 1.06 | | OrderedSet add up to 64 items then delete last | 5.2419 us/op | 4.7901 us/op | 1.09 | | Set add up to 64 items then delete middle | 3.5112 us/op | 3.1911 us/op | 1.10 | | OrderedSet add up to 64 items then delete middle | 6.9040 us/op | 6.7541 us/op | 1.02 | | Set add up to 128 items then delete first | 6.9705 us/op | 6.8629 us/op | 1.02 | | OrderedSet add up to 128 items then delete first | 11.297 us/op | 10.877 us/op | 1.04 | | Set add up to 128 items then delete last | 6.8817 us/op | 7.1360 us/op | 0.96 | | OrderedSet add up to 128 items then delete last | 10.286 us/op | 10.110 us/op | 1.02 | | Set add up to 128 items then delete middle | 6.3107 us/op | 6.4477 us/op | 0.98 | | OrderedSet add up to 128 items then delete middle | 17.265 us/op | 16.874 us/op | 1.02 | | Set add up to 256 items then delete first | 14.150 us/op | 13.792 us/op | 1.03 | | OrderedSet add up to 256 items then delete first | 21.692 us/op | 21.212 us/op | 1.02 | | Set add up to 256 items then delete last | 13.120 us/op | 12.857 us/op | 1.02 | | OrderedSet add up to 256 items then delete last | 20.131 us/op | 20.005 us/op | 1.01 | | Set add up to 256 items then delete middle | 13.031 us/op | 12.823 us/op | 1.02 | | OrderedSet add up to 256 items then delete middle | 47.991 us/op | 48.182 us/op | 1.00 | | transfer serialized Status (84 B) | 1.5390 us/op | 1.5210 us/op | 1.01 | | copy serialized Status (84 B) | 1.5440 us/op | 1.3250 us/op | 1.17 | | transfer serialized SignedVoluntaryExit (112 B) | 1.7870 us/op | 1.5190 us/op | 1.18 | | copy serialized SignedVoluntaryExit (112 B) | 1.4660 us/op | 1.3490 us/op | 1.09 | | transfer serialized ProposerSlashing (416 B) | 2.1250 us/op | 2.1800 us/op | 0.97 | | copy serialized ProposerSlashing (416 B) | 2.2350 us/op | 2.1640 us/op | 1.03 | | transfer serialized Attestation (485 B) | 2.1770 us/op | 2.8210 us/op | 0.77 | | copy serialized Attestation (485 B) | 2.3270 us/op | 2.2510 us/op | 1.03 | | transfer serialized AttesterSlashing (33232 B) | 2.4700 us/op | 2.7080 us/op | 0.91 | | copy serialized AttesterSlashing (33232 B) | 12.015 us/op | 8.7810 us/op | 1.37 | | transfer serialized Small SignedBeaconBlock (128000 B) | 3.3800 us/op | 3.1240 us/op | 1.08 | | copy serialized Small SignedBeaconBlock (128000 B) | 29.935 us/op | 20.719 us/op | 1.44 | | transfer serialized Avg SignedBeaconBlock (200000 B) | 4.1470 us/op | 3.8500 us/op | 1.08 | | copy serialized Avg SignedBeaconBlock (200000 B) | 45.140 us/op | 34.049 us/op | 1.33 | | transfer serialized BlobsSidecar (524380 B) | 5.2280 us/op | 3.9090 us/op | 1.34 | | copy serialized BlobsSidecar (524380 B) | 123.54 us/op | 94.902 us/op | 1.30 | | transfer serialized Big SignedBeaconBlock (1000000 B) | 4.8520 us/op | 4.4030 us/op | 1.10 | | copy serialized Big SignedBeaconBlock (1000000 B) | 492.31 us/op | 202.72 us/op | 2.43 | | pass gossip attestations to forkchoice per slot | 3.4563 ms/op | 3.2582 ms/op | 1.06 | | forkChoice updateHead vc 100000 bc 64 eq 0 | 535.78 us/op | 571.16 us/op | 0.94 | | forkChoice updateHead vc 600000 bc 64 eq 0 | 4.0653 ms/op | 3.8266 ms/op | 1.06 | | forkChoice updateHead vc 1000000 bc 64 eq 0 | 8.5605 ms/op | 5.9866 ms/op | 1.43 | | forkChoice updateHead vc 600000 bc 320 eq 0 | 3.8440 ms/op | 3.7129 ms/op | 1.04 | | forkChoice updateHead vc 600000 bc 1200 eq 0 | 4.7408 ms/op | 3.8609 ms/op | 1.23 | | forkChoice updateHead vc 600000 bc 7200 eq 0 | 5.2519 ms/op | 5.3774 ms/op | 0.98 | | forkChoice updateHead vc 600000 bc 64 eq 1000 | 11.305 ms/op | 11.329 ms/op | 1.00 | | forkChoice updateHead vc 600000 bc 64 eq 10000 | 12.807 ms/op | 11.487 ms/op | 1.11 | | forkChoice updateHead vc 600000 bc 64 eq 300000 | 62.404 ms/op | 23.355 ms/op | 2.67 | | computeDeltas 500000 validators 300 proto nodes | 4.7937 ms/op | 4.2562 ms/op | 1.13 | | computeDeltas 500000 validators 1200 proto nodes | 4.7075 ms/op | 4.2093 ms/op | 1.12 | | computeDeltas 500000 validators 7200 proto nodes | 5.2100 ms/op | 5.1676 ms/op | 1.01 | | computeDeltas 750000 validators 300 proto nodes | 7.0262 ms/op | 5.8038 ms/op | 1.21 | | computeDeltas 750000 validators 1200 proto nodes | 6.4746 ms/op | 5.7493 ms/op | 1.13 | | computeDeltas 750000 validators 7200 proto nodes | 6.5129 ms/op | 5.8838 ms/op | 1.11 | | computeDeltas 1400000 validators 300 proto nodes | 12.075 ms/op | 11.468 ms/op | 1.05 | | computeDeltas 1400000 validators 1200 proto nodes | 12.423 ms/op | 11.743 ms/op | 1.06 | | computeDeltas 1400000 validators 7200 proto nodes | 13.817 ms/op | 11.515 ms/op | 1.20 | | computeDeltas 2100000 validators 300 proto nodes | 19.142 ms/op | 16.145 ms/op | 1.19 | | computeDeltas 2100000 validators 1200 proto nodes | 18.605 ms/op | 16.789 ms/op | 1.11 | | computeDeltas 2100000 validators 7200 proto nodes | 17.169 ms/op | 16.074 ms/op | 1.07 | | altair processAttestation - 250000 vs - 7PWei normalcase | 2.9592 ms/op | 2.3020 ms/op | 1.29 | | altair processAttestation - 250000 vs - 7PWei worstcase | 3.2244 ms/op | 3.2778 ms/op | 0.98 | | altair processAttestation - setStatus - 1/6 committees join | 102.29 us/op | 110.83 us/op | 0.92 | | altair processAttestation - setStatus - 1/3 committees join | 203.46 us/op | 207.25 us/op | 0.98 | | altair processAttestation - setStatus - 1/2 committees join | 275.48 us/op | 296.98 us/op | 0.93 | | altair processAttestation - setStatus - 2/3 committees join | 348.45 us/op | 355.89 us/op | 0.98 | | altair processAttestation - setStatus - 4/5 committees join | 527.03 us/op | 534.37 us/op | 0.99 | | altair processAttestation - setStatus - 100% committees join | 743.43 us/op | 633.43 us/op | 1.17 | | altair processBlock - 250000 vs - 7PWei normalcase | 4.5306 ms/op | 6.6747 ms/op | 0.68 | | altair processBlock - 250000 vs - 7PWei normalcase hashState | 25.210 ms/op | 28.586 ms/op | 0.88 | | altair processBlock - 250000 vs - 7PWei worstcase | 51.960 ms/op | 46.392 ms/op | 1.12 | | altair processBlock - 250000 vs - 7PWei worstcase hashState | 86.943 ms/op | 99.219 ms/op | 0.88 | | phase0 processBlock - 250000 vs - 7PWei normalcase | 2.5810 ms/op | 2.5190 ms/op | 1.02 | | phase0 processBlock - 250000 vs - 7PWei worstcase | 30.703 ms/op | 28.267 ms/op | 1.09 | | altair processEth1Data - 250000 vs - 7PWei normalcase | 314.50 us/op | 293.07 us/op | 1.07 | | getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 8.2790 us/op | 6.2240 us/op | 1.33 | | getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 32.419 us/op | 22.865 us/op | 1.42 | | getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 12.243 us/op | 7.8420 us/op | 1.56 | | getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 9.1450 us/op | 8.8550 us/op | 1.03 | | getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 122.79 us/op | 115.42 us/op | 1.06 | | getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 1.1566 ms/op | 920.23 us/op | 1.26 | | getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.6056 ms/op | 1.6349 ms/op | 0.98 | | getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 892.62 us/op | 935.40 us/op | 0.95 | | getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 2.1205 ms/op | 2.5575 ms/op | 0.83 | | getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 2.9561 ms/op | 1.6260 ms/op | 1.82 | | getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 3.3124 ms/op | 3.8832 ms/op | 0.85 | | Tree 40 250000 create | 214.02 ms/op | 231.40 ms/op | 0.92 | | Tree 40 250000 get(125000) | 145.24 ns/op | 162.39 ns/op | 0.89 | | Tree 40 250000 set(125000) | 701.94 ns/op | 765.44 ns/op | 0.92 | | Tree 40 250000 toArray() | 15.583 ms/op | 22.263 ms/op | 0.70 | | Tree 40 250000 iterate all - toArray() + loop | 17.809 ms/op | 19.601 ms/op | 0.91 | | Tree 40 250000 iterate all - get(i) | 50.964 ms/op | 51.885 ms/op | 0.98 | | MutableVector 250000 create | 13.057 ms/op | 14.194 ms/op | 0.92 | | MutableVector 250000 get(125000) | 6.4230 ns/op | 11.029 ns/op | 0.58 | | MutableVector 250000 set(125000) | 202.81 ns/op | 328.29 ns/op | 0.62 | | MutableVector 250000 toArray() | 3.5269 ms/op | 4.7636 ms/op | 0.74 | | MutableVector 250000 iterate all - toArray() + loop | 3.6459 ms/op | 5.0971 ms/op | 0.72 | | MutableVector 250000 iterate all - get(i) | 1.7713 ms/op | 1.6527 ms/op | 1.07 | | Array 250000 create | 3.1184 ms/op | 4.2366 ms/op | 0.74 | | Array 250000 clone - spread | 1.5427 ms/op | 1.6393 ms/op | 0.94 | | Array 250000 get(125000) | 0.41000 ns/op | 0.45800 ns/op | 0.90 | | Array 250000 set(125000) | 0.43500 ns/op | 0.49500 ns/op | 0.88 | | Array 250000 iterate all - loop | 109.40 us/op | 86.973 us/op | 1.26 | | effectiveBalanceIncrements clone Uint8Array 300000 | 30.476 us/op | 90.237 us/op | 0.34 | | effectiveBalanceIncrements clone MutableVector 300000 | 123.00 ns/op | 135.00 ns/op | 0.91 | | effectiveBalanceIncrements rw all Uint8Array 300000 | 201.01 us/op | 205.90 us/op | 0.98 | | effectiveBalanceIncrements rw all MutableVector 300000 | 69.207 ms/op | 67.010 ms/op | 1.03 | | phase0 afterProcessEpoch - 250000 vs - 7PWei | 87.982 ms/op | 92.755 ms/op | 0.95 | | phase0 beforeProcessEpoch - 250000 vs - 7PWei | 33.464 ms/op | 34.493 ms/op | 0.97 | | altair processEpoch - mainnet_e81889 | 385.87 ms/op | 387.31 ms/op | 1.00 | | mainnet_e81889 - altair beforeProcessEpoch | 47.635 ms/op | 49.972 ms/op | 0.95 | | mainnet_e81889 - altair processJustificationAndFinalization | 22.093 us/op | 11.727 us/op | 1.88 | | mainnet_e81889 - altair processInactivityUpdates | 5.7457 ms/op | 6.0351 ms/op | 0.95 | | mainnet_e81889 - altair processRewardsAndPenalties | 51.666 ms/op | 55.738 ms/op | 0.93 | | mainnet_e81889 - altair processRegistryUpdates | 3.0800 us/op | 3.0220 us/op | 1.02 | | mainnet_e81889 - altair processSlashings | 624.00 ns/op | 661.00 ns/op | 0.94 | | mainnet_e81889 - altair processEth1DataReset | 511.00 ns/op | 978.00 ns/op | 0.52 | | mainnet_e81889 - altair processEffectiveBalanceUpdates | 2.0822 ms/op | 2.0343 ms/op | 1.02 | | mainnet_e81889 - altair processSlashingsReset | 6.8130 us/op | 2.9150 us/op | 2.34 | | mainnet_e81889 - altair processRandaoMixesReset | 8.6580 us/op | 9.0230 us/op | 0.96 | | mainnet_e81889 - altair processHistoricalRootsUpdate | 1.1400 us/op | 576.00 ns/op | 1.98 | | mainnet_e81889 - altair processParticipationFlagUpdates | 2.8370 us/op | 5.2990 us/op | 0.54 | | mainnet_e81889 - altair processSyncCommitteeUpdates | 798.00 ns/op | 752.00 ns/op | 1.06 | | mainnet_e81889 - altair afterProcessEpoch | 90.669 ms/op | 103.52 ms/op | 0.88 | | capella processEpoch - mainnet_e217614 | 1.3447 s/op | 1.2813 s/op | 1.05 | | mainnet_e217614 - capella beforeProcessEpoch | 260.60 ms/op | 253.59 ms/op | 1.03 | | mainnet_e217614 - capella processJustificationAndFinalization | 16.678 us/op | 16.061 us/op | 1.04 | | mainnet_e217614 - capella processInactivityUpdates | 18.601 ms/op | 17.043 ms/op | 1.09 | | mainnet_e217614 - capella processRewardsAndPenalties | 269.40 ms/op | 257.61 ms/op | 1.05 | | mainnet_e217614 - capella processRegistryUpdates | 14.162 us/op | 13.655 us/op | 1.04 | | mainnet_e217614 - capella processSlashings | 685.00 ns/op | 347.00 ns/op | 1.97 | | mainnet_e217614 - capella processEth1DataReset | 598.00 ns/op | 376.00 ns/op | 1.59 | | mainnet_e217614 - capella processEffectiveBalanceUpdates | 13.250 ms/op | 18.175 ms/op | 0.73 | | mainnet_e217614 - capella processSlashingsReset | 4.4130 us/op | 9.4010 us/op | 0.47 | | mainnet_e217614 - capella processRandaoMixesReset | 9.0650 us/op | 9.8060 us/op | 0.92 | | mainnet_e217614 - capella processHistoricalRootsUpdate | 711.00 ns/op | 823.00 ns/op | 0.86 | | mainnet_e217614 - capella processParticipationFlagUpdates | 3.1080 us/op | 4.6510 us/op | 0.67 | | mainnet_e217614 - capella afterProcessEpoch | 271.89 ms/op | 295.26 ms/op | 0.92 | | phase0 processEpoch - mainnet_e58758 | 383.25 ms/op | 412.19 ms/op | 0.93 | | mainnet_e58758 - phase0 beforeProcessEpoch | 104.18 ms/op | 118.71 ms/op | 0.88 | | mainnet_e58758 - phase0 processJustificationAndFinalization | 23.688 us/op | 13.933 us/op | 1.70 | | mainnet_e58758 - phase0 processRewardsAndPenalties | 41.990 ms/op | 26.783 ms/op | 1.57 | | mainnet_e58758 - phase0 processRegistryUpdates | 8.5610 us/op | 10.642 us/op | 0.80 | | mainnet_e58758 - phase0 processSlashings | 544.00 ns/op | 397.00 ns/op | 1.37 | | mainnet_e58758 - phase0 processEth1DataReset | 859.00 ns/op | 341.00 ns/op | 2.52 | | mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.7164 ms/op | 1.1450 ms/op | 1.50 | | mainnet_e58758 - phase0 processSlashingsReset | 5.0530 us/op | 3.9770 us/op | 1.27 | | mainnet_e58758 - phase0 processRandaoMixesReset | 7.0040 us/op | 6.6180 us/op | 1.06 | | mainnet_e58758 - phase0 processHistoricalRootsUpdate | 606.00 ns/op | 686.00 ns/op | 0.88 | | mainnet_e58758 - phase0 processParticipationRecordUpdates | 4.5870 us/op | 4.4330 us/op | 1.03 | | mainnet_e58758 - phase0 afterProcessEpoch | 80.902 ms/op | 83.407 ms/op | 0.97 | | phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.3427 ms/op | 1.3683 ms/op | 0.98 | | phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 2.3896 ms/op | 2.0554 ms/op | 1.16 | | altair processInactivityUpdates - 250000 normalcase | 21.148 ms/op | 19.708 ms/op | 1.07 | | altair processInactivityUpdates - 250000 worstcase | 22.271 ms/op | 19.827 ms/op | 1.12 | | phase0 processRegistryUpdates - 250000 normalcase | 9.6410 us/op | 7.1560 us/op | 1.35 | | phase0 processRegistryUpdates - 250000 badcase_full_deposits | 337.47 us/op | 340.96 us/op | 0.99 | | phase0 processRegistryUpdates - 250000 worstcase 0.5 | 135.97 ms/op | 135.57 ms/op | 1.00 | | altair processRewardsAndPenalties - 250000 normalcase | 41.499 ms/op | 44.971 ms/op | 0.92 | | altair processRewardsAndPenalties - 250000 worstcase | 42.118 ms/op | 42.981 ms/op | 0.98 | | phase0 getAttestationDeltas - 250000 normalcase | 7.8334 ms/op | 7.4270 ms/op | 1.05 | | phase0 getAttestationDeltas - 250000 worstcase | 8.6695 ms/op | 8.3982 ms/op | 1.03 | | phase0 processSlashings - 250000 worstcase | 103.26 us/op | 115.94 us/op | 0.89 | | altair processSyncCommitteeUpdates - 250000 | 127.54 ms/op | 148.22 ms/op | 0.86 | | BeaconState.hashTreeRoot - No change | 278.00 ns/op | 373.00 ns/op | 0.75 | | BeaconState.hashTreeRoot - 1 full validator | 88.745 us/op | 121.06 us/op | 0.73 | | BeaconState.hashTreeRoot - 32 full validator | 1.1915 ms/op | 1.0361 ms/op | 1.15 | | BeaconState.hashTreeRoot - 512 full validator | 12.201 ms/op | 14.809 ms/op | 0.82 | | BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 135.58 us/op | 139.60 us/op | 0.97 | | BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 1.7399 ms/op | 1.5719 ms/op | 1.11 | | BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 22.313 ms/op | 24.266 ms/op | 0.92 | | BeaconState.hashTreeRoot - 1 balances | 106.14 us/op | 138.47 us/op | 0.77 | | BeaconState.hashTreeRoot - 32 balances | 855.88 us/op | 1.0646 ms/op | 0.80 | | BeaconState.hashTreeRoot - 512 balances | 10.391 ms/op | 10.223 ms/op | 1.02 | | BeaconState.hashTreeRoot - 250000 balances | 206.55 ms/op | 198.15 ms/op | 1.04 | | aggregationBits - 2048 els - zipIndexesInBitList | 25.220 us/op | 25.268 us/op | 1.00 | | byteArrayEquals 32 | 54.394 ns/op | 55.523 ns/op | 0.98 | | Buffer.compare 32 | 47.371 ns/op | 50.700 ns/op | 0.93 | | byteArrayEquals 1024 | 1.5933 us/op | 1.6343 us/op | 0.97 | | Buffer.compare 1024 | 54.520 ns/op | 55.259 ns/op | 0.99 | | byteArrayEquals 16384 | 25.409 us/op | 26.017 us/op | 0.98 | | Buffer.compare 16384 | 215.09 ns/op | 226.19 ns/op | 0.95 | | byteArrayEquals 123687377 | 192.61 ms/op | 195.83 ms/op | 0.98 | | Buffer.compare 123687377 | 6.7304 ms/op | 8.6268 ms/op | 0.78 | | byteArrayEquals 32 - diff last byte | 55.233 ns/op | 55.244 ns/op | 1.00 | | Buffer.compare 32 - diff last byte | 47.331 ns/op | 52.937 ns/op | 0.89 | | byteArrayEquals 1024 - diff last byte | 1.7257 us/op | 1.6562 us/op | 1.04 | | Buffer.compare 1024 - diff last byte | 59.227 ns/op | 59.614 ns/op | 0.99 | | byteArrayEquals 16384 - diff last byte | 27.462 us/op | 25.865 us/op | 1.06 | | Buffer.compare 16384 - diff last byte | 244.07 ns/op | 247.46 ns/op | 0.99 | | byteArrayEquals 123687377 - diff last byte | 199.48 ms/op | 202.14 ms/op | 0.99 | | Buffer.compare 123687377 - diff last byte | 13.940 ms/op | 8.6474 ms/op | 1.61 | | byteArrayEquals 32 - random bytes | 6.1440 ns/op | 5.3920 ns/op | 1.14 | | Buffer.compare 32 - random bytes | 52.440 ns/op | 49.827 ns/op | 1.05 | | byteArrayEquals 1024 - random bytes | 5.6350 ns/op | 5.4010 ns/op | 1.04 | | Buffer.compare 1024 - random bytes | 48.816 ns/op | 47.332 ns/op | 1.03 | | byteArrayEquals 16384 - random bytes | 5.4290 ns/op | 5.3060 ns/op | 1.02 | | Buffer.compare 16384 - random bytes | 47.119 ns/op | 47.121 ns/op | 1.00 | | byteArrayEquals 123687377 - random bytes | 7.1000 ns/op | 6.6500 ns/op | 1.07 | | Buffer.compare 123687377 - random bytes | 50.210 ns/op | 49.600 ns/op | 1.01 | | regular array get 100000 times | 35.194 us/op | 34.126 us/op | 1.03 | | wrappedArray get 100000 times | 34.907 us/op | 43.440 us/op | 0.80 | | arrayWithProxy get 100000 times | 13.379 ms/op | 13.884 ms/op | 0.96 | | ssz.Root.equals | 47.159 ns/op | 46.940 ns/op | 1.00 | | byteArrayEquals | 47.187 ns/op | 46.485 ns/op | 1.02 | | Buffer.compare | 11.301 ns/op | 10.958 ns/op | 1.03 | | shuffle list - 16384 els | 6.7796 ms/op | 6.8165 ms/op | 0.99 | | shuffle list - 250000 els | 97.292 ms/op | 97.466 ms/op | 1.00 | | processSlot - 1 slots | 16.237 us/op | 14.077 us/op | 1.15 | | processSlot - 32 slots | 3.6226 ms/op | 3.7536 ms/op | 0.97 | | getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 40.112 ms/op | 39.279 ms/op | 1.02 | | getCommitteeAssignments - req 1 vs - 250000 vc | 2.3629 ms/op | 2.2447 ms/op | 1.05 | | getCommitteeAssignments - req 100 vs - 250000 vc | 4.3399 ms/op | 4.2923 ms/op | 1.01 | | getCommitteeAssignments - req 1000 vs - 250000 vc | 4.6280 ms/op | 4.7132 ms/op | 0.98 | | findModifiedValidators - 10000 modified validators | 325.93 ms/op | 281.08 ms/op | 1.16 | | findModifiedValidators - 1000 modified validators | 204.19 ms/op | 199.73 ms/op | 1.02 | | findModifiedValidators - 100 modified validators | 222.24 ms/op | 181.66 ms/op | 1.22 | | findModifiedValidators - 10 modified validators | 219.69 ms/op | 171.86 ms/op | 1.28 | | findModifiedValidators - 1 modified validators | 228.71 ms/op | 173.37 ms/op | 1.32 | | findModifiedValidators - no difference | 199.83 ms/op | 160.24 ms/op | 1.25 | | compare ViewDUs | 3.5553 s/op | 3.2650 s/op | 1.09 | | compare each validator Uint8Array | 1.4762 s/op | 1.2865 s/op | 1.15 | | compare ViewDU to Uint8Array | 1.3484 s/op | 1.1053 s/op | 1.22 | | migrate state 1000000 validators, 24 modified, 0 new | 633.76 ms/op | 613.21 ms/op | 1.03 | | migrate state 1000000 validators, 1700 modified, 1000 new | 804.87 ms/op | 868.96 ms/op | 0.93 | | migrate state 1000000 validators, 3400 modified, 2000 new | 1.1227 s/op | 1.0786 s/op | 1.04 | | migrate state 1500000 validators, 24 modified, 0 new | 710.33 ms/op | 612.87 ms/op | 1.16 | | migrate state 1500000 validators, 1700 modified, 1000 new | 983.57 ms/op | 824.70 ms/op | 1.19 | | migrate state 1500000 validators, 3400 modified, 2000 new | 1.2265 s/op | 957.05 ms/op | 1.28 | | RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 5.4800 ns/op | 4.3000 ns/op | 1.27 | | state getBlockRootAtSlot - 250000 vs - 7PWei | 783.56 ns/op | 437.08 ns/op | 1.79 | | computeProposers - vc 250000 | 9.2058 ms/op | 7.0999 ms/op | 1.30 | | computeEpochShuffling - vc 250000 | 107.92 ms/op | 94.635 ms/op | 1.14 | | getNextSyncCommittee - vc 250000 | 158.80 ms/op | 122.84 ms/op | 1.29 | | computeSigningRoot for AttestationData | 29.158 us/op | 19.493 us/op | 1.50 | | hash AttestationData serialized data then Buffer.toString(base64) | 1.7794 us/op | 1.5866 us/op | 1.12 | | toHexString serialized data | 1.3269 us/op | 883.34 ns/op | 1.50 | | Buffer.toString(base64) | 239.46 ns/op | 166.25 ns/op | 1.44 |

by benchmarkbot/action

wemeetagain commented 3 weeks ago

:tada: This PR is included in v1.19.0 :tada: