lodestar icon indicating copy to clipboard operation
lodestar copied to clipboard

feat: warning log if primary beacon node is unhealthy

Open nflaig opened this issue 1 year ago • 2 comments

Motivation

Closes https://github.com/ChainSafe/lodestar/issues/6611

Description

Add warning log if primary beacon node is unhealthy

Related to https://github.com/ChainSafe/lodestar/pull/6415

nflaig avatar Jun 29 '24 12:06 nflaig

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 2c327217ad2334807c9f337b240282abb607dddc Previous: e6c559f19994d8bbea1711bb73ccbe689195ad38 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 573.07 us/op 680.59 us/op 0.84
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 44.357 us/op 37.482 us/op 1.18
BLS verify - blst-native 1.1862 ms/op 1.0529 ms/op 1.13
BLS verifyMultipleSignatures 3 - blst-native 2.5168 ms/op 2.2441 ms/op 1.12
BLS verifyMultipleSignatures 8 - blst-native 5.5597 ms/op 4.9718 ms/op 1.12
BLS verifyMultipleSignatures 32 - blst-native 20.455 ms/op 18.278 ms/op 1.12
BLS verifyMultipleSignatures 64 - blst-native 40.269 ms/op 36.012 ms/op 1.12
BLS verifyMultipleSignatures 128 - blst-native 79.846 ms/op 71.514 ms/op 1.12
BLS deserializing 10000 signatures 835.51 ms/op 760.79 ms/op 1.10
BLS deserializing 100000 signatures 8.3680 s/op 7.5924 s/op 1.10
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2065 ms/op 1.0994 ms/op 1.10
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4441 ms/op 1.2495 ms/op 1.16
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.1842 ms/op 2.0526 ms/op 1.06
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.5702 ms/op 3.2425 ms/op 1.10
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.2988 ms/op 5.3955 ms/op 0.98
BLS aggregatePubkeys 32 - blst-native 24.126 us/op 22.102 us/op 1.09
BLS aggregatePubkeys 128 - blst-native 95.812 us/op 82.664 us/op 1.16
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 50.660 ms/op 57.600 ms/op 0.88
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 47.330 ms/op 41.358 ms/op 1.14
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 31.112 ms/op 28.982 ms/op 1.07
getSlashingsAndExits - default max 91.588 us/op 69.462 us/op 1.32
getSlashingsAndExits - 2k 249.48 us/op 229.50 us/op 1.09
proposeBlockBody type=full, size=empty 5.5686 ms/op 5.0027 ms/op 1.11
isKnown best case - 1 super set check 271.00 ns/op 225.00 ns/op 1.20
isKnown normal case - 2 super set checks 271.00 ns/op 221.00 ns/op 1.23
isKnown worse case - 16 super set checks 267.00 ns/op 223.00 ns/op 1.20
InMemoryCheckpointStateCache - add get delete 4.3830 us/op 3.6990 us/op 1.18
validate api signedAggregateAndProof - struct 2.5726 ms/op 2.2215 ms/op 1.16
validate gossip signedAggregateAndProof - struct 2.5941 ms/op 2.2253 ms/op 1.17
validate gossip attestation - vc 640000 1.2287 ms/op 1.0987 ms/op 1.12
batch validate gossip attestation - vc 640000 - chunk 32 143.27 us/op 126.21 us/op 1.14
batch validate gossip attestation - vc 640000 - chunk 64 126.63 us/op 114.32 us/op 1.11
batch validate gossip attestation - vc 640000 - chunk 128 117.58 us/op 105.64 us/op 1.11
batch validate gossip attestation - vc 640000 - chunk 256 112.78 us/op 104.59 us/op 1.08
pickEth1Vote - no votes 1.0059 ms/op 847.56 us/op 1.19
pickEth1Vote - max votes 7.9115 ms/op 7.2483 ms/op 1.09
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.153 ms/op 13.108 ms/op 1.08
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.462 ms/op 17.456 ms/op 1.11
pickEth1Vote - Eth1Data fastSerialize value x2048 453.22 us/op 330.40 us/op 1.37
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.1283 ms/op 4.7988 ms/op 1.28
bytes32 toHexString 405.00 ns/op 353.00 ns/op 1.15
bytes32 Buffer.toString(hex) 230.00 ns/op 190.00 ns/op 1.21
bytes32 Buffer.toString(hex) from Uint8Array 332.00 ns/op 265.00 ns/op 1.25
bytes32 Buffer.toString(hex) + 0x 231.00 ns/op 187.00 ns/op 1.24
Object access 1 prop 0.12700 ns/op 0.11200 ns/op 1.13
Map access 1 prop 0.12100 ns/op 0.10700 ns/op 1.13
Object get x1000 5.7600 ns/op 5.1910 ns/op 1.11
Map get x1000 5.8770 ns/op 5.5090 ns/op 1.07
Object set x1000 30.169 ns/op 24.932 ns/op 1.21
Map set x1000 20.221 ns/op 18.212 ns/op 1.11
Return object 10000 times 0.27270 ns/op 0.27050 ns/op 1.01
Throw Error 10000 times 3.1778 us/op 2.5170 us/op 1.26
fastMsgIdFn sha256 / 200 bytes 2.0380 us/op 1.5780 us/op 1.29
fastMsgIdFn h32 xxhash / 200 bytes 210.00 ns/op 178.00 ns/op 1.18
fastMsgIdFn h64 xxhash / 200 bytes 244.00 ns/op 200.00 ns/op 1.22
fastMsgIdFn sha256 / 1000 bytes 6.8180 us/op 5.3350 us/op 1.28
fastMsgIdFn h32 xxhash / 1000 bytes 336.00 ns/op 295.00 ns/op 1.14
fastMsgIdFn h64 xxhash / 1000 bytes 312.00 ns/op 263.00 ns/op 1.19
fastMsgIdFn sha256 / 10000 bytes 59.925 us/op 46.294 us/op 1.29
fastMsgIdFn h32 xxhash / 10000 bytes 1.7060 us/op 1.5850 us/op 1.08
fastMsgIdFn h64 xxhash / 10000 bytes 1.1190 us/op 1.0220 us/op 1.09
send data - 1000 256B messages 11.349 ms/op 9.4890 ms/op 1.20
send data - 1000 512B messages 15.474 ms/op 12.867 ms/op 1.20
send data - 1000 1024B messages 26.053 ms/op 19.907 ms/op 1.31
send data - 1000 1200B messages 25.294 ms/op 21.536 ms/op 1.17
send data - 1000 2048B messages 30.911 ms/op 26.333 ms/op 1.17
send data - 1000 4096B messages 30.992 ms/op 24.722 ms/op 1.25
send data - 1000 16384B messages 67.575 ms/op 59.399 ms/op 1.14
send data - 1000 65536B messages 197.20 ms/op 184.61 ms/op 1.07
enrSubnets - fastDeserialize 64 bits 1.0190 us/op 808.00 ns/op 1.26
enrSubnets - ssz BitVector 64 bits 325.00 ns/op 266.00 ns/op 1.22
enrSubnets - fastDeserialize 4 bits 143.00 ns/op 121.00 ns/op 1.18
enrSubnets - ssz BitVector 4 bits 330.00 ns/op 263.00 ns/op 1.25
prioritizePeers score -10:0 att 32-0.1 sync 2-0 143.09 us/op 110.38 us/op 1.30
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 159.09 us/op 129.77 us/op 1.23
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 262.84 us/op 189.31 us/op 1.39
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 397.11 us/op 336.56 us/op 1.18
prioritizePeers score 0:0 att 64-1 sync 4-1 587.00 us/op 405.49 us/op 1.45
array of 16000 items push then shift 1.5838 us/op 1.1859 us/op 1.34
LinkedList of 16000 items push then shift 6.8950 ns/op 7.0350 ns/op 0.98
array of 16000 items push then pop 107.18 ns/op 77.215 ns/op 1.39
LinkedList of 16000 items push then pop 6.7900 ns/op 6.0860 ns/op 1.12
array of 24000 items push then shift 2.3195 us/op 1.7278 us/op 1.34
LinkedList of 24000 items push then shift 6.9190 ns/op 6.3580 ns/op 1.09
array of 24000 items push then pop 134.84 ns/op 98.779 ns/op 1.37
LinkedList of 24000 items push then pop 7.0130 ns/op 5.6940 ns/op 1.23
intersect bitArray bitLen 8 6.2040 ns/op 4.8560 ns/op 1.28
intersect array and set length 8 45.513 ns/op 34.627 ns/op 1.31
intersect bitArray bitLen 128 28.980 ns/op 24.696 ns/op 1.17
intersect array and set length 128 658.46 ns/op 528.50 ns/op 1.25
bitArray.getTrueBitIndexes() bitLen 128 1.7830 us/op 1.0660 us/op 1.67
bitArray.getTrueBitIndexes() bitLen 248 3.1620 us/op 1.8360 us/op 1.72
bitArray.getTrueBitIndexes() bitLen 512 5.9870 us/op 3.4220 us/op 1.75
Buffer.concat 32 items 915.00 ns/op 759.00 ns/op 1.21
Uint8Array.set 32 items 1.8150 us/op 1.5850 us/op 1.15
Buffer.copy 1.8630 us/op 2.0840 us/op 0.89
Uint8Array.set - with subarray 2.7220 us/op 2.8890 us/op 0.94
Uint8Array.set - without subarray 1.5170 us/op 1.8590 us/op 0.82
Set add up to 64 items then delete first 2.1743 us/op 1.7721 us/op 1.23
OrderedSet add up to 64 items then delete first 3.1575 us/op 2.7261 us/op 1.16
Set add up to 64 items then delete last 2.3786 us/op 2.0798 us/op 1.14
OrderedSet add up to 64 items then delete last 3.4630 us/op 2.9007 us/op 1.19
Set add up to 64 items then delete middle 2.3911 us/op 1.8476 us/op 1.29
OrderedSet add up to 64 items then delete middle 4.9408 us/op 4.1120 us/op 1.20
Set add up to 128 items then delete first 4.9383 us/op 3.9800 us/op 1.24
OrderedSet add up to 128 items then delete first 7.5761 us/op 6.1807 us/op 1.23
Set add up to 128 items then delete last 4.6949 us/op 3.8154 us/op 1.23
OrderedSet add up to 128 items then delete last 6.9940 us/op 5.7575 us/op 1.21
Set add up to 128 items then delete middle 4.6264 us/op 3.8230 us/op 1.21
OrderedSet add up to 128 items then delete middle 13.030 us/op 11.233 us/op 1.16
Set add up to 256 items then delete first 10.113 us/op 7.7339 us/op 1.31
OrderedSet add up to 256 items then delete first 15.415 us/op 12.154 us/op 1.27
Set add up to 256 items then delete last 9.3272 us/op 7.4695 us/op 1.25
OrderedSet add up to 256 items then delete last 14.089 us/op 11.429 us/op 1.23
Set add up to 256 items then delete middle 9.2394 us/op 7.4371 us/op 1.24
OrderedSet add up to 256 items then delete middle 39.141 us/op 33.522 us/op 1.17
transfer serialized Status (84 B) 1.3770 us/op 1.2560 us/op 1.10
copy serialized Status (84 B) 1.1040 us/op 974.00 ns/op 1.13
transfer serialized SignedVoluntaryExit (112 B) 1.5650 us/op 1.3000 us/op 1.20
copy serialized SignedVoluntaryExit (112 B) 1.2040 us/op 1.0520 us/op 1.14
transfer serialized ProposerSlashing (416 B) 2.3510 us/op 2.0170 us/op 1.17
copy serialized ProposerSlashing (416 B) 1.7040 us/op 2.1440 us/op 0.79
transfer serialized Attestation (485 B) 1.9570 us/op 1.9400 us/op 1.01
copy serialized Attestation (485 B) 1.7810 us/op 2.0850 us/op 0.85
transfer serialized AttesterSlashing (33232 B) 2.5930 us/op 1.9820 us/op 1.31
copy serialized AttesterSlashing (33232 B) 5.0880 us/op 5.6550 us/op 0.90
transfer serialized Small SignedBeaconBlock (128000 B) 2.9380 us/op 2.4230 us/op 1.21
copy serialized Small SignedBeaconBlock (128000 B) 14.927 us/op 12.111 us/op 1.23
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2850 us/op 2.6970 us/op 1.22
copy serialized Avg SignedBeaconBlock (200000 B) 21.569 us/op 17.000 us/op 1.27
transfer serialized BlobsSidecar (524380 B) 2.6480 us/op 2.5320 us/op 1.05
copy serialized BlobsSidecar (524380 B) 85.005 us/op 109.53 us/op 0.78
transfer serialized Big SignedBeaconBlock (1000000 B) 2.8550 us/op 2.9630 us/op 0.96
copy serialized Big SignedBeaconBlock (1000000 B) 136.31 us/op 130.50 us/op 1.04
pass gossip attestations to forkchoice per slot 2.9196 ms/op 2.3925 ms/op 1.22
forkChoice updateHead vc 100000 bc 64 eq 0 521.09 us/op 374.43 us/op 1.39
forkChoice updateHead vc 600000 bc 64 eq 0 3.0808 ms/op 2.5107 ms/op 1.23
forkChoice updateHead vc 1000000 bc 64 eq 0 5.0625 ms/op 4.5978 ms/op 1.10
forkChoice updateHead vc 600000 bc 320 eq 0 2.8680 ms/op 2.5358 ms/op 1.13
forkChoice updateHead vc 600000 bc 1200 eq 0 2.9586 ms/op 2.5371 ms/op 1.17
forkChoice updateHead vc 600000 bc 7200 eq 0 4.1819 ms/op 2.7924 ms/op 1.50
forkChoice updateHead vc 600000 bc 64 eq 1000 10.711 ms/op 9.4519 ms/op 1.13
forkChoice updateHead vc 600000 bc 64 eq 10000 10.682 ms/op 9.3944 ms/op 1.14
forkChoice updateHead vc 600000 bc 64 eq 300000 14.251 ms/op 10.875 ms/op 1.31
computeDeltas 500000 validators 300 proto nodes 3.4335 ms/op 3.0213 ms/op 1.14
computeDeltas 500000 validators 1200 proto nodes 3.4601 ms/op 3.1402 ms/op 1.10
computeDeltas 500000 validators 7200 proto nodes 3.4375 ms/op 3.0369 ms/op 1.13
computeDeltas 750000 validators 300 proto nodes 5.1220 ms/op 4.4145 ms/op 1.16
computeDeltas 750000 validators 1200 proto nodes 5.0223 ms/op 4.4399 ms/op 1.13
computeDeltas 750000 validators 7200 proto nodes 5.0735 ms/op 4.3963 ms/op 1.15
computeDeltas 1400000 validators 300 proto nodes 9.4531 ms/op 8.2329 ms/op 1.15
computeDeltas 1400000 validators 1200 proto nodes 9.3499 ms/op 8.2271 ms/op 1.14
computeDeltas 1400000 validators 7200 proto nodes 9.5022 ms/op 8.2651 ms/op 1.15
computeDeltas 2100000 validators 300 proto nodes 14.181 ms/op 11.962 ms/op 1.19
computeDeltas 2100000 validators 1200 proto nodes 14.168 ms/op 12.354 ms/op 1.15
computeDeltas 2100000 validators 7200 proto nodes 14.279 ms/op 12.111 ms/op 1.18
altair processAttestation - 250000 vs - 7PWei normalcase 1.6714 ms/op 1.3274 ms/op 1.26
altair processAttestation - 250000 vs - 7PWei worstcase 2.3557 ms/op 2.0343 ms/op 1.16
altair processAttestation - setStatus - 1/6 committees join 84.501 us/op 68.473 us/op 1.23
altair processAttestation - setStatus - 1/3 committees join 170.20 us/op 131.70 us/op 1.29
altair processAttestation - setStatus - 1/2 committees join 239.20 us/op 183.78 us/op 1.30
altair processAttestation - setStatus - 2/3 committees join 313.26 us/op 262.07 us/op 1.20
altair processAttestation - setStatus - 4/5 committees join 454.08 us/op 377.46 us/op 1.20
altair processAttestation - setStatus - 100% committees join 538.87 us/op 456.20 us/op 1.18
altair processBlock - 250000 vs - 7PWei normalcase 4.0353 ms/op 3.4702 ms/op 1.16
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.047 ms/op 24.516 ms/op 1.18
altair processBlock - 250000 vs - 7PWei worstcase 39.671 ms/op 39.116 ms/op 1.01
altair processBlock - 250000 vs - 7PWei worstcase hashState 78.637 ms/op 76.947 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei normalcase 1.5465 ms/op 2.1728 ms/op 0.71
phase0 processBlock - 250000 vs - 7PWei worstcase 25.216 ms/op 22.028 ms/op 1.14
altair processEth1Data - 250000 vs - 7PWei normalcase 294.58 us/op 237.11 us/op 1.24
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.7790 us/op 4.1210 us/op 1.16
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 18.087 us/op 17.538 us/op 1.03
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.0420 us/op 6.3970 us/op 1.10
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.0570 us/op 4.5490 us/op 1.11
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 68.034 us/op 69.570 us/op 0.98
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 643.95 us/op 490.12 us/op 1.31
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 938.58 us/op 1.0416 ms/op 0.90
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 887.15 us/op 1.1104 ms/op 0.80
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.4198 ms/op 1.8457 ms/op 1.31
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.5628 ms/op 1.1820 ms/op 1.32
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.6252 ms/op 2.9122 ms/op 1.24
Tree 40 250000 create 207.38 ms/op 174.28 ms/op 1.19
Tree 40 250000 get(125000) 139.93 ns/op 103.06 ns/op 1.36
Tree 40 250000 set(125000) 630.98 ns/op 482.01 ns/op 1.31
Tree 40 250000 toArray() 15.096 ms/op 11.896 ms/op 1.27
Tree 40 250000 iterate all - toArray() + loop 14.957 ms/op 11.851 ms/op 1.26
Tree 40 250000 iterate all - get(i) 50.017 ms/op 39.135 ms/op 1.28
MutableVector 250000 create 7.1144 ms/op 12.563 ms/op 0.57
MutableVector 250000 get(125000) 10.229 ns/op 5.6030 ns/op 1.83
MutableVector 250000 set(125000) 210.13 ns/op 161.61 ns/op 1.30
MutableVector 250000 toArray() 3.4101 ms/op 2.5575 ms/op 1.33
MutableVector 250000 iterate all - toArray() + loop 3.6157 ms/op 2.6683 ms/op 1.36
MutableVector 250000 iterate all - get(i) 1.5264 ms/op 1.4069 ms/op 1.08
Array 250000 create 3.0012 ms/op 2.2465 ms/op 1.34
Array 250000 clone - spread 1.6184 ms/op 1.1641 ms/op 1.39
Array 250000 get(125000) 0.39900 ns/op 0.35600 ns/op 1.12
Array 250000 set(125000) 0.42600 ns/op 0.36600 ns/op 1.16
Array 250000 iterate all - loop 103.87 us/op 74.972 us/op 1.39
effectiveBalanceIncrements clone Uint8Array 300000 33.513 us/op 12.708 us/op 2.64
effectiveBalanceIncrements clone MutableVector 300000 117.00 ns/op 101.00 ns/op 1.16
effectiveBalanceIncrements rw all Uint8Array 300000 201.44 us/op 162.95 us/op 1.24
effectiveBalanceIncrements rw all MutableVector 300000 66.263 ms/op 52.654 ms/op 1.26
phase0 afterProcessEpoch - 250000 vs - 7PWei 86.121 ms/op 77.154 ms/op 1.12
phase0 beforeProcessEpoch - 250000 vs - 7PWei 41.337 ms/op 36.117 ms/op 1.14
altair processEpoch - mainnet_e81889 371.61 ms/op 347.15 ms/op 1.07
mainnet_e81889 - altair beforeProcessEpoch 60.729 ms/op 43.367 ms/op 1.40
mainnet_e81889 - altair processJustificationAndFinalization 12.208 us/op 9.2700 us/op 1.32
mainnet_e81889 - altair processInactivityUpdates 5.9272 ms/op 5.2472 ms/op 1.13
mainnet_e81889 - altair processRewardsAndPenalties 43.620 ms/op 49.556 ms/op 0.88
mainnet_e81889 - altair processRegistryUpdates 1.7250 us/op 1.5830 us/op 1.09
mainnet_e81889 - altair processSlashings 355.00 ns/op 348.00 ns/op 1.02
mainnet_e81889 - altair processEth1DataReset 285.00 ns/op 267.00 ns/op 1.07
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.0512 ms/op 1.1248 ms/op 0.93
mainnet_e81889 - altair processSlashingsReset 2.9490 us/op 2.3290 us/op 1.27
mainnet_e81889 - altair processRandaoMixesReset 4.4960 us/op 2.9780 us/op 1.51
mainnet_e81889 - altair processHistoricalRootsUpdate 528.00 ns/op 365.00 ns/op 1.45
mainnet_e81889 - altair processParticipationFlagUpdates 1.8290 us/op 1.2480 us/op 1.47
mainnet_e81889 - altair processSyncCommitteeUpdates 496.00 ns/op 297.00 ns/op 1.67
mainnet_e81889 - altair afterProcessEpoch 90.450 ms/op 80.556 ms/op 1.12
capella processEpoch - mainnet_e217614 1.2551 s/op 1.1798 s/op 1.06
mainnet_e217614 - capella beforeProcessEpoch 230.53 ms/op 217.77 ms/op 1.06
mainnet_e217614 - capella processJustificationAndFinalization 12.946 us/op 9.7180 us/op 1.33
mainnet_e217614 - capella processInactivityUpdates 17.085 ms/op 14.896 ms/op 1.15
mainnet_e217614 - capella processRewardsAndPenalties 232.90 ms/op 251.56 ms/op 0.93
mainnet_e217614 - capella processRegistryUpdates 12.557 us/op 10.264 us/op 1.22
mainnet_e217614 - capella processSlashings 403.00 ns/op 313.00 ns/op 1.29
mainnet_e217614 - capella processEth1DataReset 345.00 ns/op 240.00 ns/op 1.44
mainnet_e217614 - capella processEffectiveBalanceUpdates 9.9062 ms/op 3.8012 ms/op 2.61
mainnet_e217614 - capella processSlashingsReset 3.8300 us/op 1.5520 us/op 2.47
mainnet_e217614 - capella processRandaoMixesReset 3.6540 us/op 2.3650 us/op 1.55
mainnet_e217614 - capella processHistoricalRootsUpdate 342.00 ns/op 265.00 ns/op 1.29
mainnet_e217614 - capella processParticipationFlagUpdates 1.6900 us/op 1.1070 us/op 1.53
mainnet_e217614 - capella afterProcessEpoch 255.83 ms/op 228.63 ms/op 1.12
phase0 processEpoch - mainnet_e58758 353.87 ms/op 354.81 ms/op 1.00
mainnet_e58758 - phase0 beforeProcessEpoch 98.988 ms/op 98.406 ms/op 1.01
mainnet_e58758 - phase0 processJustificationAndFinalization 13.958 us/op 9.4680 us/op 1.47
mainnet_e58758 - phase0 processRewardsAndPenalties 25.714 ms/op 32.832 ms/op 0.78
mainnet_e58758 - phase0 processRegistryUpdates 7.2860 us/op 5.6420 us/op 1.29
mainnet_e58758 - phase0 processSlashings 411.00 ns/op 288.00 ns/op 1.43
mainnet_e58758 - phase0 processEth1DataReset 288.00 ns/op 300.00 ns/op 0.96
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 956.21 us/op 723.34 us/op 1.32
mainnet_e58758 - phase0 processSlashingsReset 3.2120 us/op 1.4860 us/op 2.16
mainnet_e58758 - phase0 processRandaoMixesReset 3.7440 us/op 2.2010 us/op 1.70
mainnet_e58758 - phase0 processHistoricalRootsUpdate 496.00 ns/op 274.00 ns/op 1.81
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.5410 us/op 3.4700 us/op 1.02
mainnet_e58758 - phase0 afterProcessEpoch 74.193 ms/op 63.283 ms/op 1.17
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0916 ms/op 755.84 us/op 1.44
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9969 ms/op 1.4120 ms/op 1.41
altair processInactivityUpdates - 250000 normalcase 16.728 ms/op 16.188 ms/op 1.03
altair processInactivityUpdates - 250000 worstcase 16.220 ms/op 16.084 ms/op 1.01
phase0 processRegistryUpdates - 250000 normalcase 6.7020 us/op 4.2810 us/op 1.57
phase0 processRegistryUpdates - 250000 badcase_full_deposits 231.17 us/op 302.09 us/op 0.77
phase0 processRegistryUpdates - 250000 worstcase 0.5 112.23 ms/op 107.69 ms/op 1.04
altair processRewardsAndPenalties - 250000 normalcase 42.065 ms/op 39.511 ms/op 1.06
altair processRewardsAndPenalties - 250000 worstcase 40.064 ms/op 39.312 ms/op 1.02
phase0 getAttestationDeltas - 250000 normalcase 6.7683 ms/op 5.6705 ms/op 1.19
phase0 getAttestationDeltas - 250000 worstcase 7.0379 ms/op 5.9105 ms/op 1.19
phase0 processSlashings - 250000 worstcase 73.925 us/op 48.773 us/op 1.52
altair processSyncCommitteeUpdates - 250000 118.98 ms/op 107.30 ms/op 1.11
BeaconState.hashTreeRoot - No change 218.00 ns/op 217.00 ns/op 1.00
BeaconState.hashTreeRoot - 1 full validator 114.08 us/op 115.84 us/op 0.98
BeaconState.hashTreeRoot - 32 full validator 1.1806 ms/op 1.3593 ms/op 0.87
BeaconState.hashTreeRoot - 512 full validator 12.688 ms/op 13.302 ms/op 0.95
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 144.56 us/op 128.00 us/op 1.13
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.7266 ms/op 1.6546 ms/op 1.04
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.144 ms/op 20.866 ms/op 1.21
BeaconState.hashTreeRoot - 1 balances 99.323 us/op 122.88 us/op 0.81
BeaconState.hashTreeRoot - 32 balances 1.1647 ms/op 784.34 us/op 1.48
BeaconState.hashTreeRoot - 512 balances 8.8222 ms/op 11.739 ms/op 0.75
BeaconState.hashTreeRoot - 250000 balances 175.74 ms/op 164.03 ms/op 1.07
aggregationBits - 2048 els - zipIndexesInBitList 22.715 us/op 18.713 us/op 1.21
byteArrayEquals 32 52.251 ns/op 46.390 ns/op 1.13
Buffer.compare 32 16.608 ns/op 16.062 ns/op 1.03
byteArrayEquals 1024 1.5444 us/op 1.2397 us/op 1.25
Buffer.compare 1024 23.892 ns/op 22.594 ns/op 1.06
byteArrayEquals 16384 24.583 us/op 19.672 us/op 1.25
Buffer.compare 16384 197.42 ns/op 175.26 ns/op 1.13
byteArrayEquals 123687377 185.74 ms/op 146.38 ms/op 1.27
Buffer.compare 123687377 6.0281 ms/op 3.6191 ms/op 1.67
byteArrayEquals 32 - diff last byte 51.284 ns/op 45.481 ns/op 1.13
Buffer.compare 32 - diff last byte 16.620 ns/op 15.718 ns/op 1.06
byteArrayEquals 1024 - diff last byte 1.5469 us/op 1.2204 us/op 1.27
Buffer.compare 1024 - diff last byte 24.284 ns/op 22.587 ns/op 1.08
byteArrayEquals 16384 - diff last byte 24.628 us/op 19.385 us/op 1.27
Buffer.compare 16384 - diff last byte 215.63 ns/op 168.99 ns/op 1.28
byteArrayEquals 123687377 - diff last byte 186.55 ms/op 145.72 ms/op 1.28
Buffer.compare 123687377 - diff last byte 6.0821 ms/op 5.2654 ms/op 1.16
byteArrayEquals 32 - random bytes 4.8940 ns/op 4.2380 ns/op 1.15
Buffer.compare 32 - random bytes 16.291 ns/op 14.002 ns/op 1.16
byteArrayEquals 1024 - random bytes 4.8830 ns/op 4.2100 ns/op 1.16
Buffer.compare 1024 - random bytes 16.318 ns/op 13.798 ns/op 1.18
byteArrayEquals 16384 - random bytes 5.1840 ns/op 4.2030 ns/op 1.23
Buffer.compare 16384 - random bytes 16.284 ns/op 13.767 ns/op 1.18
byteArrayEquals 123687377 - random bytes 6.0900 ns/op 5.4700 ns/op 1.11
Buffer.compare 123687377 - random bytes 17.500 ns/op 14.670 ns/op 1.19
regular array get 100000 times 31.517 us/op 27.323 us/op 1.15
wrappedArray get 100000 times 31.283 us/op 27.097 us/op 1.15
arrayWithProxy get 100000 times 12.228 ms/op 8.2046 ms/op 1.49
ssz.Root.equals 43.604 ns/op 39.494 ns/op 1.10
byteArrayEquals 42.923 ns/op 39.174 ns/op 1.10
Buffer.compare 9.8210 ns/op 8.0020 ns/op 1.23
shuffle list - 16384 els 6.1230 ms/op 5.0002 ms/op 1.22
shuffle list - 250000 els 89.546 ms/op 72.911 ms/op 1.23
processSlot - 1 slots 12.897 us/op 10.110 us/op 1.28
processSlot - 32 slots 3.4104 ms/op 2.8659 ms/op 1.19
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.925 ms/op 42.280 ms/op 0.87
getCommitteeAssignments - req 1 vs - 250000 vc 2.1165 ms/op 1.7798 ms/op 1.19
getCommitteeAssignments - req 100 vs - 250000 vc 4.0561 ms/op 3.4565 ms/op 1.17
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3354 ms/op 3.6917 ms/op 1.17
findModifiedValidators - 10000 modified validators 243.83 ms/op 228.07 ms/op 1.07
findModifiedValidators - 1000 modified validators 180.34 ms/op 161.64 ms/op 1.12
findModifiedValidators - 100 modified validators 177.97 ms/op 157.34 ms/op 1.13
findModifiedValidators - 10 modified validators 204.50 ms/op 140.47 ms/op 1.46
findModifiedValidators - 1 modified validators 160.92 ms/op 136.59 ms/op 1.18
findModifiedValidators - no difference 163.06 ms/op 148.61 ms/op 1.10
compare ViewDUs 2.7631 s/op 2.8320 s/op 0.98
compare each validator Uint8Array 1.2898 s/op 1.5759 s/op 0.82
compare ViewDU to Uint8Array 983.54 ms/op 669.58 ms/op 1.47
migrate state 1000000 validators, 24 modified, 0 new 548.53 ms/op 569.76 ms/op 0.96
migrate state 1000000 validators, 1700 modified, 1000 new 803.36 ms/op 795.04 ms/op 1.01
migrate state 1000000 validators, 3400 modified, 2000 new 1.0036 s/op 990.87 ms/op 1.01
migrate state 1500000 validators, 24 modified, 0 new 551.88 ms/op 563.49 ms/op 0.98
migrate state 1500000 validators, 1700 modified, 1000 new 794.09 ms/op 742.10 ms/op 1.07
migrate state 1500000 validators, 3400 modified, 2000 new 1.0011 s/op 981.87 ms/op 1.02
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2400 ns/op 3.7200 ns/op 1.14
state getBlockRootAtSlot - 250000 vs - 7PWei 737.83 ns/op 517.87 ns/op 1.42
computeProposers - vc 250000 7.0702 ms/op 6.3329 ms/op 1.12
computeEpochShuffling - vc 250000 88.982 ms/op 80.882 ms/op 1.10
getNextSyncCommittee - vc 250000 119.32 ms/op 94.895 ms/op 1.26
computeSigningRoot for AttestationData 25.721 us/op 17.136 us/op 1.50
hash AttestationData serialized data then Buffer.toString(base64) 1.4707 us/op 1.1619 us/op 1.27
toHexString serialized data 843.52 ns/op 756.74 ns/op 1.11
Buffer.toString(base64) 179.39 ns/op 139.31 ns/op 1.29

by benchmarkbot/action

github-actions[bot] avatar Jun 29 '24 13:06 github-actions[bot]

Codecov Report

Attention: Patch coverage is 20.00000% with 16 lines in your changes missing coverage. Please review.

Project coverage is 62.50%. Comparing base (f69bc11) to head (b42eb4e). Report is 2 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6921      +/-   ##
============================================
- Coverage     62.52%   62.50%   -0.02%     
============================================
  Files           575      575              
  Lines         60985    61002      +17     
  Branches       2118     2127       +9     
============================================
+ Hits          38128    38131       +3     
- Misses        22818    22832      +14     
  Partials         39       39              

codecov[bot] avatar Jun 29 '24 13:06 codecov[bot]

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

wemeetagain avatar Jul 11 '24 16:07 wemeetagain