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: only concatenate non-empty api error messages #5988

Merged
merged 1 commit into from
Sep 23, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Sep 23, 2023

Motivation

There are a lot of places in the code where ApiError.assert is called without a message

ApiError.assert(await this.api.registerValidator(registrations));

This results in error like this

Sep-23 07:57:14.074[rest]            error: Req req-3yww registerValidator error   - Bad Gateway: no successful relay response
Error:  - Bad Gateway: no successful relay response
Sep-23 08:03:39.210[]                error: Error publishing attestations slot=xxxxx  - Internal Server Error: PublishError.InsufficientPeers
Error:  - Internal Server Error: PublishError.InsufficientPeers

The error messages start with -

Description

Only concatenate non-empty api error messages by filtering out undefined and empty strings ""

@nazarhussain is this intended behavior? I kinda see that it could make sense as separator if the error message itself is concatenated with another message from a log, e.g. this.logger.error("Error publishing attestations", {}, e); but if we wanted a separator for those messages, it should be handled by the logger.

@nflaig nflaig requested a review from a team as a code owner September 23, 2023 12:57
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: f59d487 Previous: 9618dd1 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 738.03 us/op 814.25 us/op 0.91
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 75.351 us/op 109.28 us/op 0.69
BLS verify - blst-native 1.2644 ms/op 1.3630 ms/op 0.93
BLS verifyMultipleSignatures 3 - blst-native 2.6648 ms/op 2.8415 ms/op 0.94
BLS verifyMultipleSignatures 8 - blst-native 5.8448 ms/op 6.2390 ms/op 0.94
BLS verifyMultipleSignatures 32 - blst-native 21.367 ms/op 22.847 ms/op 0.94
BLS verifyMultipleSignatures 64 - blst-native 42.087 ms/op 44.905 ms/op 0.94
BLS verifyMultipleSignatures 128 - blst-native 83.607 ms/op 88.396 ms/op 0.95
BLS deserializing 10000 signatures 863.54 ms/op 918.63 ms/op 0.94
BLS deserializing 100000 signatures 8.7941 s/op 9.1709 s/op 0.96
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3341 ms/op 1.3601 ms/op 0.98
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5025 ms/op 1.6123 ms/op 0.93
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.3139 ms/op 2.3412 ms/op 0.99
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.3938 ms/op 3.5001 ms/op 0.97
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.5515 ms/op 5.6960 ms/op 0.97
BLS aggregatePubkeys 32 - blst-native 25.295 us/op 26.000 us/op 0.97
BLS aggregatePubkeys 128 - blst-native 99.310 us/op 102.50 us/op 0.97
getAttestationsForBlock 36.188 ms/op 44.286 ms/op 0.82
isKnown best case - 1 super set check 265.00 ns/op 360.00 ns/op 0.74
isKnown normal case - 2 super set checks 260.00 ns/op 453.00 ns/op 0.57
isKnown worse case - 16 super set checks 263.00 ns/op 441.00 ns/op 0.60
CheckpointStateCache - add get delete 4.7250 us/op 5.6820 us/op 0.83
validate api signedAggregateAndProof - struct 2.6774 ms/op 2.8749 ms/op 0.93
validate gossip signedAggregateAndProof - struct 2.6671 ms/op 2.8623 ms/op 0.93
validate gossip attestation - vc 640000 1.3173 ms/op 1.3890 ms/op 0.95
batch validate gossip attestation - vc 640000 - chunk 32 159.12 us/op 173.12 us/op 0.92
batch validate gossip attestation - vc 640000 - chunk 64 140.67 us/op 150.93 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 128 125.70 us/op 140.69 us/op 0.89
batch validate gossip attestation - vc 640000 - chunk 256 123.20 us/op 142.18 us/op 0.87
pickEth1Vote - no votes 1.1388 ms/op 1.5193 ms/op 0.75
pickEth1Vote - max votes 9.1248 ms/op 11.269 ms/op 0.81
pickEth1Vote - Eth1Data hashTreeRoot value x2048 16.998 ms/op 19.651 ms/op 0.87
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 24.304 ms/op 30.533 ms/op 0.80
pickEth1Vote - Eth1Data fastSerialize value x2048 548.24 us/op 680.83 us/op 0.81
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.6147 ms/op 7.3031 ms/op 1.04
bytes32 toHexString 471.00 ns/op 603.00 ns/op 0.78
bytes32 Buffer.toString(hex) 281.00 ns/op 319.00 ns/op 0.88
bytes32 Buffer.toString(hex) from Uint8Array 417.00 ns/op 531.00 ns/op 0.79
bytes32 Buffer.toString(hex) + 0x 277.00 ns/op 341.00 ns/op 0.81
Object access 1 prop 0.15100 ns/op 0.20800 ns/op 0.73
Map access 1 prop 0.14100 ns/op 0.17300 ns/op 0.82
Object get x1000 7.2010 ns/op 9.4670 ns/op 0.76
Map get x1000 0.54400 ns/op 0.79500 ns/op 0.68
Object set x1000 47.754 ns/op 65.441 ns/op 0.73
Map set x1000 37.498 ns/op 48.273 ns/op 0.78
Return object 10000 times 0.23320 ns/op 0.26940 ns/op 0.87
Throw Error 10000 times 3.7852 us/op 3.9723 us/op 0.95
fastMsgIdFn sha256 / 200 bytes 3.2210 us/op 3.4790 us/op 0.93
fastMsgIdFn h32 xxhash / 200 bytes 273.00 ns/op 320.00 ns/op 0.85
fastMsgIdFn h64 xxhash / 200 bytes 333.00 ns/op 379.00 ns/op 0.88
fastMsgIdFn sha256 / 1000 bytes 11.315 us/op 12.141 us/op 0.93
fastMsgIdFn h32 xxhash / 1000 bytes 401.00 ns/op 492.00 ns/op 0.82
fastMsgIdFn h64 xxhash / 1000 bytes 402.00 ns/op 465.00 ns/op 0.86
fastMsgIdFn sha256 / 10000 bytes 103.83 us/op 107.88 us/op 0.96
fastMsgIdFn h32 xxhash / 10000 bytes 1.9080 us/op 2.0480 us/op 0.93
fastMsgIdFn h64 xxhash / 10000 bytes 1.3240 us/op 1.4360 us/op 0.92
send data - 1000 256B messages 17.894 ms/op 19.762 ms/op 0.91
send data - 1000 512B messages 25.161 ms/op 28.649 ms/op 0.88
send data - 1000 1024B messages 39.505 ms/op 43.309 ms/op 0.91
send data - 1000 1200B messages 26.868 ms/op 33.923 ms/op 0.79
send data - 1000 2048B messages 30.591 ms/op 37.596 ms/op 0.81
send data - 1000 4096B messages 31.216 ms/op 33.552 ms/op 0.93
send data - 1000 16384B messages 73.658 ms/op 82.468 ms/op 0.89
send data - 1000 65536B messages 268.00 ms/op 297.83 ms/op 0.90
enrSubnets - fastDeserialize 64 bits 1.1710 us/op 1.3360 us/op 0.88
enrSubnets - ssz BitVector 64 bits 402.00 ns/op 457.00 ns/op 0.88
enrSubnets - fastDeserialize 4 bits 156.00 ns/op 177.00 ns/op 0.88
enrSubnets - ssz BitVector 4 bits 399.00 ns/op 502.00 ns/op 0.79
prioritizePeers score -10:0 att 32-0.1 sync 2-0 99.105 us/op 110.17 us/op 0.90
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 129.33 us/op 137.54 us/op 0.94
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 157.31 us/op 182.31 us/op 0.86
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 281.01 us/op 323.17 us/op 0.87
prioritizePeers score 0:0 att 64-1 sync 4-1 331.43 us/op 384.16 us/op 0.86
array of 16000 items push then shift 1.6000 us/op 1.8330 us/op 0.87
LinkedList of 16000 items push then shift 8.9540 ns/op 11.870 ns/op 0.75
array of 16000 items push then pop 67.632 ns/op 105.38 ns/op 0.64
LinkedList of 16000 items push then pop 8.7240 ns/op 10.157 ns/op 0.86
array of 24000 items push then shift 2.3826 us/op 2.8087 us/op 0.85
LinkedList of 24000 items push then shift 8.9070 ns/op 11.516 ns/op 0.77
array of 24000 items push then pop 81.868 ns/op 148.30 ns/op 0.55
LinkedList of 24000 items push then pop 8.6610 ns/op 9.9900 ns/op 0.87
intersect bitArray bitLen 8 6.7630 ns/op 7.2940 ns/op 0.93
intersect array and set length 8 53.727 ns/op 77.285 ns/op 0.70
intersect bitArray bitLen 128 31.726 ns/op 33.956 ns/op 0.93
intersect array and set length 128 739.31 ns/op 990.58 ns/op 0.75
bitArray.getTrueBitIndexes() bitLen 128 1.4670 us/op 1.8710 us/op 0.78
bitArray.getTrueBitIndexes() bitLen 248 2.4410 us/op 3.0380 us/op 0.80
bitArray.getTrueBitIndexes() bitLen 512 4.6530 us/op 6.3670 us/op 0.73
Buffer.concat 32 items 967.00 ns/op 1.1200 us/op 0.86
Uint8Array.set 32 items 2.5960 us/op 2.1630 us/op 1.20
Set add up to 64 items then delete first 4.2002 us/op 4.9342 us/op 0.85
OrderedSet add up to 64 items then delete first 5.2628 us/op 6.4115 us/op 0.82
Set add up to 64 items then delete last 4.5041 us/op 5.2377 us/op 0.86
OrderedSet add up to 64 items then delete last 5.6073 us/op 6.8059 us/op 0.82
Set add up to 64 items then delete middle 4.4776 us/op 5.2434 us/op 0.85
OrderedSet add up to 64 items then delete middle 6.8497 us/op 8.2281 us/op 0.83
Set add up to 128 items then delete first 9.1483 us/op 10.718 us/op 0.85
OrderedSet add up to 128 items then delete first 12.040 us/op 14.845 us/op 0.81
Set add up to 128 items then delete last 8.9309 us/op 10.670 us/op 0.84
OrderedSet add up to 128 items then delete last 11.340 us/op 13.819 us/op 0.82
Set add up to 128 items then delete middle 8.8993 us/op 10.516 us/op 0.85
OrderedSet add up to 128 items then delete middle 16.567 us/op 19.381 us/op 0.85
Set add up to 256 items then delete first 18.579 us/op 21.584 us/op 0.86
OrderedSet add up to 256 items then delete first 24.551 us/op 29.386 us/op 0.84
Set add up to 256 items then delete last 17.794 us/op 20.613 us/op 0.86
OrderedSet add up to 256 items then delete last 22.767 us/op 25.892 us/op 0.88
Set add up to 256 items then delete middle 17.841 us/op 20.589 us/op 0.87
OrderedSet add up to 256 items then delete middle 44.414 us/op 51.636 us/op 0.86
transfer serialized Status (84 B) 1.8580 us/op 1.8740 us/op 0.99
copy serialized Status (84 B) 1.5290 us/op 1.5680 us/op 0.98
transfer serialized SignedVoluntaryExit (112 B) 2.0800 us/op 2.1800 us/op 0.95
copy serialized SignedVoluntaryExit (112 B) 1.7030 us/op 1.7150 us/op 0.99
transfer serialized ProposerSlashing (416 B) 3.0260 us/op 3.1160 us/op 0.97
copy serialized ProposerSlashing (416 B) 2.9890 us/op 2.4560 us/op 1.22
transfer serialized Attestation (485 B) 3.1490 us/op 2.3640 us/op 1.33
copy serialized Attestation (485 B) 2.9620 us/op 2.0840 us/op 1.42
transfer serialized AttesterSlashing (33232 B) 2.9060 us/op 2.2330 us/op 1.30
copy serialized AttesterSlashing (33232 B) 5.7370 us/op 5.8190 us/op 0.99
transfer serialized Small SignedBeaconBlock (128000 B) 2.9860 us/op 2.5800 us/op 1.16
copy serialized Small SignedBeaconBlock (128000 B) 12.474 us/op 14.904 us/op 0.84
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2820 us/op 2.9530 us/op 1.11
copy serialized Avg SignedBeaconBlock (200000 B) 17.717 us/op 20.919 us/op 0.85
transfer serialized BlobsSidecar (524380 B) 3.0080 us/op 2.7180 us/op 1.11
copy serialized BlobsSidecar (524380 B) 81.696 us/op 86.580 us/op 0.94
transfer serialized Big SignedBeaconBlock (1000000 B) 3.2280 us/op 2.9480 us/op 1.09
copy serialized Big SignedBeaconBlock (1000000 B) 207.77 us/op 155.85 us/op 1.33
pass gossip attestations to forkchoice per slot 3.7994 ms/op 3.9264 ms/op 0.97
forkChoice updateHead vc 100000 bc 64 eq 0 675.04 us/op 704.12 us/op 0.96
forkChoice updateHead vc 600000 bc 64 eq 0 4.1630 ms/op 5.4246 ms/op 0.77
forkChoice updateHead vc 1000000 bc 64 eq 0 7.2944 ms/op 7.4188 ms/op 0.98
forkChoice updateHead vc 600000 bc 320 eq 0 4.1897 ms/op 4.3828 ms/op 0.96
forkChoice updateHead vc 600000 bc 1200 eq 0 4.3057 ms/op 4.4126 ms/op 0.98
forkChoice updateHead vc 600000 bc 7200 eq 0 5.0111 ms/op 5.2476 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 1000 11.314 ms/op 11.350 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 10000 12.189 ms/op 12.399 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 300000 15.924 ms/op 16.835 ms/op 0.95
computeDeltas 500000 validators 300 proto nodes 6.2560 ms/op 6.3579 ms/op 0.98
computeDeltas 500000 validators 1200 proto nodes 6.1086 ms/op 6.3056 ms/op 0.97
computeDeltas 500000 validators 7200 proto nodes 6.0351 ms/op 6.2615 ms/op 0.96
computeDeltas 750000 validators 300 proto nodes 9.1303 ms/op 9.4485 ms/op 0.97
computeDeltas 750000 validators 1200 proto nodes 9.2104 ms/op 9.4529 ms/op 0.97
computeDeltas 750000 validators 7200 proto nodes 9.1077 ms/op 9.5841 ms/op 0.95
computeDeltas 1400000 validators 300 proto nodes 17.164 ms/op 18.846 ms/op 0.91
computeDeltas 1400000 validators 1200 proto nodes 17.608 ms/op 24.066 ms/op 0.73
computeDeltas 1400000 validators 7200 proto nodes 17.389 ms/op 18.752 ms/op 0.93
computeDeltas 2100000 validators 300 proto nodes 25.840 ms/op 30.066 ms/op 0.86
computeDeltas 2100000 validators 1200 proto nodes 26.174 ms/op 32.135 ms/op 0.81
computeDeltas 2100000 validators 7200 proto nodes 26.217 ms/op 32.038 ms/op 0.82
computeProposerBoostScoreFromBalances 500000 validators 3.1540 ms/op 4.2541 ms/op 0.74
computeProposerBoostScoreFromBalances 750000 validators 3.1746 ms/op 4.1316 ms/op 0.77
computeProposerBoostScoreFromBalances 1400000 validators 3.2268 ms/op 4.1514 ms/op 0.78
computeProposerBoostScoreFromBalances 2100000 validators 3.1795 ms/op 4.1921 ms/op 0.76
altair processAttestation - 250000 vs - 7PWei normalcase 2.3534 ms/op 4.5945 ms/op 0.51
altair processAttestation - 250000 vs - 7PWei worstcase 3.1151 ms/op 5.9816 ms/op 0.52
altair processAttestation - setStatus - 1/6 committees join 164.24 us/op 290.31 us/op 0.57
altair processAttestation - setStatus - 1/3 committees join 340.93 us/op 538.54 us/op 0.63
altair processAttestation - setStatus - 1/2 committees join 442.71 us/op 742.67 us/op 0.60
altair processAttestation - setStatus - 2/3 committees join 585.36 us/op 1.0453 ms/op 0.56
altair processAttestation - setStatus - 4/5 committees join 776.05 us/op 1.5646 ms/op 0.50
altair processAttestation - setStatus - 100% committees join 883.01 us/op 1.7582 ms/op 0.50
altair processBlock - 250000 vs - 7PWei normalcase 7.0818 ms/op 11.524 ms/op 0.61
altair processBlock - 250000 vs - 7PWei normalcase hashState 30.772 ms/op 50.702 ms/op 0.61
altair processBlock - 250000 vs - 7PWei worstcase 36.682 ms/op 51.292 ms/op 0.72
altair processBlock - 250000 vs - 7PWei worstcase hashState 90.538 ms/op 126.50 ms/op 0.72
phase0 processBlock - 250000 vs - 7PWei normalcase 2.3412 ms/op 3.9418 ms/op 0.59
phase0 processBlock - 250000 vs - 7PWei worstcase 28.981 ms/op 41.416 ms/op 0.70
altair processEth1Data - 250000 vs - 7PWei normalcase 452.57 us/op 806.05 us/op 0.56
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.787 us/op 25.822 us/op 0.42
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 57.308 us/op 88.959 us/op 0.64
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 18.220 us/op 28.374 us/op 0.64
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 14.139 us/op 24.124 us/op 0.59
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 122.22 us/op 226.39 us/op 0.54
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0192 ms/op 2.2306 ms/op 0.46
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8083 ms/op 2.4064 ms/op 0.75
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4560 ms/op 2.4304 ms/op 0.60
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.1126 ms/op 5.9644 ms/op 0.52
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2074 ms/op 4.2178 ms/op 0.52
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.9950 ms/op 10.601 ms/op 0.47
Tree 40 250000 create 312.77 ms/op 790.76 ms/op 0.40
Tree 40 250000 get(125000) 192.10 ns/op 250.28 ns/op 0.77
Tree 40 250000 set(125000) 901.68 ns/op 2.5086 us/op 0.36
Tree 40 250000 toArray() 17.267 ms/op 39.627 ms/op 0.44
Tree 40 250000 iterate all - toArray() + loop 17.650 ms/op 32.710 ms/op 0.54
Tree 40 250000 iterate all - get(i) 63.300 ms/op 87.468 ms/op 0.72
MutableVector 250000 create 12.119 ms/op 21.337 ms/op 0.57
MutableVector 250000 get(125000) 6.2280 ns/op 7.6050 ns/op 0.82
MutableVector 250000 set(125000) 260.12 ns/op 496.28 ns/op 0.52
MutableVector 250000 toArray() 2.8017 ms/op 5.3180 ms/op 0.53
MutableVector 250000 iterate all - toArray() + loop 2.6839 ms/op 4.9952 ms/op 0.54
MutableVector 250000 iterate all - get(i) 1.5312 ms/op 1.8371 ms/op 0.83
Array 250000 create 2.3115 ms/op 4.5527 ms/op 0.51
Array 250000 clone - spread 985.63 us/op 1.7392 ms/op 0.57
Array 250000 get(125000) 0.48100 ns/op 1.0610 ns/op 0.45
Array 250000 set(125000) 0.54600 ns/op 1.1780 ns/op 0.46
Array 250000 iterate all - loop 79.179 us/op 95.757 us/op 0.83
effectiveBalanceIncrements clone Uint8Array 300000 20.650 us/op 57.477 us/op 0.36
effectiveBalanceIncrements clone MutableVector 300000 253.00 ns/op 455.00 ns/op 0.56
effectiveBalanceIncrements rw all Uint8Array 300000 171.85 us/op 198.32 us/op 0.87
effectiveBalanceIncrements rw all MutableVector 300000 71.625 ms/op 163.85 ms/op 0.44
phase0 afterProcessEpoch - 250000 vs - 7PWei 109.05 ms/op 143.48 ms/op 0.76
phase0 beforeProcessEpoch - 250000 vs - 7PWei 38.420 ms/op 59.538 ms/op 0.65
altair processEpoch - mainnet_e81889 451.02 ms/op 665.07 ms/op 0.68
mainnet_e81889 - altair beforeProcessEpoch 58.421 ms/op 108.50 ms/op 0.54
mainnet_e81889 - altair processJustificationAndFinalization 14.069 us/op 34.756 us/op 0.40
mainnet_e81889 - altair processInactivityUpdates 6.3488 ms/op 14.014 ms/op 0.45
mainnet_e81889 - altair processRewardsAndPenalties 48.019 ms/op 87.327 ms/op 0.55
mainnet_e81889 - altair processRegistryUpdates 2.3230 us/op 8.5140 us/op 0.27
mainnet_e81889 - altair processSlashings 540.00 ns/op 1.4210 us/op 0.38
mainnet_e81889 - altair processEth1DataReset 525.00 ns/op 1.3370 us/op 0.39
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2469 ms/op 1.8430 ms/op 0.68
mainnet_e81889 - altair processSlashingsReset 3.1380 us/op 9.3710 us/op 0.33
mainnet_e81889 - altair processRandaoMixesReset 4.6300 us/op 11.288 us/op 0.41
mainnet_e81889 - altair processHistoricalRootsUpdate 888.00 ns/op 1.8550 us/op 0.48
mainnet_e81889 - altair processParticipationFlagUpdates 1.6710 us/op 6.2810 us/op 0.27
mainnet_e81889 - altair processSyncCommitteeUpdates 687.00 ns/op 2.0950 us/op 0.33
mainnet_e81889 - altair afterProcessEpoch 123.21 ms/op 165.05 ms/op 0.75
capella processEpoch - mainnet_e217614 1.4321 s/op 2.0508 s/op 0.70
mainnet_e217614 - capella beforeProcessEpoch 224.48 ms/op 351.50 ms/op 0.64
mainnet_e217614 - capella processJustificationAndFinalization 12.157 us/op 33.460 us/op 0.36
mainnet_e217614 - capella processInactivityUpdates 19.227 ms/op 34.725 ms/op 0.55
mainnet_e217614 - capella processRewardsAndPenalties 250.65 ms/op 357.13 ms/op 0.70
mainnet_e217614 - capella processRegistryUpdates 16.712 us/op 39.240 us/op 0.43
mainnet_e217614 - capella processSlashings 517.00 ns/op 1.6660 us/op 0.31
mainnet_e217614 - capella processEth1DataReset 505.00 ns/op 1.3560 us/op 0.37
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.9561 ms/op 6.1357 ms/op 0.64
mainnet_e217614 - capella processSlashingsReset 3.1280 us/op 8.8380 us/op 0.35
mainnet_e217614 - capella processRandaoMixesReset 6.0570 us/op 11.478 us/op 0.53
mainnet_e217614 - capella processHistoricalRootsUpdate 590.00 ns/op 1.6760 us/op 0.35
mainnet_e217614 - capella processParticipationFlagUpdates 2.1420 us/op 7.2050 us/op 0.30
mainnet_e217614 - capella afterProcessEpoch 285.53 ms/op 421.97 ms/op 0.68
phase0 processEpoch - mainnet_e58758 414.90 ms/op 691.03 ms/op 0.60
mainnet_e58758 - phase0 beforeProcessEpoch 100.98 ms/op 199.65 ms/op 0.51
mainnet_e58758 - phase0 processJustificationAndFinalization 13.751 us/op 34.067 us/op 0.40
mainnet_e58758 - phase0 processRewardsAndPenalties 41.013 ms/op 58.271 ms/op 0.70
mainnet_e58758 - phase0 processRegistryUpdates 10.151 us/op 23.074 us/op 0.44
mainnet_e58758 - phase0 processSlashings 521.00 ns/op 1.5250 us/op 0.34
mainnet_e58758 - phase0 processEth1DataReset 452.00 ns/op 1.3960 us/op 0.32
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0122 ms/op 1.8898 ms/op 0.54
mainnet_e58758 - phase0 processSlashingsReset 2.5630 us/op 6.6700 us/op 0.38
mainnet_e58758 - phase0 processRandaoMixesReset 3.6810 us/op 11.969 us/op 0.31
mainnet_e58758 - phase0 processHistoricalRootsUpdate 456.00 ns/op 1.3700 us/op 0.33
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.8960 us/op 13.241 us/op 0.29
mainnet_e58758 - phase0 afterProcessEpoch 97.325 ms/op 146.46 ms/op 0.66
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2268 ms/op 2.2265 ms/op 0.55
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4443 ms/op 2.1124 ms/op 0.68
altair processInactivityUpdates - 250000 normalcase 18.305 ms/op 31.877 ms/op 0.57
altair processInactivityUpdates - 250000 worstcase 17.548 ms/op 35.846 ms/op 0.49
phase0 processRegistryUpdates - 250000 normalcase 7.7110 us/op 25.659 us/op 0.30
phase0 processRegistryUpdates - 250000 badcase_full_deposits 323.91 us/op 540.09 us/op 0.60
phase0 processRegistryUpdates - 250000 worstcase 0.5 122.09 ms/op 260.53 ms/op 0.47
altair processRewardsAndPenalties - 250000 normalcase 64.473 ms/op 63.438 ms/op 1.02
altair processRewardsAndPenalties - 250000 worstcase 63.404 ms/op 78.232 ms/op 0.81
phase0 getAttestationDeltas - 250000 normalcase 7.4621 ms/op 12.105 ms/op 0.62
phase0 getAttestationDeltas - 250000 worstcase 7.6158 ms/op 13.690 ms/op 0.56
phase0 processSlashings - 250000 worstcase 2.1612 ms/op 3.9747 ms/op 0.54
altair processSyncCommitteeUpdates - 250000 148.55 ms/op 232.80 ms/op 0.64
BeaconState.hashTreeRoot - No change 315.00 ns/op 483.00 ns/op 0.65
BeaconState.hashTreeRoot - 1 full validator 137.85 us/op 236.32 us/op 0.58
BeaconState.hashTreeRoot - 32 full validator 1.4766 ms/op 2.7098 ms/op 0.54
BeaconState.hashTreeRoot - 512 full validator 14.474 ms/op 24.159 ms/op 0.60
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 201.71 us/op 242.92 us/op 0.83
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.7681 ms/op 3.2249 ms/op 0.55
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 21.877 ms/op 43.732 ms/op 0.50
BeaconState.hashTreeRoot - 1 balances 126.84 us/op 189.85 us/op 0.67
BeaconState.hashTreeRoot - 32 balances 1.2712 ms/op 1.7412 ms/op 0.73
BeaconState.hashTreeRoot - 512 balances 11.795 ms/op 19.888 ms/op 0.59
BeaconState.hashTreeRoot - 250000 balances 195.80 ms/op 315.34 ms/op 0.62
aggregationBits - 2048 els - zipIndexesInBitList 14.037 us/op 43.688 us/op 0.32
regular array get 100000 times 42.863 us/op 70.874 us/op 0.60
wrappedArray get 100000 times 37.646 us/op 71.376 us/op 0.53
arrayWithProxy get 100000 times 14.155 ms/op 18.318 ms/op 0.77
ssz.Root.equals 201.00 ns/op 355.00 ns/op 0.57
byteArrayEquals 202.00 ns/op 339.00 ns/op 0.60
shuffle list - 16384 els 6.5163 ms/op 8.5713 ms/op 0.76
shuffle list - 250000 els 95.524 ms/op 127.44 ms/op 0.75
processSlot - 1 slots 14.959 us/op 23.731 us/op 0.63
processSlot - 32 slots 3.4439 ms/op 4.9891 ms/op 0.69
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 56.517 ms/op 64.586 ms/op 0.88
getCommitteeAssignments - req 1 vs - 250000 vc 2.4177 ms/op 2.9018 ms/op 0.83
getCommitteeAssignments - req 100 vs - 250000 vc 3.5856 ms/op 4.2675 ms/op 0.84
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8939 ms/op 5.1379 ms/op 0.76
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.4500 ns/op 6.8300 ns/op 0.65
state getBlockRootAtSlot - 250000 vs - 7PWei 767.10 ns/op 720.37 ns/op 1.06
computeProposers - vc 250000 8.9026 ms/op 10.264 ms/op 0.87
computeEpochShuffling - vc 250000 103.87 ms/op 120.93 ms/op 0.86
getNextSyncCommittee - vc 250000 154.58 ms/op 177.55 ms/op 0.87
computeSigningRoot for AttestationData 26.060 us/op 31.778 us/op 0.82
hash AttestationData serialized data then Buffer.toString(base64) 2.3113 us/op 2.7157 us/op 0.85
toHexString serialized data 1.0780 us/op 2.0674 us/op 0.52
Buffer.toString(base64) 204.83 ns/op 305.32 ns/op 0.67

by benchmarkbot/action

@nazarhussain
Copy link
Contributor

@nflaig Good catch 👍🏼

@wemeetagain wemeetagain merged commit ca2a470 into unstable Sep 23, 2023
14 of 15 checks passed
@wemeetagain wemeetagain deleted the nflaig/fix-api-error-message branch September 23, 2023 19:29
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.12.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