Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #6723 +/- ##
============================================
- Coverage 62.20% 62.20% -0.01%
============================================
Files 570 571 +1
Lines 59987 60025 +38
Branches 1977 1982 +5
============================================
+ Hits 37316 37338 +22
- Misses 22628 22643 +15
- Partials 43 44 +1 |
|
| Benchmark suite | Current: bbf146f | Previous: 6c20dc2 | Ratio |
|---|---|---|---|
| forkChoice updateHead vc 600000 bc 64 eq 300000 | 47.757 ms/op | 14.748 ms/op | 3.24 |
Full benchmark results
| Benchmark suite | Current: bbf146f | Previous: 6c20dc2 | Ratio |
|---|---|---|---|
| getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 981.99 us/op | 937.18 us/op | 1.05 |
| getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 121.92 us/op | 59.558 us/op | 2.05 |
| BLS verify - blst-native | 1.2980 ms/op | 1.2077 ms/op | 1.07 |
| BLS verifyMultipleSignatures 3 - blst-native | 2.5062 ms/op | 2.3369 ms/op | 1.07 |
| BLS verifyMultipleSignatures 8 - blst-native | 5.4072 ms/op | 5.0469 ms/op | 1.07 |
| BLS verifyMultipleSignatures 32 - blst-native | 19.988 ms/op | 18.335 ms/op | 1.09 |
| BLS verifyMultipleSignatures 64 - blst-native | 38.335 ms/op | 36.018 ms/op | 1.06 |
| BLS verifyMultipleSignatures 128 - blst-native | 74.965 ms/op | 71.419 ms/op | 1.05 |
| BLS deserializing 10000 signatures | 898.69 ms/op | 854.63 ms/op | 1.05 |
| BLS deserializing 100000 signatures | 9.1303 s/op | 9.2720 s/op | 0.98 |
| BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.3487 ms/op | 1.4046 ms/op | 0.96 |
| BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.5377 ms/op | 1.5175 ms/op | 1.01 |
| BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.4523 ms/op | 2.3688 ms/op | 1.04 |
| BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.5982 ms/op | 3.5393 ms/op | 1.02 |
| BLS verifyMultipleSignatures - same message - 128 - blst-native | 6.2220 ms/op | 5.8684 ms/op | 1.06 |
| BLS aggregatePubkeys 32 - blst-native | 29.635 us/op | 29.865 us/op | 0.99 |
| BLS aggregatePubkeys 128 - blst-native | 117.11 us/op | 116.12 us/op | 1.01 |
| notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 78.117 ms/op | 95.663 ms/op | 0.82 |
| notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 84.644 ms/op | 66.410 ms/op | 1.27 |
| notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 38.165 ms/op | 30.486 ms/op | 1.25 |
| getSlashingsAndExits - default max | 322.10 us/op | 206.38 us/op | 1.56 |
| getSlashingsAndExits - 2k | 599.12 us/op | 369.60 us/op | 1.62 |
| proposeBlockBody type=full, size=empty | 5.9585 ms/op | 5.7577 ms/op | 1.03 |
| isKnown best case - 1 super set check | 637.00 ns/op | 488.00 ns/op | 1.31 |
| isKnown normal case - 2 super set checks | 698.00 ns/op | 323.00 ns/op | 2.16 |
| isKnown worse case - 16 super set checks | 631.00 ns/op | 287.00 ns/op | 2.20 |
| InMemoryCheckpointStateCache - add get delete | 7.0220 us/op | 5.0530 us/op | 1.39 |
| validate api signedAggregateAndProof - struct | 2.4469 ms/op | 2.2557 ms/op | 1.08 |
| validate gossip signedAggregateAndProof - struct | 2.3306 ms/op | 2.2391 ms/op | 1.04 |
| validate gossip attestation - vc 640000 | 1.3539 ms/op | 1.2916 ms/op | 1.05 |
| batch validate gossip attestation - vc 640000 - chunk 32 | 171.45 us/op | 165.25 us/op | 1.04 |
| batch validate gossip attestation - vc 640000 - chunk 64 | 160.38 us/op | 143.41 us/op | 1.12 |
| batch validate gossip attestation - vc 640000 - chunk 128 | 157.42 us/op | 138.18 us/op | 1.14 |
| batch validate gossip attestation - vc 640000 - chunk 256 | 134.15 us/op | 148.93 us/op | 0.90 |
| pickEth1Vote - no votes | 1.1052 ms/op | 1.2787 ms/op | 0.86 |
| pickEth1Vote - max votes | 9.5867 ms/op | 10.733 ms/op | 0.89 |
| pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 14.050 ms/op | 19.716 ms/op | 0.71 |
| pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 18.192 ms/op | 26.017 ms/op | 0.70 |
| pickEth1Vote - Eth1Data fastSerialize value x2048 | 520.64 us/op | 698.98 us/op | 0.74 |
| pickEth1Vote - Eth1Data fastSerialize tree x2048 | 6.3475 ms/op | 8.0512 ms/op | 0.79 |
| bytes32 toHexString | 442.00 ns/op | 832.00 ns/op | 0.53 |
| bytes32 Buffer.toString(hex) | 272.00 ns/op | 328.00 ns/op | 0.83 |
| bytes32 Buffer.toString(hex) from Uint8Array | 411.00 ns/op | 610.00 ns/op | 0.67 |
| bytes32 Buffer.toString(hex) + 0x | 281.00 ns/op | 303.00 ns/op | 0.93 |
| Object access 1 prop | 0.14700 ns/op | 0.21300 ns/op | 0.69 |
| Map access 1 prop | 0.12900 ns/op | 0.14400 ns/op | 0.90 |
| Object get x1000 | 6.9210 ns/op | 9.2890 ns/op | 0.75 |
| Map get x1000 | 0.72300 ns/op | 0.92200 ns/op | 0.78 |
| Object set x1000 | 37.288 ns/op | 57.488 ns/op | 0.65 |
| Map set x1000 | 20.334 ns/op | 37.150 ns/op | 0.55 |
| Return object 10000 times | 0.24090 ns/op | 0.28580 ns/op | 0.84 |
| Throw Error 10000 times | 3.4160 us/op | 3.8164 us/op | 0.90 |
| fastMsgIdFn sha256 / 200 bytes | 2.3440 us/op | 2.6890 us/op | 0.87 |
| fastMsgIdFn h32 xxhash / 200 bytes | 247.00 ns/op | 288.00 ns/op | 0.86 |
| fastMsgIdFn h64 xxhash / 200 bytes | 317.00 ns/op | 338.00 ns/op | 0.94 |
| fastMsgIdFn sha256 / 1000 bytes | 7.5330 us/op | 7.5380 us/op | 1.00 |
| fastMsgIdFn h32 xxhash / 1000 bytes | 404.00 ns/op | 395.00 ns/op | 1.02 |
| fastMsgIdFn h64 xxhash / 1000 bytes | 400.00 ns/op | 404.00 ns/op | 0.99 |
| fastMsgIdFn sha256 / 10000 bytes | 66.204 us/op | 66.237 us/op | 1.00 |
| fastMsgIdFn h32 xxhash / 10000 bytes | 1.9650 us/op | 2.0240 us/op | 0.97 |
| fastMsgIdFn h64 xxhash / 10000 bytes | 1.3520 us/op | 1.3620 us/op | 0.99 |
| send data - 1000 256B messages | 13.138 ms/op | 15.923 ms/op | 0.83 |
| send data - 1000 512B messages | 17.457 ms/op | 21.146 ms/op | 0.83 |
| send data - 1000 1024B messages | 28.144 ms/op | 30.791 ms/op | 0.91 |
| send data - 1000 1200B messages | 26.723 ms/op | 33.956 ms/op | 0.79 |
| send data - 1000 2048B messages | 36.201 ms/op | 37.447 ms/op | 0.97 |
| send data - 1000 4096B messages | 40.837 ms/op | 38.297 ms/op | 1.07 |
| send data - 1000 16384B messages | 83.512 ms/op | 82.036 ms/op | 1.02 |
| send data - 1000 65536B messages | 291.22 ms/op | 319.62 ms/op | 0.91 |
| enrSubnets - fastDeserialize 64 bits | 1.5960 us/op | 1.2920 us/op | 1.24 |
| enrSubnets - ssz BitVector 64 bits | 528.00 ns/op | 455.00 ns/op | 1.16 |
| enrSubnets - fastDeserialize 4 bits | 183.00 ns/op | 167.00 ns/op | 1.10 |
| enrSubnets - ssz BitVector 4 bits | 498.00 ns/op | 379.00 ns/op | 1.31 |
| prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 183.05 us/op | 193.76 us/op | 0.94 |
| prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 273.44 us/op | 244.99 us/op | 1.12 |
| prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 334.24 us/op | 383.85 us/op | 0.87 |
| prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 520.21 us/op | 523.60 us/op | 0.99 |
| prioritizePeers score 0:0 att 64-1 sync 4-1 | 574.71 us/op | 612.29 us/op | 0.94 |
| array of 16000 items push then shift | 1.7640 us/op | 1.6637 us/op | 1.06 |
| LinkedList of 16000 items push then shift | 7.4280 ns/op | 6.6530 ns/op | 1.12 |
| array of 16000 items push then pop | 142.11 ns/op | 140.01 ns/op | 1.02 |
| LinkedList of 16000 items push then pop | 7.2760 ns/op | 6.6140 ns/op | 1.10 |
| array of 24000 items push then shift | 2.6497 us/op | 2.5648 us/op | 1.03 |
| LinkedList of 24000 items push then shift | 7.5260 ns/op | 6.7790 ns/op | 1.11 |
| array of 24000 items push then pop | 192.28 ns/op | 160.69 ns/op | 1.20 |
| LinkedList of 24000 items push then pop | 7.1800 ns/op | 6.7340 ns/op | 1.07 |
| intersect bitArray bitLen 8 | 6.1660 ns/op | 6.0240 ns/op | 1.02 |
| intersect array and set length 8 | 75.776 ns/op | 65.581 ns/op | 1.16 |
| intersect bitArray bitLen 128 | 36.037 ns/op | 37.666 ns/op | 0.96 |
| intersect array and set length 128 | 959.05 ns/op | 1.0549 us/op | 0.91 |
| bitArray.getTrueBitIndexes() bitLen 128 | 1.4270 us/op | 1.7130 us/op | 0.83 |
| bitArray.getTrueBitIndexes() bitLen 248 | 2.5770 us/op | 2.4220 us/op | 1.06 |
| bitArray.getTrueBitIndexes() bitLen 512 | 5.1290 us/op | 5.6860 us/op | 0.90 |
| Buffer.concat 32 items | 952.00 ns/op | 992.00 ns/op | 0.96 |
| Uint8Array.set 32 items | 1.7390 us/op | 1.7930 us/op | 0.97 |
| Buffer.copy | 2.0110 us/op | ||
| Uint8Array.set - with subarray | 2.9230 us/op | ||
| Uint8Array.set - without subarray | 1.5720 us/op | ||
| Set add up to 64 items then delete first | 2.2059 us/op | 2.7480 us/op | 0.80 |
| OrderedSet add up to 64 items then delete first | 5.3612 us/op | 3.3258 us/op | 1.61 |
| Set add up to 64 items then delete last | 3.7351 us/op | 2.6245 us/op | 1.42 |
| OrderedSet add up to 64 items then delete last | 5.5029 us/op | 3.9686 us/op | 1.39 |
| Set add up to 64 items then delete middle | 3.3224 us/op | 2.7104 us/op | 1.23 |
| OrderedSet add up to 64 items then delete middle | 6.5095 us/op | 5.4421 us/op | 1.20 |
| Set add up to 128 items then delete first | 6.8279 us/op | 5.5713 us/op | 1.23 |
| OrderedSet add up to 128 items then delete first | 10.809 us/op | 8.4572 us/op | 1.28 |
| Set add up to 128 items then delete last | 6.5424 us/op | 5.0793 us/op | 1.29 |
| OrderedSet add up to 128 items then delete last | 10.375 us/op | 7.0846 us/op | 1.46 |
| Set add up to 128 items then delete middle | 6.5979 us/op | 4.7172 us/op | 1.40 |
| OrderedSet add up to 128 items then delete middle | 18.046 us/op | 12.638 us/op | 1.43 |
| Set add up to 256 items then delete first | 11.020 us/op | 10.329 us/op | 1.07 |
| OrderedSet add up to 256 items then delete first | 16.143 us/op | 15.986 us/op | 1.01 |
| Set add up to 256 items then delete last | 9.7421 us/op | 9.5418 us/op | 1.02 |
| OrderedSet add up to 256 items then delete last | 14.803 us/op | 14.560 us/op | 1.02 |
| Set add up to 256 items then delete middle | 9.6905 us/op | 9.1632 us/op | 1.06 |
| OrderedSet add up to 256 items then delete middle | 37.700 us/op | 35.473 us/op | 1.06 |
| transfer serialized Status (84 B) | 1.6800 us/op | 1.6440 us/op | 1.02 |
| copy serialized Status (84 B) | 1.1970 us/op | 1.1910 us/op | 1.01 |
| transfer serialized SignedVoluntaryExit (112 B) | 1.6950 us/op | 1.7200 us/op | 0.99 |
| copy serialized SignedVoluntaryExit (112 B) | 1.2530 us/op | 1.3740 us/op | 0.91 |
| transfer serialized ProposerSlashing (416 B) | 1.8770 us/op | 2.7730 us/op | 0.68 |
| copy serialized ProposerSlashing (416 B) | 1.4510 us/op | 2.6020 us/op | 0.56 |
| transfer serialized Attestation (485 B) | 1.8740 us/op | 2.9310 us/op | 0.64 |
| copy serialized Attestation (485 B) | 1.5790 us/op | 2.6170 us/op | 0.60 |
| transfer serialized AttesterSlashing (33232 B) | 1.8270 us/op | 2.5430 us/op | 0.72 |
| copy serialized AttesterSlashing (33232 B) | 4.9090 us/op | 5.9840 us/op | 0.82 |
| transfer serialized Small SignedBeaconBlock (128000 B) | 2.1350 us/op | 2.6940 us/op | 0.79 |
| copy serialized Small SignedBeaconBlock (128000 B) | 14.735 us/op | 13.860 us/op | 1.06 |
| transfer serialized Avg SignedBeaconBlock (200000 B) | 2.5750 us/op | 3.0650 us/op | 0.84 |
| copy serialized Avg SignedBeaconBlock (200000 B) | 19.928 us/op | 19.791 us/op | 1.01 |
| transfer serialized BlobsSidecar (524380 B) | 2.3800 us/op | 2.8600 us/op | 0.83 |
| copy serialized BlobsSidecar (524380 B) | 84.797 us/op | 91.928 us/op | 0.92 |
| transfer serialized Big SignedBeaconBlock (1000000 B) | 2.9640 us/op | 3.3250 us/op | 0.89 |
| copy serialized Big SignedBeaconBlock (1000000 B) | 335.56 us/op | 138.91 us/op | 2.42 |
| pass gossip attestations to forkchoice per slot | 5.6072 ms/op | 3.3776 ms/op | 1.66 |
| forkChoice updateHead vc 100000 bc 64 eq 0 | 622.10 us/op | 518.75 us/op | 1.20 |
| forkChoice updateHead vc 600000 bc 64 eq 0 | 6.7031 ms/op | 3.1824 ms/op | 2.11 |
| forkChoice updateHead vc 1000000 bc 64 eq 0 | 7.7250 ms/op | 5.3981 ms/op | 1.43 |
| forkChoice updateHead vc 600000 bc 320 eq 0 | 4.5541 ms/op | 3.1844 ms/op | 1.43 |
| forkChoice updateHead vc 600000 bc 1200 eq 0 | 4.1793 ms/op | 3.2801 ms/op | 1.27 |
| forkChoice updateHead vc 600000 bc 7200 eq 0 | 6.9767 ms/op | 4.3535 ms/op | 1.60 |
| forkChoice updateHead vc 600000 bc 64 eq 1000 | 11.733 ms/op | 10.910 ms/op | 1.08 |
| forkChoice updateHead vc 600000 bc 64 eq 10000 | 14.566 ms/op | 10.911 ms/op | 1.34 |
| forkChoice updateHead vc 600000 bc 64 eq 300000 | 47.757 ms/op | 14.748 ms/op | 3.24 |
| computeDeltas 500000 validators 300 proto nodes | 5.9242 ms/op | 3.9809 ms/op | 1.49 |
| computeDeltas 500000 validators 1200 proto nodes | 4.6976 ms/op | 3.8178 ms/op | 1.23 |
| computeDeltas 500000 validators 7200 proto nodes | 3.7450 ms/op | 3.6483 ms/op | 1.03 |
| computeDeltas 750000 validators 300 proto nodes | 5.4009 ms/op | 5.4499 ms/op | 0.99 |
| computeDeltas 750000 validators 1200 proto nodes | 5.3371 ms/op | 5.4822 ms/op | 0.97 |
| computeDeltas 750000 validators 7200 proto nodes | 5.4974 ms/op | 5.4464 ms/op | 1.01 |
| computeDeltas 1400000 validators 300 proto nodes | 11.279 ms/op | 10.769 ms/op | 1.05 |
| computeDeltas 1400000 validators 1200 proto nodes | 11.453 ms/op | 10.606 ms/op | 1.08 |
| computeDeltas 1400000 validators 7200 proto nodes | 10.345 ms/op | 10.324 ms/op | 1.00 |
| computeDeltas 2100000 validators 300 proto nodes | 15.754 ms/op | 15.116 ms/op | 1.04 |
| computeDeltas 2100000 validators 1200 proto nodes | 15.271 ms/op | 15.352 ms/op | 0.99 |
| computeDeltas 2100000 validators 7200 proto nodes | 15.939 ms/op | 16.111 ms/op | 0.99 |
| altair processAttestation - 250000 vs - 7PWei normalcase | 1.8959 ms/op | 2.0572 ms/op | 0.92 |
| altair processAttestation - 250000 vs - 7PWei worstcase | 2.6941 ms/op | 3.4506 ms/op | 0.78 |
| altair processAttestation - setStatus - 1/6 committees join | 133.68 us/op | 152.63 us/op | 0.88 |
| altair processAttestation - setStatus - 1/3 committees join | 256.38 us/op | 290.31 us/op | 0.88 |
| altair processAttestation - setStatus - 1/2 committees join | 355.53 us/op | 363.96 us/op | 0.98 |
| altair processAttestation - setStatus - 2/3 committees join | 437.77 us/op | 477.94 us/op | 0.92 |
| altair processAttestation - setStatus - 4/5 committees join | 621.42 us/op | 638.26 us/op | 0.97 |
| altair processAttestation - setStatus - 100% committees join | 761.07 us/op | 756.06 us/op | 1.01 |
| altair processBlock - 250000 vs - 7PWei normalcase | 8.4372 ms/op | 9.8659 ms/op | 0.86 |
| altair processBlock - 250000 vs - 7PWei normalcase hashState | 29.216 ms/op | 33.916 ms/op | 0.86 |
| altair processBlock - 250000 vs - 7PWei worstcase | 30.930 ms/op | 32.134 ms/op | 0.96 |
| altair processBlock - 250000 vs - 7PWei worstcase hashState | 83.226 ms/op | 88.410 ms/op | 0.94 |
| phase0 processBlock - 250000 vs - 7PWei normalcase | 2.3298 ms/op | 2.2564 ms/op | 1.03 |
| phase0 processBlock - 250000 vs - 7PWei worstcase | 29.637 ms/op | 27.097 ms/op | 1.09 |
| altair processEth1Data - 250000 vs - 7PWei normalcase | 426.87 us/op | 315.08 us/op | 1.35 |
| getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 13.837 us/op | 11.978 us/op | 1.16 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 62.533 us/op | 67.985 us/op | 0.92 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 24.960 us/op | 16.390 us/op | 1.52 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 13.878 us/op | 12.253 us/op | 1.13 |
| getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 188.69 us/op | 160.28 us/op | 1.18 |
| getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 1.1461 ms/op | 962.52 us/op | 1.19 |
| getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.5672 ms/op | 1.6106 ms/op | 0.97 |
| getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 1.8636 ms/op | 1.4629 ms/op | 1.27 |
| getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 4.0614 ms/op | 3.2665 ms/op | 1.24 |
| getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 2.4873 ms/op | 2.3614 ms/op | 1.05 |
| getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 5.4891 ms/op | 4.2865 ms/op | 1.28 |
| Tree 40 250000 create | 398.16 ms/op | 217.88 ms/op | 1.83 |
| Tree 40 250000 get(125000) | 177.36 ns/op | 144.14 ns/op | 1.23 |
| Tree 40 250000 set(125000) | 812.56 ns/op | 636.31 ns/op | 1.28 |
| Tree 40 250000 toArray() | 20.904 ms/op | 19.257 ms/op | 1.09 |
| Tree 40 250000 iterate all - toArray() + loop | 22.311 ms/op | 19.101 ms/op | 1.17 |
| Tree 40 250000 iterate all - get(i) | 58.501 ms/op | 53.888 ms/op | 1.09 |
| MutableVector 250000 create | 12.609 ms/op | 10.501 ms/op | 1.20 |
| MutableVector 250000 get(125000) | 6.5700 ns/op | 6.2650 ns/op | 1.05 |
| MutableVector 250000 set(125000) | 377.69 ns/op | 246.99 ns/op | 1.53 |
| MutableVector 250000 toArray() | 4.5310 ms/op | 4.2363 ms/op | 1.07 |
| MutableVector 250000 iterate all - toArray() + loop | 4.8429 ms/op | 4.2740 ms/op | 1.13 |
| MutableVector 250000 iterate all - get(i) | 1.6084 ms/op | 1.5216 ms/op | 1.06 |
| Array 250000 create | 4.4552 ms/op | 3.8570 ms/op | 1.16 |
| Array 250000 clone - spread | 1.6779 ms/op | 1.6288 ms/op | 1.03 |
| Array 250000 get(125000) | 1.1720 ns/op | 1.1110 ns/op | 1.05 |
| Array 250000 set(125000) | 1.5250 ns/op | 1.3990 ns/op | 1.09 |
| Array 250000 iterate all - loop | 176.86 us/op | 172.04 us/op | 1.03 |
| effectiveBalanceIncrements clone Uint8Array 300000 | 59.998 us/op | 33.337 us/op | 1.80 |
| effectiveBalanceIncrements clone MutableVector 300000 | 397.00 ns/op | 412.00 ns/op | 0.96 |
| effectiveBalanceIncrements rw all Uint8Array 300000 | 225.39 us/op | 206.04 us/op | 1.09 |
| effectiveBalanceIncrements rw all MutableVector 300000 | 93.483 ms/op | 81.914 ms/op | 1.14 |
| phase0 afterProcessEpoch - 250000 vs - 7PWei | 93.095 ms/op | 91.221 ms/op | 1.02 |
| phase0 beforeProcessEpoch - 250000 vs - 7PWei | 57.052 ms/op | 41.881 ms/op | 1.36 |
| altair processEpoch - mainnet_e81889 | 497.90 ms/op | 388.79 ms/op | 1.28 |
| mainnet_e81889 - altair beforeProcessEpoch | 87.988 ms/op | 66.480 ms/op | 1.32 |
| mainnet_e81889 - altair processJustificationAndFinalization | 20.054 us/op | 13.159 us/op | 1.52 |
| mainnet_e81889 - altair processInactivityUpdates | 5.8424 ms/op | 5.2684 ms/op | 1.11 |
| mainnet_e81889 - altair processRewardsAndPenalties | 55.235 ms/op | 46.226 ms/op | 1.19 |
| mainnet_e81889 - altair processRegistryUpdates | 2.8270 us/op | 2.4340 us/op | 1.16 |
| mainnet_e81889 - altair processSlashings | 611.00 ns/op | 395.00 ns/op | 1.55 |
| mainnet_e81889 - altair processEth1DataReset | 806.00 ns/op | 624.00 ns/op | 1.29 |
| mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.3363 ms/op | 1.2437 ms/op | 1.07 |
| mainnet_e81889 - altair processSlashingsReset | 6.2380 us/op | 4.1300 us/op | 1.51 |
| mainnet_e81889 - altair processRandaoMixesReset | 5.9450 us/op | 5.3060 us/op | 1.12 |
| mainnet_e81889 - altair processHistoricalRootsUpdate | 1.6660 us/op | 914.00 ns/op | 1.82 |
| mainnet_e81889 - altair processParticipationFlagUpdates | 2.8450 us/op | 1.5540 us/op | 1.83 |
| mainnet_e81889 - altair processSyncCommitteeUpdates | 1.2860 us/op | 654.00 ns/op | 1.97 |
| mainnet_e81889 - altair afterProcessEpoch | 103.48 ms/op | 94.374 ms/op | 1.10 |
| capella processEpoch - mainnet_e217614 | 1.7499 s/op | 1.4543 s/op | 1.20 |
| mainnet_e217614 - capella beforeProcessEpoch | 332.06 ms/op | 273.05 ms/op | 1.22 |
| mainnet_e217614 - capella processJustificationAndFinalization | 19.450 us/op | 16.897 us/op | 1.15 |
| mainnet_e217614 - capella processInactivityUpdates | 18.721 ms/op | 16.381 ms/op | 1.14 |
| mainnet_e217614 - capella processRewardsAndPenalties | 245.00 ms/op | 249.91 ms/op | 0.98 |
| mainnet_e217614 - capella processRegistryUpdates | 22.768 us/op | 17.286 us/op | 1.32 |
| mainnet_e217614 - capella processSlashings | 572.00 ns/op | 521.00 ns/op | 1.10 |
| mainnet_e217614 - capella processEth1DataReset | 417.00 ns/op | 399.00 ns/op | 1.05 |
| mainnet_e217614 - capella processEffectiveBalanceUpdates | 14.946 ms/op | 9.2958 ms/op | 1.61 |
| mainnet_e217614 - capella processSlashingsReset | 3.4040 us/op | 3.5940 us/op | 0.95 |
| mainnet_e217614 - capella processRandaoMixesReset | 4.6930 us/op | 4.2240 us/op | 1.11 |
| mainnet_e217614 - capella processHistoricalRootsUpdate | 824.00 ns/op | 337.00 ns/op | 2.45 |
| mainnet_e217614 - capella processParticipationFlagUpdates | 1.7100 us/op | 1.8210 us/op | 0.94 |
| mainnet_e217614 - capella afterProcessEpoch | 267.45 ms/op | 253.49 ms/op | 1.06 |
| phase0 processEpoch - mainnet_e58758 | 493.25 ms/op | 436.53 ms/op | 1.13 |
| mainnet_e58758 - phase0 beforeProcessEpoch | 155.99 ms/op | 118.88 ms/op | 1.31 |
| mainnet_e58758 - phase0 processJustificationAndFinalization | 18.907 us/op | 15.522 us/op | 1.22 |
| mainnet_e58758 - phase0 processRewardsAndPenalties | 28.661 ms/op | 24.451 ms/op | 1.17 |
| mainnet_e58758 - phase0 processRegistryUpdates | 13.388 us/op | 8.8020 us/op | 1.52 |
| mainnet_e58758 - phase0 processSlashings | 529.00 ns/op | 372.00 ns/op | 1.42 |
| mainnet_e58758 - phase0 processEth1DataReset | 503.00 ns/op | 365.00 ns/op | 1.38 |
| mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.0827 ms/op | 1.1675 ms/op | 0.93 |
| mainnet_e58758 - phase0 processSlashingsReset | 4.0550 us/op | 3.2020 us/op | 1.27 |
| mainnet_e58758 - phase0 processRandaoMixesReset | 6.7510 us/op | 4.8470 us/op | 1.39 |
| mainnet_e58758 - phase0 processHistoricalRootsUpdate | 471.00 ns/op | 577.00 ns/op | 0.82 |
| mainnet_e58758 - phase0 processParticipationRecordUpdates | 6.0210 us/op | 3.3330 us/op | 1.81 |
| mainnet_e58758 - phase0 afterProcessEpoch | 86.105 ms/op | 80.203 ms/op | 1.07 |
| phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.3869 ms/op | 1.1914 ms/op | 1.16 |
| phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 1.5094 ms/op | 1.5956 ms/op | 0.95 |
| altair processInactivityUpdates - 250000 normalcase | 17.122 ms/op | 15.015 ms/op | 1.14 |
| altair processInactivityUpdates - 250000 worstcase | 18.077 ms/op | 15.421 ms/op | 1.17 |
| phase0 processRegistryUpdates - 250000 normalcase | 13.069 us/op | 8.4910 us/op | 1.54 |
| phase0 processRegistryUpdates - 250000 badcase_full_deposits | 469.45 us/op | 321.79 us/op | 1.46 |
| phase0 processRegistryUpdates - 250000 worstcase 0.5 | 155.61 ms/op | 119.03 ms/op | 1.31 |
| altair processRewardsAndPenalties - 250000 normalcase | 47.773 ms/op | 35.848 ms/op | 1.33 |
| altair processRewardsAndPenalties - 250000 worstcase | 46.811 ms/op | 36.365 ms/op | 1.29 |
| phase0 getAttestationDeltas - 250000 normalcase | 8.9470 ms/op | 7.7610 ms/op | 1.15 |
| phase0 getAttestationDeltas - 250000 worstcase | 8.1185 ms/op | 7.7358 ms/op | 1.05 |
| phase0 processSlashings - 250000 worstcase | 121.36 us/op | 67.568 us/op | 1.80 |
| altair processSyncCommitteeUpdates - 250000 | 158.38 ms/op | 126.08 ms/op | 1.26 |
| BeaconState.hashTreeRoot - No change | 724.00 ns/op | 321.00 ns/op | 2.26 |
| BeaconState.hashTreeRoot - 1 full validator | 137.83 us/op | 133.97 us/op | 1.03 |
| BeaconState.hashTreeRoot - 32 full validator | 1.4660 ms/op | 1.2564 ms/op | 1.17 |
| BeaconState.hashTreeRoot - 512 full validator | 18.635 ms/op | 13.280 ms/op | 1.40 |
| BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 191.46 us/op | 158.24 us/op | 1.21 |
| BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 2.4043 ms/op | 1.9596 ms/op | 1.23 |
| BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 33.115 ms/op | 24.082 ms/op | 1.38 |
| BeaconState.hashTreeRoot - 1 balances | 130.13 us/op | 117.82 us/op | 1.10 |
| BeaconState.hashTreeRoot - 32 balances | 1.1839 ms/op | 1.0879 ms/op | 1.09 |
| BeaconState.hashTreeRoot - 512 balances | 10.388 ms/op | 10.599 ms/op | 0.98 |
| BeaconState.hashTreeRoot - 250000 balances | 222.68 ms/op | 208.86 ms/op | 1.07 |
| aggregationBits - 2048 els - zipIndexesInBitList | 39.841 us/op | 22.201 us/op | 1.79 |
| byteArrayEquals 32 | 80.677 ns/op | 74.333 ns/op | 1.09 |
| Buffer.compare 32 | 50.697 ns/op | 44.566 ns/op | 1.14 |
| byteArrayEquals 1024 | 2.1667 us/op | 2.0264 us/op | 1.07 |
| Buffer.compare 1024 | 62.080 ns/op | 52.275 ns/op | 1.19 |
| byteArrayEquals 16384 | 35.233 us/op | 32.262 us/op | 1.09 |
| Buffer.compare 16384 | 257.10 ns/op | 235.54 ns/op | 1.09 |
| byteArrayEquals 123687377 | 254.86 ms/op | 249.63 ms/op | 1.02 |
| Buffer.compare 123687377 | 8.5713 ms/op | 6.0370 ms/op | 1.42 |
| byteArrayEquals 32 - diff last byte | 73.829 ns/op | 71.357 ns/op | 1.03 |
| Buffer.compare 32 - diff last byte | 58.039 ns/op | 48.657 ns/op | 1.19 |
| byteArrayEquals 1024 - diff last byte | 2.0658 us/op | 1.9901 us/op | 1.04 |
| Buffer.compare 1024 - diff last byte | 64.184 ns/op | 49.151 ns/op | 1.31 |
| byteArrayEquals 16384 - diff last byte | 33.563 us/op | 31.755 us/op | 1.06 |
| Buffer.compare 16384 - diff last byte | 282.51 ns/op | 228.00 ns/op | 1.24 |
| byteArrayEquals 123687377 - diff last byte | 253.03 ms/op | 247.19 ms/op | 1.02 |
| Buffer.compare 123687377 - diff last byte | 9.6021 ms/op | 6.1353 ms/op | 1.57 |
| byteArrayEquals 32 - random bytes | 5.9230 ns/op | 5.1660 ns/op | 1.15 |
| Buffer.compare 32 - random bytes | 51.288 ns/op | 47.630 ns/op | 1.08 |
| byteArrayEquals 1024 - random bytes | 5.9730 ns/op | 5.1000 ns/op | 1.17 |
| Buffer.compare 1024 - random bytes | 49.609 ns/op | 45.863 ns/op | 1.08 |
| byteArrayEquals 16384 - random bytes | 5.7910 ns/op | 5.0870 ns/op | 1.14 |
| Buffer.compare 16384 - random bytes | 48.535 ns/op | 45.958 ns/op | 1.06 |
| byteArrayEquals 123687377 - random bytes | 9.0800 ns/op | 7.8200 ns/op | 1.16 |
| Buffer.compare 123687377 - random bytes | 54.810 ns/op | 48.750 ns/op | 1.12 |
| regular array get 100000 times | 46.878 us/op | 44.041 us/op | 1.06 |
| wrappedArray get 100000 times | 47.038 us/op | 43.881 us/op | 1.07 |
| arrayWithProxy get 100000 times | 14.343 ms/op | 13.740 ms/op | 1.04 |
| ssz.Root.equals | 58.795 ns/op | 52.427 ns/op | 1.12 |
| byteArrayEquals | 56.036 ns/op | 51.517 ns/op | 1.09 |
| Buffer.compare | 12.141 ns/op | 10.120 ns/op | 1.20 |
| shuffle list - 16384 els | 6.9820 ms/op | 6.2300 ms/op | 1.12 |
| shuffle list - 250000 els | 103.94 ms/op | 91.136 ms/op | 1.14 |
| processSlot - 1 slots | 17.871 us/op | 14.695 us/op | 1.22 |
| processSlot - 32 slots | 3.6534 ms/op | 3.2835 ms/op | 1.11 |
| getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 60.634 ms/op | 48.570 ms/op | 1.25 |
| getCommitteeAssignments - req 1 vs - 250000 vc | 3.1067 ms/op | 2.5969 ms/op | 1.20 |
| getCommitteeAssignments - req 100 vs - 250000 vc | 4.4258 ms/op | 3.7557 ms/op | 1.18 |
| getCommitteeAssignments - req 1000 vs - 250000 vc | 4.4005 ms/op | 4.0218 ms/op | 1.09 |
| findModifiedValidators - 10000 modified validators | 443.23 ms/op | 293.34 ms/op | 1.51 |
| findModifiedValidators - 1000 modified validators | 325.16 ms/op | 171.20 ms/op | 1.90 |
| findModifiedValidators - 100 modified validators | 302.37 ms/op | 165.27 ms/op | 1.83 |
| findModifiedValidators - 10 modified validators | 331.34 ms/op | 166.99 ms/op | 1.98 |
| findModifiedValidators - 1 modified validators | 358.25 ms/op | 162.43 ms/op | 2.21 |
| findModifiedValidators - no difference | 341.76 ms/op | 163.00 ms/op | 2.10 |
| compare ViewDUs | 5.3510 s/op | 3.1710 s/op | 1.69 |
| compare each validator Uint8Array | 1.9045 s/op | 1.3853 s/op | 1.37 |
| compare ViewDU to Uint8Array | 1.3777 s/op | 1.0554 s/op | 1.31 |
| migrate state 1000000 validators, 24 modified, 0 new | 782.56 ms/op | 626.22 ms/op | 1.25 |
| migrate state 1000000 validators, 1700 modified, 1000 new | 1.0658 s/op | 1.0041 s/op | 1.06 |
| migrate state 1000000 validators, 3400 modified, 2000 new | 1.5727 s/op | 1.3217 s/op | 1.19 |
| migrate state 1500000 validators, 24 modified, 0 new | 759.08 ms/op | 746.82 ms/op | 1.02 |
| migrate state 1500000 validators, 1700 modified, 1000 new | 1.1341 s/op | 1.1512 s/op | 0.99 |
| migrate state 1500000 validators, 3400 modified, 2000 new | 1.6776 s/op | 1.5550 s/op | 1.08 |
| RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 5.2000 ns/op | 5.4100 ns/op | 0.96 |
| state getBlockRootAtSlot - 250000 vs - 7PWei | 801.33 ns/op | 721.57 ns/op | 1.11 |
| computeProposers - vc 250000 | 9.3083 ms/op | 8.6478 ms/op | 1.08 |
| computeEpochShuffling - vc 250000 | 103.25 ms/op | 104.12 ms/op | 0.99 |
| getNextSyncCommittee - vc 250000 | 174.52 ms/op | 167.42 ms/op | 1.04 |
| computeSigningRoot for AttestationData | 25.642 us/op | 33.859 us/op | 0.76 |
| hash AttestationData serialized data then Buffer.toString(base64) | 1.6605 us/op | 1.9064 us/op | 0.87 |
| toHexString serialized data | 1.2735 us/op | 1.2167 us/op | 1.05 |
| Buffer.toString(base64) | 278.19 ns/op | 231.98 ns/op | 1.20 |
by benchmarkbot/action
| // Seed is always the first 32 bytes of the hash input, we never have to change this part of the buffer. | ||
| const _seed = seed; | ||
| Buffer.from(_seed).copy(buf, 0, 0, _SHUFFLE_H_SEED_SIZE); | ||
| buf.set(seed, 0); |
There was a problem hiding this comment.
memory copy might be intentional here?
There was a problem hiding this comment.
This update is fine, I think more eyes on this change will confirm that.
There was a problem hiding this comment.
confirm it's fine, maybe more clear to bound seed by _SHUFFLE_H_SEED_SIZE instead of 32 which will make it equivalent to the current implementation
Co-authored-by: twoeths <tuyen@chainsafe.io>
This reverts commit 1831d47.
* chore: n-historical state - track state persist count per epoch (#6699) * feat: add lodestar binaries to release (#6666) * feat: added binaries creation support * feat: added sanity checks * chore: define reusable workflow * chore: fix sanity check,; disable arm64 * chore: added workflow_dispatch * fix: needs cleanup * chore: update old space size Co-authored-by: Nico Flaig <nflaig@protonmail.com> * chore: address comments * chore: address comments * chore: fixed typo * chore: typo Co-authored-by: Nico Flaig <nflaig@protonmail.com> * chore: address comments * chore: wording Co-authored-by: Nico Flaig <nflaig@protonmail.com> * chore: use frozen lock file Co-authored-by: Nico Flaig <nflaig@protonmail.com> --------- Co-authored-by: Nico Flaig <nflaig@protonmail.com> * feat: switch bls to napi rebuild (#6616) * chore: update package.json deps and run yarn * feat: remove unused blst config from vitest.browser.*.config.ts * test: move G2@INF test to base blst repo. No longer exported. * fix: add Uint8Array.from for Buffer return value in unit test so type matches for toEqual * refactor: update imports of CoordType to use bls instead of blst * feat: add blsAddVerificationRandomness cli option * feat: add randomBytesNonZero to utils * feat: implement verification randomness for same message * feat: implement napi blst and switch to libuv worker pool * chore: lint * fix: update comments for availableParallelism * feat: set UV_THREADPOOL_SIZE for perf tests * feat: set UV_THREADPOOL_SIZE=$(nproc) in lodestar entrance script * feat: remove case for serialized PublicKey in deserializeSet * feat: add back workBusy count logic to canAcceptWork * feat: automatically set threadpool size in beaconHandler * refactor: rename flag to disableSameMessageVerificationRandomness * fix: remove UV_THREADPOOL_SIZE from ./lodestar * docs: add TODO about updating metrics * fix: make benchmark multi threading cross-compatible * chore: add bls@8.0.0 * feat: default to added randomness * feat: add warning for no same message randomness * fix: passing to updated bls functions * feat: add blst peerDep * fix: default to same message randomness * chore: update yarn.lock * chore: remove unused function to clear lint * feat: break out setThreadPoolSize * docs: update packages/cli/src/cmds/beacon/setThreadPoolSize.ts Co-authored-by: Nico Flaig <nflaig@protonmail.com> * chore: update location for blst dep * chore: run lint again * fix: remove peerDep from light-client * test: fix browser based tests * fix: bad relative imports * docs: add note to readme about switchable bls * docs: typo * chore: lint readme * fix: light-client unit tests * fix: light-client e2e test * feat: remove disableSameMessageVerificationRandomness * refactor: remove unused type * docs: update wordlist * fix: e2e tests * Lint package.json * Revert "fix: e2e tests" This reverts commit f71acd7. * Revert "fix: light-client e2e test" This reverts commit 23c11f0. * Revert "fix: light-client unit tests" This reverts commit fa7893e. * Revert "test: fix browser based tests" This reverts commit 98d04ab. * docs: update readme to remove switchable bls argument * fix: replace optimizeDeps in vitest.browser.config * chore: updated to bls 8.1.0 * feat: move setting threadpool size and warnings to applyPreset.ts * fix: remove setThreadpoolSize from beacon handler * feat: move libuv size logging into handler to use logger * refactor: rename applyPreset to preInitialization * refactor: logging about pool size * Update packages/cli/src/options/globalOptions.ts Co-authored-by: Nico Flaig <nflaig@protonmail.com> * refactor: rename prover applyPreset * docs: change comment in cli/index * fix: update logging for * fix: throw error for invalid uvThreadpoolSize * Update packages/cli/src/preInitialization.ts Co-authored-by: Nico Flaig <nflaig@protonmail.com> * Fix lint issues * Remove unused import * refactor: move bls pool logging back to multithread.ts * fix: log of threadcount --------- Co-authored-by: Nico Flaig <nflaig@protonmail.com> * chore: update references to consensus spec to v1.4.0 (#6704) * chore: update references to consensus spec to v1.4.0 * Remove unintended formatting changes * chore: update consensus spec version in README (#6705) * docs: correct plausible url (#6709) fix: correct plausible url * docs: incorrect scripts location (#6710) fix: incorrect scripts location * docs: no more broken images (#6708) * fix: no more broken images * fix: incorrect paths * feat: check aggregationBits length of `SignedAggregateAndProof` in gossip validation (#6700) * Add unit test * Update packages/beacon-node/src/chain/validation/aggregateAndProof.ts Co-authored-by: Nico Flaig <nflaig@protonmail.com> --------- Co-authored-by: Nico Flaig <nflaig@protonmail.com> * feat: add and track blob source for metrics (#6628) * feat: add and track blob source for metrics * adding blobsSource for blobsPromise * address feedback * apply feedback * updates * only allow non blobspromise blocks to be imported * feat: add support for browser bundle for lightclient (#6673) * Reorganize the code so it is accessible from one package * Add support for browser build for lightclient * Update the build config * Improve the bls vite plugin * Restructure the vite and vitest scripts * Simplify vite config * Remove unused polyfill * Fix the doc lint error * Add support for bundle test * Update the package json files * Add dist build to default build task * Fix spelling in the docs * Fix the lint error * Fix type error * Disable eslint errors * Increase the timeout for bundle test * Fix eslint bundle * Fix lint warning * Remove the unused config * Add the default export to bundle * Enable compression on th build * Update packages/light-client/README.md Co-authored-by: Nico Flaig <nflaig@protonmail.com> * Increase timeout for one test * Optimize package build task * Update the readme --------- Co-authored-by: Nico Flaig <nflaig@protonmail.com> * docs: fix plausible domain (#6712) * ci: add paths-ignore to workflows (#6713) * chore: added paths-ignore * chore: address comments * feat: add arm64 binary support (#6707) * feat: add arm64 binary support * chore: workaround yarn * chore: add comment * chore: workaround runner limitations * ci: publish binaries for release candidates (#6714) * feat: add types support to esm bundle for lightclient (#6685) * Add vite dts plugin * Restructure types export * Update vite build config * Remove unused file * Update the build process * Fix doc formatting * Build the dist for type tests * chore: update vitest (#6718) Update vitest * chore: do not build all binaries atomically (#6719) * feat: update libp2p deps (#6711) * feat: update libp2p deps * chore: fix linter/type errors * chore(deps): bump ejs from 3.1.9 to 3.1.10 (#6721) Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10. - [Release notes](https://github.com/mde/ejs/releases) - [Commits](mde/ejs@v3.1.9...v3.1.10) --- updated-dependencies: - dependency-name: ejs dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: revert "ci: add paths-ignore to workflows (#6713)" (#6730) Revert "ci: add paths-ignore to workflows (#6713)" This reverts commit e460bb1. * docs: restore docs pages lost during docusaurus migration (#6725) * ci: fix incorrect build caching (#6731) fix: incorrect build caching * fix: build error log during esm bundle build (#6737) Fix build error * chore: update fastify to v4.27.0 (#6740) * deps: upgrade vitest minor version (#6745) Upgrade vitest * chore: warn when heap limit is too low (#6722) * chore: warn when heap limit is too low * chore: units Co-authored-by: Nico Flaig <nflaig@protonmail.com> * chore: address comments * chore: added faq element * chore: address comments Co-authored-by: Nico Flaig <nflaig@protonmail.com> * chore: address comments Co-authored-by: Nico Flaig <nflaig@protonmail.com> * chore: address comments --------- Co-authored-by: Nico Flaig <nflaig@protonmail.com> * feat: disable flood publish (#6755) * feat: disable flood publish * feat: add network.disableFloodPublish cli flag * chore: address PR comments * test: allow compact diff for test failures (#6783) * Allow the compact diff for tests * Update the doc * Update docs/pages/contribution/testing/index.md Co-authored-by: Julien <jeluard@users.noreply.github.com> * Fix linting on docs * Fix linting --------- Co-authored-by: Julien <jeluard@users.noreply.github.com> * chore: upgrade classic-level (#6793) * chore: upgrade classic-level * chore: address comments * feat(prover): support non-mutated verification provider in prover (#6727) * Restructure the assertions * Add an inspector to run the logic to detect providers * Update web3 provdier logic to use inspetor * Fix the types for proxy * Make the default type for mutation * Rename elrpc to elrpcprovider * Apply suggestions from code review Co-authored-by: Julien <jeluard@users.noreply.github.com> * Fix build error * Update the readme doc * Apply suggestions from code review Co-authored-by: Julien <jeluard@users.noreply.github.com> * Fix the docs linting * Add missing words --------- Co-authored-by: Julien <jeluard@users.noreply.github.com> * docs: added debugging section (#6743) * docs: added debugging section * chore: spell checks * chore: added extra docs * chore: address comments * chore: added extra configuration * chore: updated docs * chore: added extra configuration * chore: fix lint * chore: fix typos * chore: .gitignore * chore: address comments * chore: address comments * chore: review debugging section PR (#6807) * chore: update the naming conventions used in sim tests (#6805) * Rename simulation test to crucible * Rename SimulationEnvironment to Simulation * Use consistent function names * Update readme * Rename interfaces for consistent pattern * Fix lint error * feat: recognize grandine from agentVersion (#6808) * Add grandine * add grandine to wordlist * chore: refactor event loop interactions (#6806) * chore: refactor sleep(0) usage * chore: refactor setTimeout * chore: address comments * chore: cleanup * Apply suggestions from code review --------- Co-authored-by: Cayman <caymannava@gmail.com> * chore: fix broken docker (#6813) * chore: log newPayload engine api (#6810) * chore: add `get_proposer_head` check in fork choice spec test (#6814) * Check get_proposer_head * Fix enum typo * lint * chore: consolidate classic-level usage (#6795) * chore: do not rely on leveldown * chore: replace level with classic-level * chore: added docker support for osx (#6696) * chore: added docker support for osx * chore: address comments * chore: address comments * Update docker-compose.yml Co-authored-by: Nico Flaig <nflaig@protonmail.com> * chore: address comments --------- Co-authored-by: Nico Flaig <nflaig@protonmail.com> * chore: fix vitest performance with spec tests artifacts in place (#6817) Fix vitest performance with spec tests in place * chore: clean up yarn lockfile (#6816) * feat: disable flood publish by default (#6815) * feat: use @chainsafe/blst directly (#6706) * feat: use @chainsafe/blst directly * chore: update to blst@1.0.1 * refactor: remove randomBytesNonZero and user blst exported version * chore: update blst references * test: catch invalid deserialization in spec tests and return false * feat: create signatureFromBytes and signatureFromBytesNoCheck in utils package * feat: implement signatureFromBytes from utils package * feat: implement signatureFromBytes everywhere * fix: light-client empty module for blst --------- Co-authored-by: matthewkeil <me@matthewkeil.com> * fix: avoid Buffer.from copies (#6723) * fix: avoid Buffer.from copies * chore: simplify shuffling * fix: use subarray instead of slice in shuffling * chore: remove unnecessary devDependencies * chore: rely on fastify 4.x behavior * chore: avoid copy in verifyMerkleBranch * use toBase64 * relax assertions in shuffle function * Update packages/state-transition/src/util/shuffle.ts Co-authored-by: twoeths <tuyen@chainsafe.io> --------- Co-authored-by: twoeths <tuyen@chainsafe.io> * chore: update nodejs to latest 22 (#6729) * Upgrade node js version to 22 * Update node types * Revert action config * Add package from git hash * Fix the build error * Update the docs for node-22 * Update docker version for Nodejs to 22 * Update package.json * Update package.json Co-authored-by: Nico Flaig <nflaig@protonmail.com> * Update readme docs * Add word in dictionary * Add word in dictionary --------- Co-authored-by: Cayman <caymannava@gmail.com> Co-authored-by: Nico Flaig <nflaig@protonmail.com> * deps: update systeminformation to 5.22.9 (#6823) * chore: add distutils to build phase of Dockerfile (#6845) * test: increase timeout of keystore tests (#6846) * test: increase timeout of keystore cache tests * Increase hook timeout * Consistent number formatting * chore: only log warning if media type is not supported (415) (#6847) * fix: revert napi bls (#6853) * Revert "feat: use @chainsafe/blst directly (#6706)" This reverts commit 66fe753. * Revert "feat: switch bls to napi rebuild (#6616)" This reverts commit 97d9aa8. * chore: bump package versions to 1.19.0 * chore: bump @chainsafe/blst to v0.2.11 (#6856) * fix: arm64 binaries creation issue (#6858) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: tuyennhv <tuyen@chainsafe.io> Co-authored-by: Julien <jeluard@users.noreply.github.com> Co-authored-by: Nico Flaig <nflaig@protonmail.com> Co-authored-by: Matthew Keil <me@matthewkeil.com> Co-authored-by: NC <adrninistrator1@protonmail.com> Co-authored-by: g11tech <develop@g11tech.io> Co-authored-by: Nazar Hussain <nazarhussain@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
🎉 This PR is included in v1.19.0 🎉 |
Motivation
Buffer.fromusage #6688Description
Buffer.fromcopies in performance sensitive code, beacon-node, validator and dependencies (test folders left untouched)buffer-xordependency with a vendored Uint8Array variant (also avoids unnecessary allocation)Buffer.fromwrapper entirelyBuffer.fromthat avoids binary data copyBuffer#copytoUint8Array#set