-
-
Notifications
You must be signed in to change notification settings - Fork 289
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: refactor event loop interactions #6806
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #6806 +/- ##
============================================
+ Coverage 61.88% 62.20% +0.32%
============================================
Files 562 571 +9
Lines 59309 60013 +704
Branches 1916 1982 +66
============================================
+ Hits 36703 37334 +631
- Misses 22563 22635 +72
- Partials 43 44 +1 |
|
Benchmark suite | Current: ad10311 | Previous: 3121363 | Ratio |
---|---|---|---|
getSlashingsAndExits - 2k | 9.2868 ms/op | 331.99 us/op | 27.97 |
Object set x1000 | 95.619 ns/op | 29.910 ns/op | 3.20 |
Map set x1000 | 68.791 ns/op | 22.142 ns/op | 3.11 |
Set add up to 128 items then delete first | 12.220 us/op | 4.0295 us/op | 3.03 |
Set add up to 128 items then delete last | 12.017 us/op | 3.8410 us/op | 3.13 |
Set add up to 128 items then delete middle | 11.546 us/op | 3.8347 us/op | 3.01 |
Set add up to 256 items then delete middle | 23.309 us/op | 7.5948 us/op | 3.07 |
Full benchmark results
Benchmark suite | Current: ad10311 | Previous: 3121363 | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 973.85 us/op | 825.47 us/op | 1.18 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 115.98 us/op | 52.145 us/op | 2.22 |
BLS verify - blst-native | 1.3398 ms/op | 1.0920 ms/op | 1.23 |
BLS verifyMultipleSignatures 3 - blst-native | 2.5732 ms/op | 2.1136 ms/op | 1.22 |
BLS verifyMultipleSignatures 8 - blst-native | 5.5334 ms/op | 4.5767 ms/op | 1.21 |
BLS verifyMultipleSignatures 32 - blst-native | 19.858 ms/op | 16.652 ms/op | 1.19 |
BLS verifyMultipleSignatures 64 - blst-native | 39.505 ms/op | 32.726 ms/op | 1.21 |
BLS verifyMultipleSignatures 128 - blst-native | 77.761 ms/op | 64.864 ms/op | 1.20 |
BLS deserializing 10000 signatures | 909.02 ms/op | 742.18 ms/op | 1.22 |
BLS deserializing 100000 signatures | 9.2147 s/op | 7.6361 s/op | 1.21 |
BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.3672 ms/op | 1.1127 ms/op | 1.23 |
BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.5341 ms/op | 1.2641 ms/op | 1.21 |
BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.4144 ms/op | 1.9094 ms/op | 1.26 |
BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.5080 ms/op | 2.8460 ms/op | 1.23 |
BLS verifyMultipleSignatures - same message - 128 - blst-native | 5.6989 ms/op | 4.9093 ms/op | 1.16 |
BLS aggregatePubkeys 32 - blst-native | 29.425 us/op | 24.530 us/op | 1.20 |
BLS aggregatePubkeys 128 - blst-native | 113.22 us/op | 93.539 us/op | 1.21 |
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 71.802 ms/op | 38.674 ms/op | 1.86 |
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 77.092 ms/op | 38.222 ms/op | 2.02 |
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 35.820 ms/op | 22.113 ms/op | 1.62 |
getSlashingsAndExits - default max | 303.88 us/op | 131.77 us/op | 2.31 |
getSlashingsAndExits - 2k | 9.2868 ms/op | 331.99 us/op | 27.97 |
proposeBlockBody type=full, size=empty | 7.1616 ms/op | 3.7784 ms/op | 1.90 |
isKnown best case - 1 super set check | 765.00 ns/op | 326.00 ns/op | 2.35 |
isKnown normal case - 2 super set checks | 682.00 ns/op | 328.00 ns/op | 2.08 |
isKnown worse case - 16 super set checks | 667.00 ns/op | 329.00 ns/op | 2.03 |
InMemoryCheckpointStateCache - add get delete | 7.6590 us/op | 3.9340 us/op | 1.95 |
validate api signedAggregateAndProof - struct | 2.7820 ms/op | 2.0065 ms/op | 1.39 |
validate gossip signedAggregateAndProof - struct | 2.5104 ms/op | 1.9955 ms/op | 1.26 |
validate gossip attestation - vc 640000 | 1.4932 ms/op | 1.1376 ms/op | 1.31 |
batch validate gossip attestation - vc 640000 - chunk 32 | 194.03 us/op | 144.49 us/op | 1.34 |
batch validate gossip attestation - vc 640000 - chunk 64 | 176.31 us/op | 127.10 us/op | 1.39 |
batch validate gossip attestation - vc 640000 - chunk 128 | 181.04 us/op | 125.23 us/op | 1.45 |
batch validate gossip attestation - vc 640000 - chunk 256 | 172.93 us/op | 126.41 us/op | 1.37 |
pickEth1Vote - no votes | 1.5471 ms/op | 893.95 us/op | 1.73 |
pickEth1Vote - max votes | 16.385 ms/op | 10.437 ms/op | 1.57 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 24.767 ms/op | 19.300 ms/op | 1.28 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 39.605 ms/op | 27.173 ms/op | 1.46 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 825.71 us/op | 513.10 us/op | 1.61 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 9.5088 ms/op | 6.2258 ms/op | 1.53 |
bytes32 toHexString | 1.0860 us/op | 635.00 ns/op | 1.71 |
bytes32 Buffer.toString(hex) | 310.00 ns/op | 350.00 ns/op | 0.89 |
bytes32 Buffer.toString(hex) from Uint8Array | 641.00 ns/op | 544.00 ns/op | 1.18 |
bytes32 Buffer.toString(hex) + 0x | 396.00 ns/op | 336.00 ns/op | 1.18 |
Object access 1 prop | 0.28900 ns/op | 0.25500 ns/op | 1.13 |
Map access 1 prop | 0.15700 ns/op | 0.18800 ns/op | 0.84 |
Object get x1000 | 8.3560 ns/op | 4.9320 ns/op | 1.69 |
Map get x1000 | 1.0070 ns/op | 0.80700 ns/op | 1.25 |
Object set x1000 | 95.619 ns/op | 29.910 ns/op | 3.20 |
Map set x1000 | 68.791 ns/op | 22.142 ns/op | 3.11 |
Return object 10000 times | 0.29800 ns/op | 0.23120 ns/op | 1.29 |
Throw Error 10000 times | 4.3648 us/op | 2.8968 us/op | 1.51 |
fastMsgIdFn sha256 / 200 bytes | 3.7640 us/op | 2.0980 us/op | 1.79 |
fastMsgIdFn h32 xxhash / 200 bytes | 429.00 ns/op | 406.00 ns/op | 1.06 |
fastMsgIdFn h64 xxhash / 200 bytes | 466.00 ns/op | 430.00 ns/op | 1.08 |
fastMsgIdFn sha256 / 1000 bytes | 12.647 us/op | 7.0980 us/op | 1.78 |
fastMsgIdFn h32 xxhash / 1000 bytes | 575.00 ns/op | 475.00 ns/op | 1.21 |
fastMsgIdFn h64 xxhash / 1000 bytes | 590.00 ns/op | 507.00 ns/op | 1.16 |
fastMsgIdFn sha256 / 10000 bytes | 112.21 us/op | 56.515 us/op | 1.99 |
fastMsgIdFn h32 xxhash / 10000 bytes | 2.1930 us/op | 1.9880 us/op | 1.10 |
fastMsgIdFn h64 xxhash / 10000 bytes | 1.4880 us/op | 1.4440 us/op | 1.03 |
send data - 1000 256B messages | 26.624 ms/op | 13.468 ms/op | 1.98 |
send data - 1000 512B messages | 36.440 ms/op | 15.442 ms/op | 2.36 |
send data - 1000 1024B messages | 52.241 ms/op | 25.628 ms/op | 2.04 |
send data - 1000 1200B messages | 52.119 ms/op | 23.555 ms/op | 2.21 |
send data - 1000 2048B messages | 62.255 ms/op | 30.628 ms/op | 2.03 |
send data - 1000 4096B messages | 59.915 ms/op | 27.900 ms/op | 2.15 |
send data - 1000 16384B messages | 143.20 ms/op | 77.437 ms/op | 1.85 |
send data - 1000 65536B messages | 579.86 ms/op | 402.96 ms/op | 1.44 |
enrSubnets - fastDeserialize 64 bits | 2.0230 us/op | 1.0130 us/op | 2.00 |
enrSubnets - ssz BitVector 64 bits | 649.00 ns/op | 548.00 ns/op | 1.18 |
enrSubnets - fastDeserialize 4 bits | 272.00 ns/op | 263.00 ns/op | 1.03 |
enrSubnets - ssz BitVector 4 bits | 658.00 ns/op | 601.00 ns/op | 1.09 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 289.38 us/op | 160.42 us/op | 1.80 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 429.49 us/op | 230.09 us/op | 1.87 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 524.81 us/op | 269.70 us/op | 1.95 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 913.53 us/op | 433.16 us/op | 2.11 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 1.0058 ms/op | 526.89 us/op | 1.91 |
array of 16000 items push then shift | 1.8602 us/op | 1.3074 us/op | 1.42 |
LinkedList of 16000 items push then shift | 13.074 ns/op | 8.3220 ns/op | 1.57 |
array of 16000 items push then pop | 171.20 ns/op | 84.468 ns/op | 2.03 |
LinkedList of 16000 items push then pop | 11.736 ns/op | 5.8470 ns/op | 2.01 |
array of 24000 items push then shift | 2.6056 us/op | 2.0618 us/op | 1.26 |
LinkedList of 24000 items push then shift | 14.489 ns/op | 6.5750 ns/op | 2.20 |
array of 24000 items push then pop | 235.59 ns/op | 112.41 ns/op | 2.10 |
LinkedList of 24000 items push then pop | 11.089 ns/op | 5.9330 ns/op | 1.87 |
intersect bitArray bitLen 8 | 6.8480 ns/op | 4.9210 ns/op | 1.39 |
intersect array and set length 8 | 108.75 ns/op | 48.913 ns/op | 2.22 |
intersect bitArray bitLen 128 | 38.414 ns/op | 29.327 ns/op | 1.31 |
intersect array and set length 128 | 1.3694 us/op | 707.34 ns/op | 1.94 |
bitArray.getTrueBitIndexes() bitLen 128 | 2.1720 us/op | 1.4650 us/op | 1.48 |
bitArray.getTrueBitIndexes() bitLen 248 | 3.8100 us/op | 2.6210 us/op | 1.45 |
bitArray.getTrueBitIndexes() bitLen 512 | 8.3910 us/op | 5.2820 us/op | 1.59 |
Buffer.concat 32 items | 1.2740 us/op | 858.00 ns/op | 1.48 |
Uint8Array.set 32 items | 2.5530 us/op | 1.7980 us/op | 1.42 |
Set add up to 64 items then delete first | 5.4863 us/op | 2.0967 us/op | 2.62 |
OrderedSet add up to 64 items then delete first | 7.5652 us/op | 3.4865 us/op | 2.17 |
Set add up to 64 items then delete last | 6.0021 us/op | 2.0231 us/op | 2.97 |
OrderedSet add up to 64 items then delete last | 8.3304 us/op | 3.0649 us/op | 2.72 |
Set add up to 64 items then delete middle | 5.8845 us/op | 2.0101 us/op | 2.93 |
OrderedSet add up to 64 items then delete middle | 9.6395 us/op | 4.2722 us/op | 2.26 |
Set add up to 128 items then delete first | 12.220 us/op | 4.0295 us/op | 3.03 |
OrderedSet add up to 128 items then delete first | 15.610 us/op | 6.2571 us/op | 2.49 |
Set add up to 128 items then delete last | 12.017 us/op | 3.8410 us/op | 3.13 |
OrderedSet add up to 128 items then delete last | 16.304 us/op | 5.7749 us/op | 2.82 |
Set add up to 128 items then delete middle | 11.546 us/op | 3.8347 us/op | 3.01 |
OrderedSet add up to 128 items then delete middle | 23.345 us/op | 10.833 us/op | 2.15 |
Set add up to 256 items then delete first | 22.752 us/op | 7.9580 us/op | 2.86 |
OrderedSet add up to 256 items then delete first | 30.234 us/op | 12.714 us/op | 2.38 |
Set add up to 256 items then delete last | 22.920 us/op | 7.6717 us/op | 2.99 |
OrderedSet add up to 256 items then delete last | 34.403 us/op | 11.718 us/op | 2.94 |
Set add up to 256 items then delete middle | 23.309 us/op | 7.5948 us/op | 3.07 |
OrderedSet add up to 256 items then delete middle | 54.614 us/op | 31.288 us/op | 1.75 |
transfer serialized Status (84 B) | 2.2220 us/op | 1.6460 us/op | 1.35 |
copy serialized Status (84 B) | 1.6070 us/op | 1.2750 us/op | 1.26 |
transfer serialized SignedVoluntaryExit (112 B) | 2.3650 us/op | 1.7010 us/op | 1.39 |
copy serialized SignedVoluntaryExit (112 B) | 1.6050 us/op | 1.3530 us/op | 1.19 |
transfer serialized ProposerSlashing (416 B) | 2.7790 us/op | 2.3010 us/op | 1.21 |
copy serialized ProposerSlashing (416 B) | 2.5600 us/op | 1.9570 us/op | 1.31 |
transfer serialized Attestation (485 B) | 2.7920 us/op | 2.3200 us/op | 1.20 |
copy serialized Attestation (485 B) | 2.5000 us/op | 2.6990 us/op | 0.93 |
transfer serialized AttesterSlashing (33232 B) | 2.6460 us/op | 1.9740 us/op | 1.34 |
copy serialized AttesterSlashing (33232 B) | 10.028 us/op | 9.5020 us/op | 1.06 |
transfer serialized Small SignedBeaconBlock (128000 B) | 2.6140 us/op | 1.9610 us/op | 1.33 |
copy serialized Small SignedBeaconBlock (128000 B) | 26.300 us/op | 9.1480 us/op | 2.87 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 3.3570 us/op | 2.0390 us/op | 1.65 |
copy serialized Avg SignedBeaconBlock (200000 B) | 42.186 us/op | 13.100 us/op | 3.22 |
transfer serialized BlobsSidecar (524380 B) | 5.1750 us/op | 2.1300 us/op | 2.43 |
copy serialized BlobsSidecar (524380 B) | 242.52 us/op | 76.447 us/op | 3.17 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 5.8710 us/op | 2.5200 us/op | 2.33 |
copy serialized Big SignedBeaconBlock (1000000 B) | 277.89 us/op | 137.86 us/op | 2.02 |
pass gossip attestations to forkchoice per slot | 4.0580 ms/op | 2.7798 ms/op | 1.46 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 752.86 us/op | 522.38 us/op | 1.44 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 4.5357 ms/op | 2.6925 ms/op | 1.68 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 7.9575 ms/op | 4.4577 ms/op | 1.79 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 4.4483 ms/op | 2.8181 ms/op | 1.58 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 4.6712 ms/op | 2.8686 ms/op | 1.63 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 5.6629 ms/op | 3.4699 ms/op | 1.63 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 11.394 ms/op | 11.018 ms/op | 1.03 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 13.092 ms/op | 10.384 ms/op | 1.26 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 23.958 ms/op | 12.754 ms/op | 1.88 |
computeDeltas 500000 validators 300 proto nodes | 7.0728 ms/op | 3.3480 ms/op | 2.11 |
computeDeltas 500000 validators 1200 proto nodes | 7.0489 ms/op | 3.2325 ms/op | 2.18 |
computeDeltas 500000 validators 7200 proto nodes | 6.8087 ms/op | 3.3195 ms/op | 2.05 |
computeDeltas 750000 validators 300 proto nodes | 9.6759 ms/op | 5.3381 ms/op | 1.81 |
computeDeltas 750000 validators 1200 proto nodes | 9.5670 ms/op | 5.5015 ms/op | 1.74 |
computeDeltas 750000 validators 7200 proto nodes | 9.4618 ms/op | 5.7266 ms/op | 1.65 |
computeDeltas 1400000 validators 300 proto nodes | 17.608 ms/op | 11.674 ms/op | 1.51 |
computeDeltas 1400000 validators 1200 proto nodes | 17.761 ms/op | 11.014 ms/op | 1.61 |
computeDeltas 1400000 validators 7200 proto nodes | 18.050 ms/op | 12.180 ms/op | 1.48 |
computeDeltas 2100000 validators 300 proto nodes | 29.790 ms/op | 16.626 ms/op | 1.79 |
computeDeltas 2100000 validators 1200 proto nodes | 28.900 ms/op | 14.782 ms/op | 1.96 |
computeDeltas 2100000 validators 7200 proto nodes | 27.374 ms/op | 15.024 ms/op | 1.82 |
altair processAttestation - 250000 vs - 7PWei normalcase | 2.3671 ms/op | 1.8136 ms/op | 1.31 |
altair processAttestation - 250000 vs - 7PWei worstcase | 3.4313 ms/op | 2.3604 ms/op | 1.45 |
altair processAttestation - setStatus - 1/6 committees join | 182.11 us/op | 91.549 us/op | 1.99 |
altair processAttestation - setStatus - 1/3 committees join | 353.07 us/op | 220.19 us/op | 1.60 |
altair processAttestation - setStatus - 1/2 committees join | 465.20 us/op | 329.51 us/op | 1.41 |
altair processAttestation - setStatus - 2/3 committees join | 584.50 us/op | 447.83 us/op | 1.31 |
altair processAttestation - setStatus - 4/5 committees join | 799.68 us/op | 513.87 us/op | 1.56 |
altair processAttestation - setStatus - 100% committees join | 950.32 us/op | 605.90 us/op | 1.57 |
altair processBlock - 250000 vs - 7PWei normalcase | 9.5230 ms/op | 8.4504 ms/op | 1.13 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 33.763 ms/op | 30.771 ms/op | 1.10 |
altair processBlock - 250000 vs - 7PWei worstcase | 34.903 ms/op | 36.543 ms/op | 0.96 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 89.240 ms/op | 82.354 ms/op | 1.08 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 2.1299 ms/op | 2.3431 ms/op | 0.91 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 29.066 ms/op | 30.572 ms/op | 0.95 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 456.44 us/op | 547.13 us/op | 0.83 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 10.739 us/op | 13.286 us/op | 0.81 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 67.754 us/op | 91.156 us/op | 0.74 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 17.339 us/op | 24.978 us/op | 0.69 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 10.488 us/op | 20.048 us/op | 0.52 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 182.73 us/op | 190.06 us/op | 0.96 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 1.1654 ms/op | 1.0569 ms/op | 1.10 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.8084 ms/op | 970.38 us/op | 1.86 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 1.5415 ms/op | 1.7940 ms/op | 0.86 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 2.8888 ms/op | 4.7468 ms/op | 0.61 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 2.2432 ms/op | 2.5684 ms/op | 0.87 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 4.9060 ms/op | 5.0878 ms/op | 0.96 |
Tree 40 250000 create | 261.10 ms/op | 362.96 ms/op | 0.72 |
Tree 40 250000 get(125000) | 202.40 ns/op | 132.94 ns/op | 1.52 |
Tree 40 250000 set(125000) | 753.16 ns/op | 609.40 ns/op | 1.24 |
Tree 40 250000 toArray() | 18.315 ms/op | 21.772 ms/op | 0.84 |
Tree 40 250000 iterate all - toArray() + loop | 18.320 ms/op | 22.205 ms/op | 0.83 |
Tree 40 250000 iterate all - get(i) | 70.452 ms/op | 55.916 ms/op | 1.26 |
MutableVector 250000 create | 12.808 ms/op | 14.423 ms/op | 0.89 |
MutableVector 250000 get(125000) | 6.4750 ns/op | 6.0050 ns/op | 1.08 |
MutableVector 250000 set(125000) | 293.37 ns/op | 213.44 ns/op | 1.37 |
MutableVector 250000 toArray() | 3.7916 ms/op | 2.7898 ms/op | 1.36 |
MutableVector 250000 iterate all - toArray() + loop | 3.5505 ms/op | 2.5779 ms/op | 1.38 |
MutableVector 250000 iterate all - get(i) | 1.5551 ms/op | 1.3639 ms/op | 1.14 |
Array 250000 create | 3.1638 ms/op | 2.4272 ms/op | 1.30 |
Array 250000 clone - spread | 1.5228 ms/op | 1.2755 ms/op | 1.19 |
Array 250000 get(125000) | 1.1280 ns/op | 1.1230 ns/op | 1.00 |
Array 250000 set(125000) | 4.1490 ns/op | 1.2910 ns/op | 3.21 |
Array 250000 iterate all - loop | 162.09 us/op | 163.20 us/op | 0.99 |
effectiveBalanceIncrements clone Uint8Array 300000 | 38.702 us/op | 14.688 us/op | 2.63 |
effectiveBalanceIncrements clone MutableVector 300000 | 456.00 ns/op | 410.00 ns/op | 1.11 |
effectiveBalanceIncrements rw all Uint8Array 300000 | 200.97 us/op | 186.94 us/op | 1.08 |
effectiveBalanceIncrements rw all MutableVector 300000 | 93.845 ms/op | 67.206 ms/op | 1.40 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 116.58 ms/op | 81.810 ms/op | 1.43 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 37.814 ms/op | 43.303 ms/op | 0.87 |
altair processEpoch - mainnet_e81889 | 468.45 ms/op | 363.62 ms/op | 1.29 |
mainnet_e81889 - altair beforeProcessEpoch | 71.746 ms/op | 60.037 ms/op | 1.20 |
mainnet_e81889 - altair processJustificationAndFinalization | 20.624 us/op | 12.082 us/op | 1.71 |
mainnet_e81889 - altair processInactivityUpdates | 6.4201 ms/op | 3.5437 ms/op | 1.81 |
mainnet_e81889 - altair processRewardsAndPenalties | 52.275 ms/op | 51.593 ms/op | 1.01 |
mainnet_e81889 - altair processRegistryUpdates | 4.3560 us/op | 2.1230 us/op | 2.05 |
mainnet_e81889 - altair processSlashings | 443.00 ns/op | 771.00 ns/op | 0.57 |
mainnet_e81889 - altair processEth1DataReset | 575.00 ns/op | 578.00 ns/op | 0.99 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.5558 ms/op | 1.0556 ms/op | 1.47 |
mainnet_e81889 - altair processSlashingsReset | 5.0020 us/op | 3.5830 us/op | 1.40 |
mainnet_e81889 - altair processRandaoMixesReset | 7.3090 us/op | 6.5220 us/op | 1.12 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 1.6370 us/op | 1.0380 us/op | 1.58 |
mainnet_e81889 - altair processParticipationFlagUpdates | 2.9890 us/op | 2.3820 us/op | 1.25 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 965.00 ns/op | 992.00 ns/op | 0.97 |
mainnet_e81889 - altair afterProcessEpoch | 123.91 ms/op | 81.079 ms/op | 1.53 |
capella processEpoch - mainnet_e217614 | 1.7982 s/op | 1.4781 s/op | 1.22 |
mainnet_e217614 - capella beforeProcessEpoch | 352.86 ms/op | 272.12 ms/op | 1.30 |
mainnet_e217614 - capella processJustificationAndFinalization | 28.507 us/op | 24.841 us/op | 1.15 |
mainnet_e217614 - capella processInactivityUpdates | 18.151 ms/op | 12.952 ms/op | 1.40 |
mainnet_e217614 - capella processRewardsAndPenalties | 302.07 ms/op | 211.51 ms/op | 1.43 |
mainnet_e217614 - capella processRegistryUpdates | 21.518 us/op | 21.912 us/op | 0.98 |
mainnet_e217614 - capella processSlashings | 563.00 ns/op | 660.00 ns/op | 0.85 |
mainnet_e217614 - capella processEth1DataReset | 559.00 ns/op | 649.00 ns/op | 0.86 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 4.4891 ms/op | 16.034 ms/op | 0.28 |
mainnet_e217614 - capella processSlashingsReset | 4.1360 us/op | 3.9930 us/op | 1.04 |
mainnet_e217614 - capella processRandaoMixesReset | 6.1780 us/op | 6.8470 us/op | 0.90 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 664.00 ns/op | 1.0380 us/op | 0.64 |
mainnet_e217614 - capella processParticipationFlagUpdates | 1.9030 us/op | 2.5450 us/op | 0.75 |
mainnet_e217614 - capella afterProcessEpoch | 328.58 ms/op | 252.40 ms/op | 1.30 |
phase0 processEpoch - mainnet_e58758 | 521.09 ms/op | 481.35 ms/op | 1.08 |
mainnet_e58758 - phase0 beforeProcessEpoch | 160.25 ms/op | 130.10 ms/op | 1.23 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 20.702 us/op | 21.336 us/op | 0.97 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 26.136 ms/op | 23.916 ms/op | 1.09 |
mainnet_e58758 - phase0 processRegistryUpdates | 12.299 us/op | 9.9600 us/op | 1.23 |
mainnet_e58758 - phase0 processSlashings | 667.00 ns/op | 673.00 ns/op | 0.99 |
mainnet_e58758 - phase0 processEth1DataReset | 482.00 ns/op | 306.00 ns/op | 1.58 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.1250 ms/op | 859.71 us/op | 1.31 |
mainnet_e58758 - phase0 processSlashingsReset | 4.5750 us/op | 2.4930 us/op | 1.84 |
mainnet_e58758 - phase0 processRandaoMixesReset | 6.4040 us/op | 3.7770 us/op | 1.70 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 750.00 ns/op | 889.00 ns/op | 0.84 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 4.8280 us/op | 4.3220 us/op | 1.12 |
mainnet_e58758 - phase0 afterProcessEpoch | 106.99 ms/op | 69.914 ms/op | 1.53 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.3890 ms/op | 1.0084 ms/op | 1.38 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 1.5058 ms/op | 1.6259 ms/op | 0.93 |
altair processInactivityUpdates - 250000 normalcase | 18.134 ms/op | 16.714 ms/op | 1.08 |
altair processInactivityUpdates - 250000 worstcase | 17.459 ms/op | 14.166 ms/op | 1.23 |
phase0 processRegistryUpdates - 250000 normalcase | 10.606 us/op | 5.8580 us/op | 1.81 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 384.76 us/op | 437.00 us/op | 0.88 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 143.95 ms/op | 123.57 ms/op | 1.16 |
altair processRewardsAndPenalties - 250000 normalcase | 48.426 ms/op | 51.900 ms/op | 0.93 |
altair processRewardsAndPenalties - 250000 worstcase | 50.233 ms/op | 53.610 ms/op | 0.94 |
phase0 getAttestationDeltas - 250000 normalcase | 9.2792 ms/op | 5.8606 ms/op | 1.58 |
phase0 getAttestationDeltas - 250000 worstcase | 9.4718 ms/op | 5.4594 ms/op | 1.73 |
phase0 processSlashings - 250000 worstcase | 101.25 us/op | 86.285 us/op | 1.17 |
altair processSyncCommitteeUpdates - 250000 | 161.16 ms/op | 101.05 ms/op | 1.59 |
BeaconState.hashTreeRoot - No change | 627.00 ns/op | 365.00 ns/op | 1.72 |
BeaconState.hashTreeRoot - 1 full validator | 166.77 us/op | 91.192 us/op | 1.83 |
BeaconState.hashTreeRoot - 32 full validator | 1.4604 ms/op | 1.4762 ms/op | 0.99 |
BeaconState.hashTreeRoot - 512 full validator | 12.684 ms/op | 16.557 ms/op | 0.77 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 151.14 us/op | 183.92 us/op | 0.82 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 2.0069 ms/op | 2.0048 ms/op | 1.00 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 25.529 ms/op | 30.010 ms/op | 0.85 |
BeaconState.hashTreeRoot - 1 balances | 127.93 us/op | 135.03 us/op | 0.95 |
BeaconState.hashTreeRoot - 32 balances | 1.1631 ms/op | 1.5208 ms/op | 0.76 |
BeaconState.hashTreeRoot - 512 balances | 12.105 ms/op | 14.090 ms/op | 0.86 |
BeaconState.hashTreeRoot - 250000 balances | 266.99 ms/op | 199.16 ms/op | 1.34 |
aggregationBits - 2048 els - zipIndexesInBitList | 37.636 us/op | 20.841 us/op | 1.81 |
byteArrayEquals 32 | 78.005 ns/op | 63.961 ns/op | 1.22 |
Buffer.compare 32 | 56.748 ns/op | 40.200 ns/op | 1.41 |
byteArrayEquals 1024 | 2.1005 us/op | 1.7377 us/op | 1.21 |
Buffer.compare 1024 | 72.142 ns/op | 47.446 ns/op | 1.52 |
byteArrayEquals 16384 | 33.407 us/op | 27.605 us/op | 1.21 |
Buffer.compare 16384 | 267.72 ns/op | 226.43 ns/op | 1.18 |
byteArrayEquals 123687377 | 254.11 ms/op | 213.89 ms/op | 1.19 |
Buffer.compare 123687377 | 9.5331 ms/op | 5.0299 ms/op | 1.90 |
byteArrayEquals 32 - diff last byte | 79.141 ns/op | 62.200 ns/op | 1.27 |
Buffer.compare 32 - diff last byte | 59.380 ns/op | 38.876 ns/op | 1.53 |
byteArrayEquals 1024 - diff last byte | 2.1924 us/op | 1.7734 us/op | 1.24 |
Buffer.compare 1024 - diff last byte | 73.820 ns/op | 48.647 ns/op | 1.52 |
byteArrayEquals 16384 - diff last byte | 34.603 us/op | 28.117 us/op | 1.23 |
Buffer.compare 16384 - diff last byte | 278.90 ns/op | 233.98 ns/op | 1.19 |
byteArrayEquals 123687377 - diff last byte | 251.53 ms/op | 210.63 ms/op | 1.19 |
Buffer.compare 123687377 - diff last byte | 8.5756 ms/op | 5.5439 ms/op | 1.55 |
byteArrayEquals 32 - random bytes | 6.3320 ns/op | 4.9230 ns/op | 1.29 |
Buffer.compare 32 - random bytes | 63.526 ns/op | 41.197 ns/op | 1.54 |
byteArrayEquals 1024 - random bytes | 5.8330 ns/op | 4.6530 ns/op | 1.25 |
Buffer.compare 1024 - random bytes | 61.641 ns/op | 40.824 ns/op | 1.51 |
byteArrayEquals 16384 - random bytes | 5.5250 ns/op | 4.6410 ns/op | 1.19 |
Buffer.compare 16384 - random bytes | 61.074 ns/op | 42.359 ns/op | 1.44 |
byteArrayEquals 123687377 - random bytes | 8.5800 ns/op | 7.9900 ns/op | 1.07 |
Buffer.compare 123687377 - random bytes | 67.700 ns/op | 42.370 ns/op | 1.60 |
regular array get 100000 times | 45.902 us/op | 42.044 us/op | 1.09 |
wrappedArray get 100000 times | 45.360 us/op | 42.189 us/op | 1.08 |
arrayWithProxy get 100000 times | 14.263 ms/op | 10.231 ms/op | 1.39 |
ssz.Root.equals | 54.492 ns/op | 56.429 ns/op | 0.97 |
byteArrayEquals | 53.654 ns/op | 55.960 ns/op | 0.96 |
Buffer.compare | 11.291 ns/op | 10.330 ns/op | 1.09 |
shuffle list - 16384 els | 8.8446 ms/op | 6.0257 ms/op | 1.47 |
shuffle list - 250000 els | 129.83 ms/op | 92.664 ms/op | 1.40 |
processSlot - 1 slots | 16.247 us/op | 14.168 us/op | 1.15 |
processSlot - 32 slots | 3.8967 ms/op | 2.3496 ms/op | 1.66 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 57.926 ms/op | 51.008 ms/op | 1.14 |
getCommitteeAssignments - req 1 vs - 250000 vc | 2.6814 ms/op | 2.5083 ms/op | 1.07 |
getCommitteeAssignments - req 100 vs - 250000 vc | 3.8956 ms/op | 3.7990 ms/op | 1.03 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 4.3070 ms/op | 4.0666 ms/op | 1.06 |
findModifiedValidators - 10000 modified validators | 371.66 ms/op | 349.47 ms/op | 1.06 |
findModifiedValidators - 1000 modified validators | 263.27 ms/op | 195.29 ms/op | 1.35 |
findModifiedValidators - 100 modified validators | 283.56 ms/op | 173.09 ms/op | 1.64 |
findModifiedValidators - 10 modified validators | 220.34 ms/op | 194.15 ms/op | 1.13 |
findModifiedValidators - 1 modified validators | 219.99 ms/op | 217.93 ms/op | 1.01 |
findModifiedValidators - no difference | 209.89 ms/op | 246.69 ms/op | 0.85 |
compare ViewDUs | 3.9742 s/op | 4.1294 s/op | 0.96 |
compare each validator Uint8Array | 1.8115 s/op | 1.6621 s/op | 1.09 |
compare ViewDU to Uint8Array | 1.4428 s/op | 1.0283 s/op | 1.40 |
migrate state 1000000 validators, 24 modified, 0 new | 782.99 ms/op | 609.02 ms/op | 1.29 |
migrate state 1000000 validators, 1700 modified, 1000 new | 1.2926 s/op | 1.0056 s/op | 1.29 |
migrate state 1000000 validators, 3400 modified, 2000 new | 1.7006 s/op | 1.2227 s/op | 1.39 |
migrate state 1500000 validators, 24 modified, 0 new | 856.11 ms/op | 631.87 ms/op | 1.35 |
migrate state 1500000 validators, 1700 modified, 1000 new | 1.1210 s/op | 1.0066 s/op | 1.11 |
migrate state 1500000 validators, 3400 modified, 2000 new | 1.3939 s/op | 1.2967 s/op | 1.07 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 4.5700 ns/op | 4.3800 ns/op | 1.04 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 609.91 ns/op | 801.78 ns/op | 0.76 |
computeProposers - vc 250000 | 10.001 ms/op | 6.9287 ms/op | 1.44 |
computeEpochShuffling - vc 250000 | 131.45 ms/op | 86.277 ms/op | 1.52 |
getNextSyncCommittee - vc 250000 | 155.04 ms/op | 98.582 ms/op | 1.57 |
computeSigningRoot for AttestationData | 30.125 us/op | 28.051 us/op | 1.07 |
hash AttestationData serialized data then Buffer.toString(base64) | 2.3536 us/op | 1.2195 us/op | 1.93 |
toHexString serialized data | 1.1148 us/op | 728.81 ns/op | 1.53 |
Buffer.toString(base64) | 247.67 ns/op | 154.19 ns/op | 1.61 |
by benchmarkbot/action
export function nextEventLoop(): Promise<void> { | ||
// `setTimeout` delay is at least 1ms | ||
// Say https://nodejs.org/api/timers.html#settimeoutcallback-delay-args | ||
return sleep(1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a note for the future.
This was changed from 0 to 1 because 1 is actually the minimum that's allowed. Passing 0 here will be treated the same as passing 1.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems nodejs/libuv specific behavior, might be a safer bet to just pass 0 and let the runtime specific implementation handle it. I would assume all of them handle setTimeout 0
as execute in next event loop tick.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #6806 +/- ##
============================================
+ Coverage 61.88% 62.20% +0.32%
============================================
Files 562 571 +9
Lines 59309 60013 +704
Branches 1916 1982 +66
============================================
+ Hits 36703 37334 +631
- Misses 22563 22635 +72
- Partials 43 44 +1 |
* 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 🎉 |
Description
Refactor event loop interactions by overriding utility functions.
This allows to easily track which part of the code deals with event loop interactions, and allows to simply experiment with different strategies.
Note that both utility functions are related and it might make sense to push this further and merge them in a single function.