Skip to content
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

fix: prevent unhandled rejections in racePromisesWithCutoff #5627

Merged
merged 4 commits into from
Jun 12, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jun 11, 2023

Motivation

Prevent unhandled promise rejections in racePromisesWithCutoff, as reported in discord

10:52:23.013[]                error: uncaughtException: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined".
UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined". This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined".
UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined"

and already previously reported in discord

validator_1    | UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined". This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined".
validator_1    | UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined".

Description

Resolves cutoffPromise and timeoutPromise promises when timeout is reached instead of rejecting and throwing an error.

This prevents unhandled rejections due to timeoutPromise not being handled if we return earlier

return mapStatusesToResponses(promisesStates);

we never handle the timeoutPromise here

await Promise.any(promises.map((promise) => Promise.race([promise, timeoutPromise]))).catch(

Related issues

@nflaig nflaig changed the title fix: prevent unhandled promise rejection in racePromisesWithCutoff fix: prevent unhandled rejections in racePromisesWithCutoff Jun 11, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jun 11, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 5a434b9 Previous: 09ecf99 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 993.30 us/op 1.0137 ms/op 0.98
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 57.253 us/op 53.559 us/op 1.07
BLS verify - blst-native 1.2664 ms/op 1.2788 ms/op 0.99
BLS verifyMultipleSignatures 3 - blst-native 2.5636 ms/op 2.5960 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst-native 5.4811 ms/op 5.4902 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 20.218 ms/op 19.858 ms/op 1.02
BLS aggregatePubkeys 32 - blst-native 27.588 us/op 26.578 us/op 1.04
BLS aggregatePubkeys 128 - blst-native 107.27 us/op 104.25 us/op 1.03
getAttestationsForBlock 63.002 ms/op 64.855 ms/op 0.97
isKnown best case - 1 super set check 272.00 ns/op 275.00 ns/op 0.99
isKnown normal case - 2 super set checks 271.00 ns/op 268.00 ns/op 1.01
isKnown worse case - 16 super set checks 273.00 ns/op 265.00 ns/op 1.03
CheckpointStateCache - add get delete 6.0540 us/op 5.9640 us/op 1.02
validate gossip signedAggregateAndProof - struct 2.9762 ms/op 2.9571 ms/op 1.01
validate gossip attestation - struct 1.3949 ms/op 1.4232 ms/op 0.98
pickEth1Vote - no votes 1.4720 ms/op 1.4284 ms/op 1.03
pickEth1Vote - max votes 13.130 ms/op 14.877 ms/op 0.88
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.837 ms/op 10.081 ms/op 1.07
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.499 ms/op 17.812 ms/op 1.09
pickEth1Vote - Eth1Data fastSerialize value x2048 813.66 us/op 752.96 us/op 1.08
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.3905 ms/op 9.8292 ms/op 0.96
bytes32 toHexString 722.00 ns/op 736.00 ns/op 0.98
bytes32 Buffer.toString(hex) 441.00 ns/op 456.00 ns/op 0.97
bytes32 Buffer.toString(hex) from Uint8Array 647.00 ns/op 678.00 ns/op 0.95
bytes32 Buffer.toString(hex) + 0x 449.00 ns/op 469.00 ns/op 0.96
Object access 1 prop 0.21600 ns/op 0.22500 ns/op 0.96
Map access 1 prop 0.17400 ns/op 0.17000 ns/op 1.02
Object get x1000 7.3350 ns/op 7.1080 ns/op 1.03
Map get x1000 0.62100 ns/op 0.67000 ns/op 0.93
Object set x1000 90.355 ns/op 60.698 ns/op 1.49
Map set x1000 65.346 ns/op 50.714 ns/op 1.29
Return object 10000 times 0.26980 ns/op 0.26020 ns/op 1.04
Throw Error 10000 times 4.7020 us/op 4.2993 us/op 1.09
fastMsgIdFn sha256 / 200 bytes 3.8760 us/op 3.4910 us/op 1.11
fastMsgIdFn h32 xxhash / 200 bytes 371.00 ns/op 301.00 ns/op 1.23
fastMsgIdFn h64 xxhash / 200 bytes 555.00 ns/op 425.00 ns/op 1.31
fastMsgIdFn sha256 / 1000 bytes 12.441 us/op 11.574 us/op 1.07
fastMsgIdFn h32 xxhash / 1000 bytes 519.00 ns/op 425.00 ns/op 1.22
fastMsgIdFn h64 xxhash / 1000 bytes 584.00 ns/op 469.00 ns/op 1.25
fastMsgIdFn sha256 / 10000 bytes 112.44 us/op 103.28 us/op 1.09
fastMsgIdFn h32 xxhash / 10000 bytes 2.2000 us/op 1.9770 us/op 1.11
fastMsgIdFn h64 xxhash / 10000 bytes 1.6010 us/op 1.4250 us/op 1.12
enrSubnets - fastDeserialize 64 bits 1.9330 us/op 1.4380 us/op 1.34
enrSubnets - ssz BitVector 64 bits 660.00 ns/op 509.00 ns/op 1.30
enrSubnets - fastDeserialize 4 bits 241.00 ns/op 183.00 ns/op 1.32
enrSubnets - ssz BitVector 4 bits 917.00 ns/op 544.00 ns/op 1.69
prioritizePeers score -10:0 att 32-0.1 sync 2-0 153.73 us/op 113.48 us/op 1.35
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 194.64 us/op 138.58 us/op 1.40
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 243.01 us/op 185.41 us/op 1.31
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 429.47 us/op 329.68 us/op 1.30
prioritizePeers score 0:0 att 64-1 sync 4-1 502.28 us/op 413.27 us/op 1.22
array of 16000 items push then shift 1.7616 us/op 1.7090 us/op 1.03
LinkedList of 16000 items push then shift 9.9720 ns/op 9.6770 ns/op 1.03
array of 16000 items push then pop 132.72 ns/op 118.71 ns/op 1.12
LinkedList of 16000 items push then pop 10.068 ns/op 9.5350 ns/op 1.06
array of 24000 items push then shift 2.5352 us/op 2.4719 us/op 1.03
LinkedList of 24000 items push then shift 10.510 ns/op 11.056 ns/op 0.95
array of 24000 items push then pop 102.06 ns/op 94.731 ns/op 1.08
LinkedList of 24000 items push then pop 9.9490 ns/op 9.7040 ns/op 1.03
intersect bitArray bitLen 8 14.187 ns/op 17.202 ns/op 0.82
intersect array and set length 8 119.17 ns/op 120.46 ns/op 0.99
intersect bitArray bitLen 128 46.600 ns/op 47.152 ns/op 0.99
intersect array and set length 128 1.4107 us/op 1.4054 us/op 1.00
Buffer.concat 32 items 3.3080 us/op 3.2910 us/op 1.01
Uint8Array.set 32 items 3.5760 us/op 3.1990 us/op 1.12
transfer serialized Status (84 B) 2.5630 us/op 2.5630 us/op 1.00
copy serialized Status (84 B) 2.0110 us/op 1.9980 us/op 1.01
transfer serialized SignedVoluntaryExit (112 B) 2.3300 us/op 2.4950 us/op 0.93
copy serialized SignedVoluntaryExit (112 B) 1.9090 us/op 2.0610 us/op 0.93
transfer serialized ProposerSlashing (416 B) 2.6250 us/op 3.4910 us/op 0.75
copy serialized ProposerSlashing (416 B) 2.9960 us/op 3.3580 us/op 0.89
transfer serialized Attestation (485 B) 3.5960 us/op 3.2460 us/op 1.11
copy serialized Attestation (485 B) 2.9860 us/op 2.9380 us/op 1.02
transfer serialized AttesterSlashing (33232 B) 2.7460 us/op 3.5120 us/op 0.78
copy serialized AttesterSlashing (33232 B) 7.7510 us/op 9.4320 us/op 0.82
transfer serialized Small SignedBeaconBlock (128000 B) 3.2380 us/op 3.1600 us/op 1.02
copy serialized Small SignedBeaconBlock (128000 B) 25.106 us/op 55.287 us/op 0.45
transfer serialized Avg SignedBeaconBlock (200000 B) 3.9300 us/op 3.8640 us/op 1.02
copy serialized Avg SignedBeaconBlock (200000 B) 72.978 us/op 40.627 us/op 1.80
transfer serialized BlobsSidecar (524380 B) 4.2220 us/op 4.1830 us/op 1.01
copy serialized BlobsSidecar (524380 B) 212.84 us/op 137.87 us/op 1.54
transfer serialized Big SignedBeaconBlock (1000000 B) 5.0620 us/op 4.8240 us/op 1.05
copy serialized Big SignedBeaconBlock (1000000 B) 190.85 us/op 366.17 us/op 0.52
pass gossip attestations to forkchoice per slot 2.8742 ms/op 2.8918 ms/op 0.99
forkChoice updateHead vc 100000 bc 64 eq 0 2.3088 ms/op 2.4583 ms/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 0 14.559 ms/op 13.200 ms/op 1.10
forkChoice updateHead vc 1000000 bc 64 eq 0 25.942 ms/op 25.580 ms/op 1.01
forkChoice updateHead vc 600000 bc 320 eq 0 18.867 ms/op 18.363 ms/op 1.03
forkChoice updateHead vc 600000 bc 1200 eq 0 96.526 ms/op 86.627 ms/op 1.11
forkChoice updateHead vc 600000 bc 64 eq 1000 23.552 ms/op 21.611 ms/op 1.09
forkChoice updateHead vc 600000 bc 64 eq 10000 24.496 ms/op 23.486 ms/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 300000 82.503 ms/op 32.147 ms/op 2.57
computeDeltas 3.3942 ms/op 3.7329 ms/op 0.91
computeProposerBoostScoreFromBalances 1.8181 ms/op 1.8434 ms/op 0.99
altair processAttestation - 250000 vs - 7PWei normalcase 3.2659 ms/op 2.3341 ms/op 1.40
altair processAttestation - 250000 vs - 7PWei worstcase 6.1033 ms/op 3.9845 ms/op 1.53
altair processAttestation - setStatus - 1/6 committees join 154.69 us/op 149.53 us/op 1.03
altair processAttestation - setStatus - 1/3 committees join 285.36 us/op 300.59 us/op 0.95
altair processAttestation - setStatus - 1/2 committees join 403.48 us/op 386.77 us/op 1.04
altair processAttestation - setStatus - 2/3 committees join 480.55 us/op 491.83 us/op 0.98
altair processAttestation - setStatus - 4/5 committees join 692.09 us/op 694.94 us/op 1.00
altair processAttestation - setStatus - 100% committees join 803.53 us/op 802.49 us/op 1.00
altair processBlock - 250000 vs - 7PWei normalcase 22.829 ms/op 20.485 ms/op 1.11
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.933 ms/op 31.046 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase 51.166 ms/op 56.260 ms/op 0.91
altair processBlock - 250000 vs - 7PWei worstcase hashState 77.277 ms/op 79.955 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei normalcase 2.8359 ms/op 2.5768 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei worstcase 31.493 ms/op 30.622 ms/op 1.03
altair processEth1Data - 250000 vs - 7PWei normalcase 720.61 us/op 663.52 us/op 1.09
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 18.097 us/op 9.1110 us/op 1.99
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 40.652 us/op 24.952 us/op 1.63
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 20.933 us/op 11.603 us/op 1.80
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 15.944 us/op 11.319 us/op 1.41
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 128.70 us/op 138.38 us/op 0.93
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0045 ms/op 814.54 us/op 1.23
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 995.37 us/op 1.1704 ms/op 0.85
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.1707 ms/op 1.0279 ms/op 1.14
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.9927 ms/op 2.4328 ms/op 1.23
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.8702 ms/op 1.8677 ms/op 1.00
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.6175 ms/op 4.7313 ms/op 1.19
Tree 40 250000 create 588.70 ms/op 996.88 ms/op 0.59
Tree 40 250000 get(125000) 202.37 ns/op 205.96 ns/op 0.98
Tree 40 250000 set(125000) 1.1939 us/op 2.3018 us/op 0.52
Tree 40 250000 toArray() 23.925 ms/op 30.007 ms/op 0.80
Tree 40 250000 iterate all - toArray() + loop 26.057 ms/op 34.231 ms/op 0.76
Tree 40 250000 iterate all - get(i) 84.320 ms/op 93.006 ms/op 0.91
MutableVector 250000 create 13.260 ms/op 15.402 ms/op 0.86
MutableVector 250000 get(125000) 6.8050 ns/op 7.3600 ns/op 0.92
MutableVector 250000 set(125000) 333.52 ns/op 673.20 ns/op 0.50
MutableVector 250000 toArray() 4.3932 ms/op 5.9052 ms/op 0.74
MutableVector 250000 iterate all - toArray() + loop 4.1902 ms/op 6.0408 ms/op 0.69
MutableVector 250000 iterate all - get(i) 1.6963 ms/op 1.6231 ms/op 1.05
Array 250000 create 4.1447 ms/op 5.4281 ms/op 0.76
Array 250000 clone - spread 1.4073 ms/op 1.8292 ms/op 0.77
Array 250000 get(125000) 0.71300 ns/op 1.4420 ns/op 0.49
Array 250000 set(125000) 0.79300 ns/op 2.3190 ns/op 0.34
Array 250000 iterate all - loop 88.712 us/op 93.232 us/op 0.95
effectiveBalanceIncrements clone Uint8Array 300000 47.403 us/op 101.36 us/op 0.47
effectiveBalanceIncrements clone MutableVector 300000 377.00 ns/op 1.9090 us/op 0.20
effectiveBalanceIncrements rw all Uint8Array 300000 176.67 us/op 182.45 us/op 0.97
effectiveBalanceIncrements rw all MutableVector 300000 122.63 ms/op 220.55 ms/op 0.56
phase0 afterProcessEpoch - 250000 vs - 7PWei 125.40 ms/op 128.44 ms/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 55.457 ms/op 63.851 ms/op 0.87
altair processEpoch - mainnet_e81889 369.07 ms/op 461.50 ms/op 0.80
mainnet_e81889 - altair beforeProcessEpoch 81.749 ms/op 89.419 ms/op 0.91
mainnet_e81889 - altair processJustificationAndFinalization 29.491 us/op 30.775 us/op 0.96
mainnet_e81889 - altair processInactivityUpdates 7.6252 ms/op 11.002 ms/op 0.69
mainnet_e81889 - altair processRewardsAndPenalties 79.320 ms/op 83.137 ms/op 0.95
mainnet_e81889 - altair processRegistryUpdates 4.8250 us/op 6.8240 us/op 0.71
mainnet_e81889 - altair processSlashings 1.1420 us/op 1.3460 us/op 0.85
mainnet_e81889 - altair processEth1DataReset 1.0570 us/op 1.6560 us/op 0.64
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3957 ms/op 2.3385 ms/op 0.60
mainnet_e81889 - altair processSlashingsReset 7.6620 us/op 8.9040 us/op 0.86
mainnet_e81889 - altair processRandaoMixesReset 12.713 us/op 12.484 us/op 1.02
mainnet_e81889 - altair processHistoricalRootsUpdate 1.3980 us/op 2.1050 us/op 0.66
mainnet_e81889 - altair processParticipationFlagUpdates 3.2780 us/op 6.1660 us/op 0.53
mainnet_e81889 - altair processSyncCommitteeUpdates 615.00 ns/op 1.9430 us/op 0.32
mainnet_e81889 - altair afterProcessEpoch 132.77 ms/op 168.02 ms/op 0.79
phase0 processEpoch - mainnet_e58758 369.88 ms/op 425.39 ms/op 0.87
mainnet_e58758 - phase0 beforeProcessEpoch 135.78 ms/op 190.61 ms/op 0.71
mainnet_e58758 - phase0 processJustificationAndFinalization 23.470 us/op 25.227 us/op 0.93
mainnet_e58758 - phase0 processRewardsAndPenalties 58.422 ms/op 55.741 ms/op 1.05
mainnet_e58758 - phase0 processRegistryUpdates 9.7380 us/op 8.8410 us/op 1.10
mainnet_e58758 - phase0 processSlashings 849.00 ns/op 858.00 ns/op 0.99
mainnet_e58758 - phase0 processEth1DataReset 1.1910 us/op 1.3140 us/op 0.91
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2497 ms/op 1.8522 ms/op 0.67
mainnet_e58758 - phase0 processSlashingsReset 5.6970 us/op 7.9200 us/op 0.72
mainnet_e58758 - phase0 processRandaoMixesReset 9.3290 us/op 10.164 us/op 0.92
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.8410 us/op 2.1230 us/op 0.87
mainnet_e58758 - phase0 processParticipationRecordUpdates 10.834 us/op 10.253 us/op 1.06
mainnet_e58758 - phase0 afterProcessEpoch 103.12 ms/op 106.03 ms/op 0.97
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.5716 ms/op 1.4867 ms/op 1.06
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.4142 ms/op 2.0344 ms/op 1.19
altair processInactivityUpdates - 250000 normalcase 37.836 ms/op 29.461 ms/op 1.28
altair processInactivityUpdates - 250000 worstcase 33.968 ms/op 29.324 ms/op 1.16
phase0 processRegistryUpdates - 250000 normalcase 13.749 us/op 14.080 us/op 0.98
phase0 processRegistryUpdates - 250000 badcase_full_deposits 331.25 us/op 345.61 us/op 0.96
phase0 processRegistryUpdates - 250000 worstcase 0.5 135.96 ms/op 158.03 ms/op 0.86
altair processRewardsAndPenalties - 250000 normalcase 79.164 ms/op 74.260 ms/op 1.07
altair processRewardsAndPenalties - 250000 worstcase 82.967 ms/op 71.136 ms/op 1.17
phase0 getAttestationDeltas - 250000 normalcase 10.698 ms/op 8.2559 ms/op 1.30
phase0 getAttestationDeltas - 250000 worstcase 10.625 ms/op 7.8933 ms/op 1.35
phase0 processSlashings - 250000 worstcase 4.7331 ms/op 3.6884 ms/op 1.28
altair processSyncCommitteeUpdates - 250000 236.50 ms/op 191.89 ms/op 1.23
BeaconState.hashTreeRoot - No change 353.00 ns/op 382.00 ns/op 0.92
BeaconState.hashTreeRoot - 1 full validator 63.547 us/op 58.232 us/op 1.09
BeaconState.hashTreeRoot - 32 full validator 644.73 us/op 610.00 us/op 1.06
BeaconState.hashTreeRoot - 512 full validator 7.1957 ms/op 5.6213 ms/op 1.28
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 79.832 us/op 69.939 us/op 1.14
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.0241 ms/op 1.1075 ms/op 0.92
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 15.522 ms/op 12.544 ms/op 1.24
BeaconState.hashTreeRoot - 1 balances 59.225 us/op 48.389 us/op 1.22
BeaconState.hashTreeRoot - 32 balances 528.62 us/op 497.82 us/op 1.06
BeaconState.hashTreeRoot - 512 balances 5.8244 ms/op 4.7371 ms/op 1.23
BeaconState.hashTreeRoot - 250000 balances 81.123 ms/op 81.919 ms/op 0.99
aggregationBits - 2048 els - zipIndexesInBitList 30.994 us/op 20.367 us/op 1.52
regular array get 100000 times 40.446 us/op 36.302 us/op 1.11
wrappedArray get 100000 times 48.687 us/op 43.481 us/op 1.12
arrayWithProxy get 100000 times 18.131 ms/op 16.188 ms/op 1.12
ssz.Root.equals 600.00 ns/op 578.00 ns/op 1.04
byteArrayEquals 624.00 ns/op 562.00 ns/op 1.11
shuffle list - 16384 els 8.4620 ms/op 7.0897 ms/op 1.19
shuffle list - 250000 els 113.72 ms/op 105.66 ms/op 1.08
processSlot - 1 slots 10.329 us/op 9.5480 us/op 1.08
processSlot - 32 slots 1.5375 ms/op 1.4706 ms/op 1.05
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.120 ms/op 38.977 ms/op 0.93
getCommitteeAssignments - req 1 vs - 250000 vc 3.0189 ms/op 3.0855 ms/op 0.98
getCommitteeAssignments - req 100 vs - 250000 vc 4.1831 ms/op 4.2915 ms/op 0.97
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4536 ms/op 4.7103 ms/op 0.95
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.8800 ns/op 5.2000 ns/op 0.94
state getBlockRootAtSlot - 250000 vs - 7PWei 653.87 ns/op 762.23 ns/op 0.86
computeProposers - vc 250000 11.291 ms/op 12.200 ms/op 0.93
computeEpochShuffling - vc 250000 104.17 ms/op 108.35 ms/op 0.96
getNextSyncCommittee - vc 250000 180.44 ms/op 191.13 ms/op 0.94
computeSigningRoot for AttestationData 14.196 us/op 14.925 us/op 0.95
hash AttestationData serialized data then Buffer.toString(base64) 2.4635 us/op 2.6569 us/op 0.93
toHexString serialized data 1.0996 us/op 1.1984 us/op 0.92
Buffer.toString(base64) 336.82 ns/op 333.57 ns/op 1.01

by benchmarkbot/action

@nflaig nflaig marked this pull request as ready for review June 11, 2023 12:37
@nflaig nflaig requested a review from a team as a code owner June 11, 2023 12:37
g11tech
g11tech previously approved these changes Jun 11, 2023
Copy link
Contributor

@g11tech g11tech left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

packages/utils/src/promise.ts Outdated Show resolved Hide resolved
@wemeetagain wemeetagain enabled auto-merge (squash) June 12, 2023 14:50
@wemeetagain wemeetagain merged commit 739febb into unstable Jun 12, 2023
@wemeetagain wemeetagain deleted the nflaig/prevent-unhandled-rejections branch June 12, 2023 15:18
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.9.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants