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

feat: track time to stable mesh for aggregator duties #5897

Merged
merged 2 commits into from
Aug 23, 2023

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Aug 22, 2023

Motivation

  • Since v1.10.0, we only subscribe 2 slots in advance of aggregator duty, we want to track more metrics for it

Description

  • Track time to stable mesh
    • We need to monitor on 2 slots window, so I check the metric every half slot
  • Track short lived (committee) mesh peers on scrape

part of #5864

@github-actions
Copy link
Contributor

github-actions bot commented Aug 22, 2023

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: ca43856 Previous: 8c6ad38 Ratio
forkChoice updateHead vc 600000 bc 64 eq 300000 19.270 ms/op 88.923 ms/op 0.22
Full benchmark results
Benchmark suite Current: ca43856 Previous: 8c6ad38 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 826.01 us/op 583.11 us/op 1.42
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 76.236 us/op 118.29 us/op 0.64
BLS verify - blst-native 1.1944 ms/op 1.3179 ms/op 0.91
BLS verifyMultipleSignatures 3 - blst-native 2.4298 ms/op 2.6660 ms/op 0.91
BLS verifyMultipleSignatures 8 - blst-native 5.1798 ms/op 5.6243 ms/op 0.92
BLS verifyMultipleSignatures 32 - blst-native 19.091 ms/op 20.362 ms/op 0.94
BLS aggregatePubkeys 32 - blst-native 24.990 us/op 27.050 us/op 0.92
BLS aggregatePubkeys 128 - blst-native 99.037 us/op 106.80 us/op 0.93
getAttestationsForBlock 51.547 ms/op 97.151 ms/op 0.53
isKnown best case - 1 super set check 262.00 ns/op 633.00 ns/op 0.41
isKnown normal case - 2 super set checks 256.00 ns/op 607.00 ns/op 0.42
isKnown worse case - 16 super set checks 255.00 ns/op 615.00 ns/op 0.41
CheckpointStateCache - add get delete 4.8740 us/op 7.2140 us/op 0.68
validate api signedAggregateAndProof - struct 2.7461 ms/op 3.1097 ms/op 0.88
validate gossip signedAggregateAndProof - struct 2.7707 ms/op 3.0851 ms/op 0.90
validate api attestation - struct 1.3227 ms/op 1.4958 ms/op 0.88
validate gossip attestation - struct 1.3443 ms/op 1.5106 ms/op 0.89
pickEth1Vote - no votes 1.1924 ms/op 2.2464 ms/op 0.53
pickEth1Vote - max votes 9.3910 ms/op 19.880 ms/op 0.47
pickEth1Vote - Eth1Data hashTreeRoot value x2048 8.7067 ms/op 11.426 ms/op 0.76
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 15.149 ms/op 24.787 ms/op 0.61
pickEth1Vote - Eth1Data fastSerialize value x2048 644.17 us/op 883.25 us/op 0.73
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.6440 ms/op 12.534 ms/op 0.53
bytes32 toHexString 477.00 ns/op 902.00 ns/op 0.53
bytes32 Buffer.toString(hex) 279.00 ns/op 375.00 ns/op 0.74
bytes32 Buffer.toString(hex) from Uint8Array 413.00 ns/op 772.00 ns/op 0.53
bytes32 Buffer.toString(hex) + 0x 294.00 ns/op 424.00 ns/op 0.69
Object access 1 prop 0.15900 ns/op 0.28100 ns/op 0.57
Map access 1 prop 0.14800 ns/op 0.18500 ns/op 0.80
Object get x1000 7.0820 ns/op 10.240 ns/op 0.69
Map get x1000 0.62900 ns/op 0.80800 ns/op 0.78
Object set x1000 50.116 ns/op 88.724 ns/op 0.56
Map set x1000 39.506 ns/op 64.521 ns/op 0.61
Return object 10000 times 0.23780 ns/op 0.30570 ns/op 0.78
Throw Error 10000 times 3.8051 us/op 4.4103 us/op 0.86
fastMsgIdFn sha256 / 200 bytes 3.3040 us/op 4.7120 us/op 0.70
fastMsgIdFn h32 xxhash / 200 bytes 296.00 ns/op 464.00 ns/op 0.64
fastMsgIdFn h64 xxhash / 200 bytes 357.00 ns/op 659.00 ns/op 0.54
fastMsgIdFn sha256 / 1000 bytes 11.276 us/op 12.731 us/op 0.89
fastMsgIdFn h32 xxhash / 1000 bytes 415.00 ns/op 651.00 ns/op 0.64
fastMsgIdFn h64 xxhash / 1000 bytes 406.00 ns/op 740.00 ns/op 0.55
fastMsgIdFn sha256 / 10000 bytes 103.36 us/op 122.45 us/op 0.84
fastMsgIdFn h32 xxhash / 10000 bytes 1.9910 us/op 2.1400 us/op 0.93
fastMsgIdFn h64 xxhash / 10000 bytes 1.3180 us/op 1.6330 us/op 0.81
enrSubnets - fastDeserialize 64 bits 1.2430 us/op 2.2500 us/op 0.55
enrSubnets - ssz BitVector 64 bits 429.00 ns/op 837.00 ns/op 0.51
enrSubnets - fastDeserialize 4 bits 158.00 ns/op 309.00 ns/op 0.51
enrSubnets - ssz BitVector 4 bits 412.00 ns/op 936.00 ns/op 0.44
prioritizePeers score -10:0 att 32-0.1 sync 2-0 101.54 us/op 165.98 us/op 0.61
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 119.25 us/op 204.55 us/op 0.58
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 154.98 us/op 293.21 us/op 0.53
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 280.93 us/op 598.55 us/op 0.47
prioritizePeers score 0:0 att 64-1 sync 4-1 339.11 us/op 557.27 us/op 0.61
array of 16000 items push then shift 1.6226 us/op 2.1480 us/op 0.76
LinkedList of 16000 items push then shift 9.0530 ns/op 15.605 ns/op 0.58
array of 16000 items push then pop 67.217 ns/op 98.577 ns/op 0.68
LinkedList of 16000 items push then pop 8.5540 ns/op 12.996 ns/op 0.66
array of 24000 items push then shift 2.3541 us/op 3.3258 us/op 0.71
LinkedList of 24000 items push then shift 8.8070 ns/op 17.562 ns/op 0.50
array of 24000 items push then pop 118.08 ns/op 198.26 ns/op 0.60
LinkedList of 24000 items push then pop 9.0680 ns/op 12.932 ns/op 0.70
intersect bitArray bitLen 8 7.0400 ns/op 8.8160 ns/op 0.80
intersect array and set length 8 53.887 ns/op 99.065 ns/op 0.54
intersect bitArray bitLen 128 31.622 ns/op 42.202 ns/op 0.75
intersect array and set length 128 766.96 ns/op 1.2440 us/op 0.62
bitArray.getTrueBitIndexes() bitLen 128 1.4420 us/op 2.7640 us/op 0.52
bitArray.getTrueBitIndexes() bitLen 248 2.4030 us/op 4.6910 us/op 0.51
bitArray.getTrueBitIndexes() bitLen 512 4.4220 us/op 8.3870 us/op 0.53
Buffer.concat 32 items 890.00 ns/op 1.5760 us/op 0.56
Uint8Array.set 32 items 1.9330 us/op 3.2600 us/op 0.59
Set add up to 64 items then delete first 4.1746 us/op 5.3837 us/op 0.78
OrderedSet add up to 64 items then delete first 5.2460 us/op 7.1666 us/op 0.73
Set add up to 64 items then delete last 4.4724 us/op 5.8912 us/op 0.76
OrderedSet add up to 64 items then delete last 5.4926 us/op 8.4772 us/op 0.65
Set add up to 64 items then delete middle 4.3462 us/op 5.5665 us/op 0.78
OrderedSet add up to 64 items then delete middle 6.6554 us/op 9.3635 us/op 0.71
Set add up to 128 items then delete first 8.9638 us/op 12.042 us/op 0.74
OrderedSet add up to 128 items then delete first 11.796 us/op 16.527 us/op 0.71
Set add up to 128 items then delete last 8.7191 us/op 12.905 us/op 0.68
OrderedSet add up to 128 items then delete last 11.132 us/op 16.961 us/op 0.66
Set add up to 128 items then delete middle 8.7877 us/op 11.264 us/op 0.78
OrderedSet add up to 128 items then delete middle 16.301 us/op 22.948 us/op 0.71
Set add up to 256 items then delete first 18.417 us/op 23.258 us/op 0.79
OrderedSet add up to 256 items then delete first 24.170 us/op 32.332 us/op 0.75
Set add up to 256 items then delete last 17.594 us/op 23.386 us/op 0.75
OrderedSet add up to 256 items then delete last 22.635 us/op 37.348 us/op 0.61
Set add up to 256 items then delete middle 17.498 us/op 24.414 us/op 0.72
OrderedSet add up to 256 items then delete middle 43.565 us/op 57.099 us/op 0.76
transfer serialized Status (84 B) 1.9070 us/op 3.3990 us/op 0.56
copy serialized Status (84 B) 1.5650 us/op 2.5660 us/op 0.61
transfer serialized SignedVoluntaryExit (112 B) 2.0410 us/op 3.1400 us/op 0.65
copy serialized SignedVoluntaryExit (112 B) 1.5250 us/op 2.4860 us/op 0.61
transfer serialized ProposerSlashing (416 B) 3.0980 us/op 3.2500 us/op 0.95
copy serialized ProposerSlashing (416 B) 2.1440 us/op 3.4880 us/op 0.61
transfer serialized Attestation (485 B) 2.2570 us/op 3.4950 us/op 0.65
copy serialized Attestation (485 B) 2.1850 us/op 3.6480 us/op 0.60
transfer serialized AttesterSlashing (33232 B) 2.6980 us/op 4.2810 us/op 0.63
copy serialized AttesterSlashing (33232 B) 5.0830 us/op 15.038 us/op 0.34
transfer serialized Small SignedBeaconBlock (128000 B) 2.8620 us/op 5.4080 us/op 0.53
copy serialized Small SignedBeaconBlock (128000 B) 11.385 us/op 45.354 us/op 0.25
transfer serialized Avg SignedBeaconBlock (200000 B) 2.8730 us/op 6.3970 us/op 0.45
copy serialized Avg SignedBeaconBlock (200000 B) 34.721 us/op 63.969 us/op 0.54
transfer serialized BlobsSidecar (524380 B) 2.7400 us/op 7.1090 us/op 0.39
copy serialized BlobsSidecar (524380 B) 66.665 us/op 199.05 us/op 0.33
transfer serialized Big SignedBeaconBlock (1000000 B) 2.8250 us/op 9.0040 us/op 0.31
copy serialized Big SignedBeaconBlock (1000000 B) 124.47 us/op 408.84 us/op 0.30
pass gossip attestations to forkchoice per slot 4.4756 ms/op 5.5674 ms/op 0.80
forkChoice updateHead vc 100000 bc 64 eq 0 690.18 us/op 759.34 us/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 0 4.1298 ms/op 6.9538 ms/op 0.59
forkChoice updateHead vc 1000000 bc 64 eq 0 7.0107 ms/op 11.220 ms/op 0.62
forkChoice updateHead vc 600000 bc 320 eq 0 6.1701 ms/op 7.6581 ms/op 0.81
forkChoice updateHead vc 600000 bc 1200 eq 0 4.8266 ms/op 7.3551 ms/op 0.66
forkChoice updateHead vc 600000 bc 7200 eq 0 5.3734 ms/op 10.010 ms/op 0.54
forkChoice updateHead vc 600000 bc 64 eq 1000 11.621 ms/op 14.429 ms/op 0.81
forkChoice updateHead vc 600000 bc 64 eq 10000 13.716 ms/op 16.235 ms/op 0.84
forkChoice updateHead vc 600000 bc 64 eq 300000 19.270 ms/op 88.923 ms/op 0.22
computeDeltas 500000 validators 300 proto nodes 6.7363 ms/op 8.3456 ms/op 0.81
computeDeltas 500000 validators 1200 proto nodes 6.5446 ms/op 7.7754 ms/op 0.84
computeDeltas 500000 validators 7200 proto nodes 6.3123 ms/op 7.5948 ms/op 0.83
computeDeltas 750000 validators 300 proto nodes 9.3420 ms/op 10.087 ms/op 0.93
computeDeltas 750000 validators 1200 proto nodes 9.3529 ms/op 10.342 ms/op 0.90
computeDeltas 750000 validators 7200 proto nodes 9.3000 ms/op 10.366 ms/op 0.90
computeDeltas 1400000 validators 300 proto nodes 17.335 ms/op 19.346 ms/op 0.90
computeDeltas 1400000 validators 1200 proto nodes 17.404 ms/op 18.657 ms/op 0.93
computeDeltas 1400000 validators 7200 proto nodes 17.437 ms/op 19.874 ms/op 0.88
computeDeltas 2100000 validators 300 proto nodes 26.284 ms/op 27.885 ms/op 0.94
computeDeltas 2100000 validators 1200 proto nodes 26.506 ms/op 27.596 ms/op 0.96
computeDeltas 2100000 validators 7200 proto nodes 26.434 ms/op 27.501 ms/op 0.96
computeProposerBoostScoreFromBalances 500000 validators 3.1752 ms/op 3.4304 ms/op 0.93
computeProposerBoostScoreFromBalances 750000 validators 3.1254 ms/op 3.3827 ms/op 0.92
computeProposerBoostScoreFromBalances 1400000 validators 3.1234 ms/op 3.7896 ms/op 0.82
computeProposerBoostScoreFromBalances 2100000 validators 3.1261 ms/op 3.7836 ms/op 0.83
altair processAttestation - 250000 vs - 7PWei normalcase 2.1745 ms/op 2.5830 ms/op 0.84
altair processAttestation - 250000 vs - 7PWei worstcase 3.2107 ms/op 4.2656 ms/op 0.75
altair processAttestation - setStatus - 1/6 committees join 173.14 us/op 186.17 us/op 0.93
altair processAttestation - setStatus - 1/3 committees join 331.08 us/op 354.21 us/op 0.93
altair processAttestation - setStatus - 1/2 committees join 454.89 us/op 494.12 us/op 0.92
altair processAttestation - setStatus - 2/3 committees join 572.13 us/op 621.04 us/op 0.92
altair processAttestation - setStatus - 4/5 committees join 778.21 us/op 852.86 us/op 0.91
altair processAttestation - setStatus - 100% committees join 916.05 us/op 1.0013 ms/op 0.91
altair processBlock - 250000 vs - 7PWei normalcase 9.6416 ms/op 10.393 ms/op 0.93
altair processBlock - 250000 vs - 7PWei normalcase hashState 17.736 ms/op 19.884 ms/op 0.89
altair processBlock - 250000 vs - 7PWei worstcase 37.022 ms/op 42.433 ms/op 0.87
altair processBlock - 250000 vs - 7PWei worstcase hashState 57.645 ms/op 67.993 ms/op 0.85
phase0 processBlock - 250000 vs - 7PWei normalcase 2.2411 ms/op 3.1210 ms/op 0.72
phase0 processBlock - 250000 vs - 7PWei worstcase 30.692 ms/op 35.322 ms/op 0.87
altair processEth1Data - 250000 vs - 7PWei normalcase 480.81 us/op 666.95 us/op 0.72
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 9.5550 us/op 12.286 us/op 0.78
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 51.096 us/op 93.928 us/op 0.54
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 18.552 us/op 34.737 us/op 0.53
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 12.199 us/op 21.408 us/op 0.57
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 171.87 us/op 220.03 us/op 0.78
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0911 ms/op 1.4474 ms/op 0.75
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.5613 ms/op 2.2025 ms/op 0.71
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4988 ms/op 1.8636 ms/op 0.80
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.9032 ms/op 5.4899 ms/op 0.53
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2576 ms/op 5.3710 ms/op 0.42
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.0215 ms/op 8.5747 ms/op 0.59
Tree 40 250000 create 308.69 ms/op 514.08 ms/op 0.60
Tree 40 250000 get(125000) 189.92 ns/op 219.50 ns/op 0.87
Tree 40 250000 set(125000) 872.27 ns/op 1.3089 us/op 0.67
Tree 40 250000 toArray() 18.558 ms/op 23.388 ms/op 0.79
Tree 40 250000 iterate all - toArray() + loop 21.120 ms/op 24.119 ms/op 0.88
Tree 40 250000 iterate all - get(i) 72.262 ms/op 83.852 ms/op 0.86
MutableVector 250000 create 12.885 ms/op 14.481 ms/op 0.89
MutableVector 250000 get(125000) 6.8620 ns/op 6.8400 ns/op 1.00
MutableVector 250000 set(125000) 269.29 ns/op 339.05 ns/op 0.79
MutableVector 250000 toArray() 3.1804 ms/op 3.6200 ms/op 0.88
MutableVector 250000 iterate all - toArray() + loop 3.4127 ms/op 4.3904 ms/op 0.78
MutableVector 250000 iterate all - get(i) 1.5352 ms/op 1.6740 ms/op 0.92
Array 250000 create 2.5314 ms/op 3.9551 ms/op 0.64
Array 250000 clone - spread 1.2778 ms/op 1.3201 ms/op 0.97
Array 250000 get(125000) 0.61600 ns/op 0.62500 ns/op 0.99
Array 250000 set(125000) 0.67800 ns/op 0.72100 ns/op 0.94
Array 250000 iterate all - loop 88.669 us/op 110.69 us/op 0.80
effectiveBalanceIncrements clone Uint8Array 300000 34.476 us/op 45.593 us/op 0.76
effectiveBalanceIncrements clone MutableVector 300000 364.00 ns/op 385.00 ns/op 0.95
effectiveBalanceIncrements rw all Uint8Array 300000 165.84 us/op 187.52 us/op 0.88
effectiveBalanceIncrements rw all MutableVector 300000 82.609 ms/op 106.02 ms/op 0.78
phase0 afterProcessEpoch - 250000 vs - 7PWei 114.97 ms/op 138.88 ms/op 0.83
phase0 beforeProcessEpoch - 250000 vs - 7PWei 31.394 ms/op 40.303 ms/op 0.78
altair processEpoch - mainnet_e81889 312.11 ms/op 407.61 ms/op 0.77
mainnet_e81889 - altair beforeProcessEpoch 62.150 ms/op 92.367 ms/op 0.67
mainnet_e81889 - altair processJustificationAndFinalization 15.514 us/op 31.078 us/op 0.50
mainnet_e81889 - altair processInactivityUpdates 5.1398 ms/op 9.3057 ms/op 0.55
mainnet_e81889 - altair processRewardsAndPenalties 60.676 ms/op 82.088 ms/op 0.74
mainnet_e81889 - altair processRegistryUpdates 2.7050 us/op 6.1730 us/op 0.44
mainnet_e81889 - altair processSlashings 418.00 ns/op 908.00 ns/op 0.46
mainnet_e81889 - altair processEth1DataReset 415.00 ns/op 1.0470 us/op 0.40
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2794 ms/op 1.5316 ms/op 0.84
mainnet_e81889 - altair processSlashingsReset 3.1060 us/op 5.4910 us/op 0.57
mainnet_e81889 - altair processRandaoMixesReset 4.2240 us/op 7.8130 us/op 0.54
mainnet_e81889 - altair processHistoricalRootsUpdate 578.00 ns/op 1.3220 us/op 0.44
mainnet_e81889 - altair processParticipationFlagUpdates 1.7790 us/op 2.1760 us/op 0.82
mainnet_e81889 - altair processSyncCommitteeUpdates 667.00 ns/op 964.00 ns/op 0.69
mainnet_e81889 - altair afterProcessEpoch 127.42 ms/op 132.57 ms/op 0.96
capella processEpoch - mainnet_e217614 1.0422 s/op 1.1635 s/op 0.90
mainnet_e217614 - capella beforeProcessEpoch 243.20 ms/op 286.55 ms/op 0.85
mainnet_e217614 - capella processJustificationAndFinalization 14.962 us/op 25.480 us/op 0.59
mainnet_e217614 - capella processInactivityUpdates 15.736 ms/op 22.257 ms/op 0.71
mainnet_e217614 - capella processRewardsAndPenalties 280.19 ms/op 326.51 ms/op 0.86
mainnet_e217614 - capella processRegistryUpdates 20.161 us/op 33.520 us/op 0.60
mainnet_e217614 - capella processSlashings 485.00 ns/op 1.0420 us/op 0.47
mainnet_e217614 - capella processEth1DataReset 412.00 ns/op 843.00 ns/op 0.49
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.0656 ms/op 4.4853 ms/op 0.91
mainnet_e217614 - capella processSlashingsReset 2.2780 us/op 3.4100 us/op 0.67
mainnet_e217614 - capella processRandaoMixesReset 3.8130 us/op 6.8280 us/op 0.56
mainnet_e217614 - capella processHistoricalRootsUpdate 381.00 ns/op 789.00 ns/op 0.48
mainnet_e217614 - capella processParticipationFlagUpdates 3.2860 us/op 4.2580 us/op 0.77
mainnet_e217614 - capella afterProcessEpoch 289.41 ms/op 356.94 ms/op 0.81
phase0 processEpoch - mainnet_e58758 322.99 ms/op 401.57 ms/op 0.80
mainnet_e58758 - phase0 beforeProcessEpoch 115.92 ms/op 173.45 ms/op 0.67
mainnet_e58758 - phase0 processJustificationAndFinalization 14.510 us/op 29.569 us/op 0.49
mainnet_e58758 - phase0 processRewardsAndPenalties 54.230 ms/op 51.914 ms/op 1.04
mainnet_e58758 - phase0 processRegistryUpdates 8.8140 us/op 21.355 us/op 0.41
mainnet_e58758 - phase0 processSlashings 487.00 ns/op 1.4800 us/op 0.33
mainnet_e58758 - phase0 processEth1DataReset 533.00 ns/op 1.0350 us/op 0.51
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0057 ms/op 1.5271 ms/op 0.66
mainnet_e58758 - phase0 processSlashingsReset 3.0230 us/op 5.8890 us/op 0.51
mainnet_e58758 - phase0 processRandaoMixesReset 6.3480 us/op 11.874 us/op 0.53
mainnet_e58758 - phase0 processHistoricalRootsUpdate 563.00 ns/op 1.5370 us/op 0.37
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.0820 us/op 7.3670 us/op 0.55
mainnet_e58758 - phase0 afterProcessEpoch 104.81 ms/op 117.37 ms/op 0.89
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3023 ms/op 2.0920 ms/op 0.62
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9878 ms/op 2.2833 ms/op 0.87
altair processInactivityUpdates - 250000 normalcase 24.432 ms/op 39.554 ms/op 0.62
altair processInactivityUpdates - 250000 worstcase 25.871 ms/op 30.971 ms/op 0.84
phase0 processRegistryUpdates - 250000 normalcase 12.238 us/op 14.919 us/op 0.82
phase0 processRegistryUpdates - 250000 badcase_full_deposits 466.76 us/op 436.78 us/op 1.07
phase0 processRegistryUpdates - 250000 worstcase 0.5 173.25 ms/op 173.65 ms/op 1.00
altair processRewardsAndPenalties - 250000 normalcase 75.729 ms/op 81.151 ms/op 0.93
altair processRewardsAndPenalties - 250000 worstcase 78.128 ms/op 88.723 ms/op 0.88
phase0 getAttestationDeltas - 250000 normalcase 9.4166 ms/op 13.233 ms/op 0.71
phase0 getAttestationDeltas - 250000 worstcase 8.7370 ms/op 12.633 ms/op 0.69
phase0 processSlashings - 250000 worstcase 2.5579 ms/op 3.4890 ms/op 0.73
altair processSyncCommitteeUpdates - 250000 158.33 ms/op 178.96 ms/op 0.88
BeaconState.hashTreeRoot - No change 265.00 ns/op 329.00 ns/op 0.81
BeaconState.hashTreeRoot - 1 full validator 51.645 us/op 56.799 us/op 0.91
BeaconState.hashTreeRoot - 32 full validator 516.56 us/op 603.49 us/op 0.86
BeaconState.hashTreeRoot - 512 full validator 5.7780 ms/op 7.1041 ms/op 0.81
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 64.560 us/op 70.069 us/op 0.92
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 887.59 us/op 1.0183 ms/op 0.87
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 11.036 ms/op 13.428 ms/op 0.82
BeaconState.hashTreeRoot - 1 balances 49.471 us/op 56.504 us/op 0.88
BeaconState.hashTreeRoot - 32 balances 446.73 us/op 490.27 us/op 0.91
BeaconState.hashTreeRoot - 512 balances 4.8986 ms/op 5.7796 ms/op 0.85
BeaconState.hashTreeRoot - 250000 balances 92.434 ms/op 91.190 ms/op 1.01
aggregationBits - 2048 els - zipIndexesInBitList 27.686 us/op 28.384 us/op 0.98
regular array get 100000 times 37.169 us/op 46.821 us/op 0.79
wrappedArray get 100000 times 37.220 us/op 46.359 us/op 0.80
arrayWithProxy get 100000 times 21.037 ms/op 15.327 ms/op 1.37
ssz.Root.equals 281.00 ns/op 298.00 ns/op 0.94
byteArrayEquals 265.00 ns/op 275.00 ns/op 0.96
shuffle list - 16384 els 8.0988 ms/op 8.6454 ms/op 0.94
shuffle list - 250000 els 118.25 ms/op 114.65 ms/op 1.03
processSlot - 1 slots 10.797 us/op 12.421 us/op 0.87
processSlot - 32 slots 1.5589 ms/op 1.4523 ms/op 1.07
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.453 ms/op 66.370 ms/op 0.87
getCommitteeAssignments - req 1 vs - 250000 vc 2.5167 ms/op 2.7183 ms/op 0.93
getCommitteeAssignments - req 100 vs - 250000 vc 3.7082 ms/op 4.0481 ms/op 0.92
getCommitteeAssignments - req 1000 vs - 250000 vc 3.9664 ms/op 4.5978 ms/op 0.86
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.4400 ns/op 5.9900 ns/op 0.74
state getBlockRootAtSlot - 250000 vs - 7PWei 826.65 ns/op 1.0437 us/op 0.79
computeProposers - vc 250000 8.8398 ms/op 10.148 ms/op 0.87
computeEpochShuffling - vc 250000 103.92 ms/op 132.95 ms/op 0.78
getNextSyncCommittee - vc 250000 148.78 ms/op 181.86 ms/op 0.82
computeSigningRoot for AttestationData 13.018 us/op 16.452 us/op 0.79
hash AttestationData serialized data then Buffer.toString(base64) 2.2645 us/op 2.6387 us/op 0.86
toHexString serialized data 1.0401 us/op 1.8381 us/op 0.57
Buffer.toString(base64) 214.08 ns/op 288.75 ns/op 0.74

by benchmarkbot/action

@twoeths twoeths force-pushed the tuyen/time_to_stable_mesh_metrics branch from 061740e to 9114a94 Compare August 22, 2023 02:45
@twoeths
Copy link
Contributor Author

twoeths commented Aug 22, 2023

  • committee subscribed subnets arrangement (based on that we can count % of unhealthy mesh)
Screenshot 2023-08-22 at 17 23 41
  • time to stable mesh:
Screenshot 2023-08-22 at 17 24 28

@twoeths twoeths marked this pull request as ready for review August 22, 2023 10:25
@twoeths twoeths requested a review from a team as a code owner August 22, 2023 10:25
@wemeetagain wemeetagain merged commit 945f892 into unstable Aug 23, 2023
11 checks passed
@wemeetagain wemeetagain deleted the tuyen/time_to_stable_mesh_metrics branch August 23, 2023 19:29
@wemeetagain
Copy link
Member

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

2 participants