Skip to content

Commit

Permalink
fix: further update and improve getblobs metrics collection and dashb…
Browse files Browse the repository at this point in the history
…oard (#7416)

Further update and improve getBlobs metrics collection and dashboard
based on review of the generated metrics and discussions with @philknows
on them

example dash


![image](https://github.com/user-attachments/assets/9afff12e-4287-4ce6-9eee-d58857f7e8ca)
  • Loading branch information
g11tech authored Jan 31, 2025
1 parent 86ab878 commit 80b3963
Show file tree
Hide file tree
Showing 3 changed files with 155 additions and 254 deletions.
Loading

1 comment on commit 80b3963

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 80b3963 Previous: c43b070 Ratio
forkChoice updateHead vc 600000 bc 64 eq 300000 33.551 ms/op 10.936 ms/op 3.07
Full benchmark results
Benchmark suite Current: 80b3963 Previous: c43b070 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.1468 ms/op 749.50 us/op 1.53
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 44.156 us/op 29.973 us/op 1.47
BLS verify - blst 991.75 us/op 892.07 us/op 1.11
BLS verifyMultipleSignatures 3 - blst 1.3498 ms/op 1.3042 ms/op 1.03
BLS verifyMultipleSignatures 8 - blst 2.4165 ms/op 2.0867 ms/op 1.16
BLS verifyMultipleSignatures 32 - blst 6.5019 ms/op 4.5189 ms/op 1.44
BLS verifyMultipleSignatures 64 - blst 9.4168 ms/op 8.4002 ms/op 1.12
BLS verifyMultipleSignatures 128 - blst 19.104 ms/op 16.010 ms/op 1.19
BLS deserializing 10000 signatures 752.09 ms/op 594.65 ms/op 1.26
BLS deserializing 100000 signatures 7.2173 s/op 6.0440 s/op 1.19
BLS verifyMultipleSignatures - same message - 3 - blst 910.20 us/op 945.02 us/op 0.96
BLS verifyMultipleSignatures - same message - 8 - blst 998.28 us/op 1.0763 ms/op 0.93
BLS verifyMultipleSignatures - same message - 32 - blst 1.6964 ms/op 1.6872 ms/op 1.01
BLS verifyMultipleSignatures - same message - 64 - blst 2.5987 ms/op 2.5078 ms/op 1.04
BLS verifyMultipleSignatures - same message - 128 - blst 4.4164 ms/op 4.0633 ms/op 1.09
BLS aggregatePubkeys 32 - blst 19.926 us/op 17.367 us/op 1.15
BLS aggregatePubkeys 128 - blst 71.144 us/op 61.145 us/op 1.16
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 44.893 ms/op 39.819 ms/op 1.13
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 43.830 ms/op 46.088 ms/op 0.95
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 36.509 ms/op 34.808 ms/op 1.05
getSlashingsAndExits - default max 76.339 us/op 58.912 us/op 1.30
getSlashingsAndExits - 2k 281.09 us/op 203.28 us/op 1.38
proposeBlockBody type=full, size=empty 4.6143 ms/op 4.6684 ms/op 0.99
isKnown best case - 1 super set check 198.00 ns/op 387.00 ns/op 0.51
isKnown normal case - 2 super set checks 197.00 ns/op 386.00 ns/op 0.51
isKnown worse case - 16 super set checks 197.00 ns/op 387.00 ns/op 0.51
InMemoryCheckpointStateCache - add get delete 2.3700 us/op 2.4130 us/op 0.98
validate api signedAggregateAndProof - struct 1.3551 ms/op 1.9270 ms/op 0.70
validate gossip signedAggregateAndProof - struct 1.3463 ms/op 1.9389 ms/op 0.69
batch validate gossip attestation - vc 640000 - chunk 32 121.26 us/op 111.36 us/op 1.09
batch validate gossip attestation - vc 640000 - chunk 64 110.31 us/op 94.188 us/op 1.17
batch validate gossip attestation - vc 640000 - chunk 128 105.74 us/op 87.395 us/op 1.21
batch validate gossip attestation - vc 640000 - chunk 256 109.91 us/op 90.324 us/op 1.22
pickEth1Vote - no votes 1.0250 ms/op 723.65 us/op 1.42
pickEth1Vote - max votes 7.1223 ms/op 7.0104 ms/op 1.02
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.819 ms/op 14.933 ms/op 0.99
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 24.460 ms/op 20.980 ms/op 1.17
pickEth1Vote - Eth1Data fastSerialize value x2048 471.81 us/op 366.01 us/op 1.29
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.3243 ms/op 4.2346 ms/op 0.55
bytes32 toHexString 382.00 ns/op 539.00 ns/op 0.71
bytes32 Buffer.toString(hex) 253.00 ns/op 421.00 ns/op 0.60
bytes32 Buffer.toString(hex) from Uint8Array 330.00 ns/op 494.00 ns/op 0.67
bytes32 Buffer.toString(hex) + 0x 249.00 ns/op 411.00 ns/op 0.61
Object access 1 prop 0.16200 ns/op 0.30500 ns/op 0.53
Map access 1 prop 0.13200 ns/op 0.31600 ns/op 0.42
Object get x1000 6.3180 ns/op 5.3690 ns/op 1.18
Map get x1000 6.7810 ns/op 5.9770 ns/op 1.13
Object set x1000 33.386 ns/op 18.979 ns/op 1.76
Map set x1000 21.950 ns/op 16.598 ns/op 1.32
Return object 10000 times 0.29830 ns/op 0.29490 ns/op 1.01
Throw Error 10000 times 4.5827 us/op 3.5006 us/op 1.31
toHex 145.03 ns/op 94.292 ns/op 1.54
Buffer.from 137.36 ns/op 88.918 ns/op 1.54
shared Buffer 83.313 ns/op 58.675 ns/op 1.42
fastMsgIdFn sha256 / 200 bytes 2.2600 us/op 1.8170 us/op 1.24
fastMsgIdFn h32 xxhash / 200 bytes 214.00 ns/op 374.00 ns/op 0.57
fastMsgIdFn h64 xxhash / 200 bytes 270.00 ns/op 440.00 ns/op 0.61
fastMsgIdFn sha256 / 1000 bytes 7.3740 us/op 5.8450 us/op 1.26
fastMsgIdFn h32 xxhash / 1000 bytes 353.00 ns/op 508.00 ns/op 0.69
fastMsgIdFn h64 xxhash / 1000 bytes 344.00 ns/op 514.00 ns/op 0.67
fastMsgIdFn sha256 / 10000 bytes 102.07 us/op 50.844 us/op 2.01
fastMsgIdFn h32 xxhash / 10000 bytes 2.1580 us/op 1.8840 us/op 1.15
fastMsgIdFn h64 xxhash / 10000 bytes 1.2710 us/op 1.3230 us/op 0.96
send data - 1000 256B messages 17.099 ms/op 9.7099 ms/op 1.76
send data - 1000 512B messages 21.561 ms/op 13.502 ms/op 1.60
send data - 1000 1024B messages 31.020 ms/op 19.898 ms/op 1.56
send data - 1000 1200B messages 26.341 ms/op 14.960 ms/op 1.76
send data - 1000 2048B messages 28.094 ms/op 14.644 ms/op 1.92
send data - 1000 4096B messages 36.015 ms/op 17.713 ms/op 2.03
send data - 1000 16384B messages 79.878 ms/op 44.959 ms/op 1.78
send data - 1000 65536B messages 228.57 ms/op 241.76 ms/op 0.95
enrSubnets - fastDeserialize 64 bits 945.00 ns/op 1.8000 us/op 0.53
enrSubnets - ssz BitVector 64 bits 343.00 ns/op 496.00 ns/op 0.69
enrSubnets - fastDeserialize 4 bits 136.00 ns/op 322.00 ns/op 0.42
enrSubnets - ssz BitVector 4 bits 337.00 ns/op 500.00 ns/op 0.67
prioritizePeers score -10:0 att 32-0.1 sync 2-0 126.83 us/op 100.09 us/op 1.27
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 152.03 us/op 115.71 us/op 1.31
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 219.81 us/op 169.78 us/op 1.29
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 412.64 us/op 311.84 us/op 1.32
prioritizePeers score 0:0 att 64-1 sync 4-1 487.18 us/op 366.01 us/op 1.33
array of 16000 items push then shift 1.6910 us/op 1.1878 us/op 1.42
LinkedList of 16000 items push then shift 8.0940 ns/op 7.0030 ns/op 1.16
array of 16000 items push then pop 85.839 ns/op 62.282 ns/op 1.38
LinkedList of 16000 items push then pop 7.9960 ns/op 5.9780 ns/op 1.34
array of 24000 items push then shift 2.5085 us/op 1.7413 us/op 1.44
LinkedList of 24000 items push then shift 8.4510 ns/op 6.4170 ns/op 1.32
array of 24000 items push then pop 122.22 ns/op 85.181 ns/op 1.43
LinkedList of 24000 items push then pop 9.0550 ns/op 6.0270 ns/op 1.50
intersect bitArray bitLen 8 6.7700 ns/op 5.3950 ns/op 1.25
intersect array and set length 8 40.882 ns/op 33.345 ns/op 1.23
intersect bitArray bitLen 128 32.189 ns/op 26.486 ns/op 1.22
intersect array and set length 128 650.42 ns/op 553.74 ns/op 1.17
bitArray.getTrueBitIndexes() bitLen 128 1.1000 us/op 1.1190 us/op 0.98
bitArray.getTrueBitIndexes() bitLen 248 1.9290 us/op 1.7860 us/op 1.08
bitArray.getTrueBitIndexes() bitLen 512 4.0210 us/op 3.2820 us/op 1.23
Buffer.concat 32 items 695.00 ns/op 791.00 ns/op 0.88
Uint8Array.set 32 items 1.6490 us/op 1.2430 us/op 1.33
Buffer.copy 2.9990 us/op 2.1220 us/op 1.41
Uint8Array.set - with subarray 3.0970 us/op 1.6990 us/op 1.82
Uint8Array.set - without subarray 1.9710 us/op 1.0780 us/op 1.83
getUint32 - dataview 211.00 ns/op 367.00 ns/op 0.57
getUint32 - manual 132.00 ns/op 300.00 ns/op 0.44
Set add up to 64 items then delete first 2.9216 us/op 1.6558 us/op 1.76
OrderedSet add up to 64 items then delete first 4.5644 us/op 2.5669 us/op 1.78
Set add up to 64 items then delete last 3.1627 us/op 1.8872 us/op 1.68
OrderedSet add up to 64 items then delete last 4.1390 us/op 2.8443 us/op 1.46
Set add up to 64 items then delete middle 2.5351 us/op 1.8866 us/op 1.34
OrderedSet add up to 64 items then delete middle 6.4198 us/op 4.3067 us/op 1.49
Set add up to 128 items then delete first 6.5535 us/op 3.7423 us/op 1.75
OrderedSet add up to 128 items then delete first 10.548 us/op 5.9197 us/op 1.78
Set add up to 128 items then delete last 6.6406 us/op 3.5889 us/op 1.85
OrderedSet add up to 128 items then delete last 10.244 us/op 5.5388 us/op 1.85
Set add up to 128 items then delete middle 6.4617 us/op 3.5991 us/op 1.80
OrderedSet add up to 128 items then delete middle 17.838 us/op 11.274 us/op 1.58
Set add up to 256 items then delete first 13.446 us/op 7.3338 us/op 1.83
OrderedSet add up to 256 items then delete first 23.984 us/op 11.796 us/op 2.03
Set add up to 256 items then delete last 13.028 us/op 7.1036 us/op 1.83
OrderedSet add up to 256 items then delete last 18.986 us/op 11.197 us/op 1.70
Set add up to 256 items then delete middle 13.533 us/op 7.1072 us/op 1.90
OrderedSet add up to 256 items then delete middle 54.052 us/op 32.927 us/op 1.64
transfer serialized Status (84 B) 3.2300 us/op 2.0460 us/op 1.58
copy serialized Status (84 B) 2.1940 us/op 1.3050 us/op 1.68
transfer serialized SignedVoluntaryExit (112 B) 2.9510 us/op 1.9900 us/op 1.48
copy serialized SignedVoluntaryExit (112 B) 2.2150 us/op 1.2290 us/op 1.80
transfer serialized ProposerSlashing (416 B) 3.2740 us/op 2.1210 us/op 1.54
copy serialized ProposerSlashing (416 B) 2.3960 us/op 1.6750 us/op 1.43
transfer serialized Attestation (485 B) 3.0620 us/op 2.1340 us/op 1.43
copy serialized Attestation (485 B) 2.1430 us/op 1.3830 us/op 1.55
transfer serialized AttesterSlashing (33232 B) 3.6700 us/op 3.0010 us/op 1.22
copy serialized AttesterSlashing (33232 B) 5.6430 us/op 4.1940 us/op 1.35
transfer serialized Small SignedBeaconBlock (128000 B) 3.7040 us/op 2.9180 us/op 1.27
copy serialized Small SignedBeaconBlock (128000 B) 19.117 us/op 8.9880 us/op 2.13
transfer serialized Avg SignedBeaconBlock (200000 B) 4.3240 us/op 2.9290 us/op 1.48
copy serialized Avg SignedBeaconBlock (200000 B) 24.274 us/op 12.681 us/op 1.91
transfer serialized BlobsSidecar (524380 B) 4.7040 us/op 3.3090 us/op 1.42
copy serialized BlobsSidecar (524380 B) 205.21 us/op 54.829 us/op 3.74
transfer serialized Big SignedBeaconBlock (1000000 B) 5.1800 us/op 3.6640 us/op 1.41
copy serialized Big SignedBeaconBlock (1000000 B) 148.94 us/op 167.50 us/op 0.89
pass gossip attestations to forkchoice per slot 3.0797 ms/op 2.3013 ms/op 1.34
forkChoice updateHead vc 100000 bc 64 eq 0 502.34 us/op 347.98 us/op 1.44
forkChoice updateHead vc 600000 bc 64 eq 0 3.5844 ms/op 2.1672 ms/op 1.65
forkChoice updateHead vc 1000000 bc 64 eq 0 6.3107 ms/op 3.7719 ms/op 1.67
forkChoice updateHead vc 600000 bc 320 eq 0 3.6231 ms/op 2.1259 ms/op 1.70
forkChoice updateHead vc 600000 bc 1200 eq 0 3.5409 ms/op 2.1320 ms/op 1.66
forkChoice updateHead vc 600000 bc 7200 eq 0 4.9906 ms/op 2.4135 ms/op 2.07
forkChoice updateHead vc 600000 bc 64 eq 1000 12.267 ms/op 9.1754 ms/op 1.34
forkChoice updateHead vc 600000 bc 64 eq 10000 12.668 ms/op 9.0711 ms/op 1.40
forkChoice updateHead vc 600000 bc 64 eq 300000 33.551 ms/op 10.936 ms/op 3.07
computeDeltas 500000 validators 300 proto nodes 4.4477 ms/op 3.1029 ms/op 1.43
computeDeltas 500000 validators 1200 proto nodes 4.4111 ms/op 3.1632 ms/op 1.39
computeDeltas 500000 validators 7200 proto nodes 4.4023 ms/op 3.2355 ms/op 1.36
computeDeltas 750000 validators 300 proto nodes 11.468 ms/op 4.8869 ms/op 2.35
computeDeltas 750000 validators 1200 proto nodes 6.9539 ms/op 4.5519 ms/op 1.53
computeDeltas 750000 validators 7200 proto nodes 8.3918 ms/op 4.6906 ms/op 1.79
computeDeltas 1400000 validators 300 proto nodes 19.332 ms/op 8.7767 ms/op 2.20
computeDeltas 1400000 validators 1200 proto nodes 15.614 ms/op 8.7171 ms/op 1.79
computeDeltas 1400000 validators 7200 proto nodes 14.424 ms/op 8.6016 ms/op 1.68
computeDeltas 2100000 validators 300 proto nodes 27.986 ms/op 12.655 ms/op 2.21
computeDeltas 2100000 validators 1200 proto nodes 31.933 ms/op 12.797 ms/op 2.50
computeDeltas 2100000 validators 7200 proto nodes 27.079 ms/op 12.841 ms/op 2.11
altair processAttestation - 250000 vs - 7PWei normalcase 4.3935 ms/op 1.6911 ms/op 2.60
altair processAttestation - 250000 vs - 7PWei worstcase 5.7214 ms/op 2.5342 ms/op 2.26
altair processAttestation - setStatus - 1/6 committees join 146.88 us/op 93.804 us/op 1.57
altair processAttestation - setStatus - 1/3 committees join 260.35 us/op 187.46 us/op 1.39
altair processAttestation - setStatus - 1/2 committees join 371.67 us/op 278.95 us/op 1.33
altair processAttestation - setStatus - 2/3 committees join 485.94 us/op 341.71 us/op 1.42
altair processAttestation - setStatus - 4/5 committees join 712.13 us/op 510.93 us/op 1.39
altair processAttestation - setStatus - 100% committees join 807.76 us/op 599.04 us/op 1.35
altair processBlock - 250000 vs - 7PWei normalcase 5.4092 ms/op 3.8238 ms/op 1.41
altair processBlock - 250000 vs - 7PWei normalcase hashState 37.763 ms/op 33.493 ms/op 1.13
altair processBlock - 250000 vs - 7PWei worstcase 41.282 ms/op 40.801 ms/op 1.01
altair processBlock - 250000 vs - 7PWei worstcase hashState 104.62 ms/op 86.163 ms/op 1.21
phase0 processBlock - 250000 vs - 7PWei normalcase 1.9295 ms/op 1.9932 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei worstcase 27.631 ms/op 25.865 ms/op 1.07
altair processEth1Data - 250000 vs - 7PWei normalcase 363.35 us/op 257.31 us/op 1.41
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.7200 us/op 5.0580 us/op 1.53
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 54.639 us/op 24.138 us/op 2.26
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 14.172 us/op 7.4970 us/op 1.89
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.4440 us/op 7.3410 us/op 1.15
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 173.40 us/op 106.06 us/op 1.63
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.9039 ms/op 1.1193 ms/op 1.70
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.5977 ms/op 986.18 us/op 1.62
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5425 ms/op 1.0155 ms/op 1.52
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 5.0872 ms/op 2.4592 ms/op 2.07
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.6471 ms/op 999.14 us/op 1.65
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.7958 ms/op 2.5734 ms/op 1.86
Tree 40 250000 create 814.70 ms/op 371.24 ms/op 2.19
Tree 40 250000 get(125000) 151.79 ns/op 118.38 ns/op 1.28
Tree 40 250000 set(125000) 3.2548 us/op 1.2886 us/op 2.53
Tree 40 250000 toArray() 31.169 ms/op 9.9550 ms/op 3.13
Tree 40 250000 iterate all - toArray() + loop 31.971 ms/op 10.022 ms/op 3.19
Tree 40 250000 iterate all - get(i) 77.915 ms/op 38.922 ms/op 2.00
Array 250000 create 4.4697 ms/op 2.3702 ms/op 1.89
Array 250000 clone - spread 1.8919 ms/op 649.32 us/op 2.91
Array 250000 get(125000) 0.46100 ns/op 0.57700 ns/op 0.80
Array 250000 set(125000) 0.48400 ns/op 0.58400 ns/op 0.83
Array 250000 iterate all - loop 90.712 us/op 76.877 us/op 1.18
phase0 afterProcessEpoch - 250000 vs - 7PWei 54.179 ms/op 40.374 ms/op 1.34
Array.fill - length 1000000 4.0670 ms/op 2.3988 ms/op 1.70
Array push - length 1000000 21.509 ms/op 11.285 ms/op 1.91
Array.get 0.31534 ns/op 0.26129 ns/op 1.21
Uint8Array.get 0.48811 ns/op 0.34540 ns/op 1.41
phase0 beforeProcessEpoch - 250000 vs - 7PWei 27.713 ms/op 12.893 ms/op 2.15
altair processEpoch - mainnet_e81889 355.31 ms/op 273.18 ms/op 1.30
mainnet_e81889 - altair beforeProcessEpoch 30.476 ms/op 16.191 ms/op 1.88
mainnet_e81889 - altair processJustificationAndFinalization 8.4400 us/op 4.5950 us/op 1.84
mainnet_e81889 - altair processInactivityUpdates 5.4182 ms/op 3.3280 ms/op 1.63
mainnet_e81889 - altair processRewardsAndPenalties 49.459 ms/op 48.600 ms/op 1.02
mainnet_e81889 - altair processRegistryUpdates 780.00 ns/op 816.00 ns/op 0.96
mainnet_e81889 - altair processSlashings 192.00 ns/op 399.00 ns/op 0.48
mainnet_e81889 - altair processEth1DataReset 185.00 ns/op 396.00 ns/op 0.47
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3372 ms/op 941.91 us/op 1.42
mainnet_e81889 - altair processSlashingsReset 933.00 ns/op 1.0960 us/op 0.85
mainnet_e81889 - altair processRandaoMixesReset 1.2040 us/op 1.5170 us/op 0.79
mainnet_e81889 - altair processHistoricalRootsUpdate 246.00 ns/op 412.00 ns/op 0.60
mainnet_e81889 - altair processParticipationFlagUpdates 567.00 ns/op 847.00 ns/op 0.67
mainnet_e81889 - altair processSyncCommitteeUpdates 148.00 ns/op 365.00 ns/op 0.41
mainnet_e81889 - altair afterProcessEpoch 58.269 ms/op 41.137 ms/op 1.42
capella processEpoch - mainnet_e217614 1.0002 s/op 901.94 ms/op 1.11
mainnet_e217614 - capella beforeProcessEpoch 74.457 ms/op 67.211 ms/op 1.11
mainnet_e217614 - capella processJustificationAndFinalization 5.5400 us/op 5.0100 us/op 1.11
mainnet_e217614 - capella processInactivityUpdates 18.213 ms/op 15.842 ms/op 1.15
mainnet_e217614 - capella processRewardsAndPenalties 168.80 ms/op 183.89 ms/op 0.92
mainnet_e217614 - capella processRegistryUpdates 6.3710 us/op 6.8570 us/op 0.93
mainnet_e217614 - capella processSlashings 176.00 ns/op 459.00 ns/op 0.38
mainnet_e217614 - capella processEth1DataReset 176.00 ns/op 395.00 ns/op 0.45
mainnet_e217614 - capella processEffectiveBalanceUpdates 13.861 ms/op 11.715 ms/op 1.18
mainnet_e217614 - capella processSlashingsReset 907.00 ns/op 1.2090 us/op 0.75
mainnet_e217614 - capella processRandaoMixesReset 1.2230 us/op 1.2620 us/op 0.97
mainnet_e217614 - capella processHistoricalRootsUpdate 179.00 ns/op 397.00 ns/op 0.45
mainnet_e217614 - capella processParticipationFlagUpdates 539.00 ns/op 735.00 ns/op 0.73
mainnet_e217614 - capella afterProcessEpoch 127.13 ms/op 105.42 ms/op 1.21
phase0 processEpoch - mainnet_e58758 327.05 ms/op 300.56 ms/op 1.09
mainnet_e58758 - phase0 beforeProcessEpoch 87.860 ms/op 86.306 ms/op 1.02
mainnet_e58758 - phase0 processJustificationAndFinalization 6.2820 us/op 5.9160 us/op 1.06
mainnet_e58758 - phase0 processRewardsAndPenalties 41.904 ms/op 41.483 ms/op 1.01
mainnet_e58758 - phase0 processRegistryUpdates 3.2610 us/op 2.7940 us/op 1.17
mainnet_e58758 - phase0 processSlashings 216.00 ns/op 405.00 ns/op 0.53
mainnet_e58758 - phase0 processEth1DataReset 203.00 ns/op 401.00 ns/op 0.51
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0890 ms/op 840.16 us/op 1.30
mainnet_e58758 - phase0 processSlashingsReset 1.2010 us/op 1.1550 us/op 1.04
mainnet_e58758 - phase0 processRandaoMixesReset 1.2490 us/op 1.5880 us/op 0.79
mainnet_e58758 - phase0 processHistoricalRootsUpdate 184.00 ns/op 407.00 ns/op 0.45
mainnet_e58758 - phase0 processParticipationRecordUpdates 926.00 ns/op 1.2960 us/op 0.71
mainnet_e58758 - phase0 afterProcessEpoch 44.666 ms/op 35.591 ms/op 1.25
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4269 ms/op 977.63 us/op 1.46
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.5078 ms/op 2.3424 ms/op 1.07
altair processInactivityUpdates - 250000 normalcase 19.812 ms/op 17.057 ms/op 1.16
altair processInactivityUpdates - 250000 worstcase 19.228 ms/op 18.277 ms/op 1.05
phase0 processRegistryUpdates - 250000 normalcase 8.6650 us/op 3.5640 us/op 2.43
phase0 processRegistryUpdates - 250000 badcase_full_deposits 341.50 us/op 309.42 us/op 1.10
phase0 processRegistryUpdates - 250000 worstcase 0.5 110.27 ms/op 106.82 ms/op 1.03
altair processRewardsAndPenalties - 250000 normalcase 46.083 ms/op 32.511 ms/op 1.42
altair processRewardsAndPenalties - 250000 worstcase 37.073 ms/op 51.066 ms/op 0.73
phase0 getAttestationDeltas - 250000 normalcase 7.4734 ms/op 4.9848 ms/op 1.50
phase0 getAttestationDeltas - 250000 worstcase 8.5749 ms/op 6.5717 ms/op 1.30
phase0 processSlashings - 250000 worstcase 96.975 us/op 98.931 us/op 0.98
altair processSyncCommitteeUpdates - 250000 135.28 ms/op 112.26 ms/op 1.21
BeaconState.hashTreeRoot - No change 230.00 ns/op 447.00 ns/op 0.51
BeaconState.hashTreeRoot - 1 full validator 80.810 us/op 89.500 us/op 0.90
BeaconState.hashTreeRoot - 32 full validator 830.26 us/op 1.1925 ms/op 0.70
BeaconState.hashTreeRoot - 512 full validator 10.353 ms/op 12.112 ms/op 0.85
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 91.000 us/op 111.69 us/op 0.81
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3516 ms/op 1.7367 ms/op 0.78
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.582 ms/op 28.048 ms/op 0.91
BeaconState.hashTreeRoot - 1 balances 89.273 us/op 72.065 us/op 1.24
BeaconState.hashTreeRoot - 32 balances 772.34 us/op 830.33 us/op 0.93
BeaconState.hashTreeRoot - 512 balances 8.9011 ms/op 9.8756 ms/op 0.90
BeaconState.hashTreeRoot - 250000 balances 188.21 ms/op 171.93 ms/op 1.09
aggregationBits - 2048 els - zipIndexesInBitList 24.442 us/op 18.602 us/op 1.31
byteArrayEquals 32 58.064 ns/op 46.405 ns/op 1.25
Buffer.compare 32 18.447 ns/op 16.501 ns/op 1.12
byteArrayEquals 1024 1.6434 us/op 1.2831 us/op 1.28
Buffer.compare 1024 25.399 ns/op 32.906 ns/op 0.77
byteArrayEquals 16384 26.129 us/op 20.400 us/op 1.28
Buffer.compare 16384 210.70 ns/op 193.53 ns/op 1.09
byteArrayEquals 123687377 192.57 ms/op 150.00 ms/op 1.28
Buffer.compare 123687377 6.1954 ms/op 5.8404 ms/op 1.06
byteArrayEquals 32 - diff last byte 52.832 ns/op 44.958 ns/op 1.18
Buffer.compare 32 - diff last byte 17.289 ns/op 15.206 ns/op 1.14
byteArrayEquals 1024 - diff last byte 1.5995 us/op 1.2269 us/op 1.30
Buffer.compare 1024 - diff last byte 26.013 ns/op 23.352 ns/op 1.11
byteArrayEquals 16384 - diff last byte 25.536 us/op 19.475 us/op 1.31
Buffer.compare 16384 - diff last byte 192.64 ns/op 170.00 ns/op 1.13
byteArrayEquals 123687377 - diff last byte 188.37 ms/op 152.85 ms/op 1.23
Buffer.compare 123687377 - diff last byte 6.0646 ms/op 3.9317 ms/op 1.54
byteArrayEquals 32 - random bytes 5.0360 ns/op 4.9300 ns/op 1.02
Buffer.compare 32 - random bytes 16.862 ns/op 16.923 ns/op 1.00
byteArrayEquals 1024 - random bytes 5.0560 ns/op 4.9250 ns/op 1.03
Buffer.compare 1024 - random bytes 16.893 ns/op 17.037 ns/op 0.99
byteArrayEquals 16384 - random bytes 5.0480 ns/op 4.8750 ns/op 1.04
Buffer.compare 16384 - random bytes 16.911 ns/op 17.061 ns/op 0.99
byteArrayEquals 123687377 - random bytes 6.2800 ns/op 7.8000 ns/op 0.81
Buffer.compare 123687377 - random bytes 17.710 ns/op 19.600 ns/op 0.90
regular array get 100000 times 31.646 us/op 30.739 us/op 1.03
wrappedArray get 100000 times 31.604 us/op 30.610 us/op 1.03
arrayWithProxy get 100000 times 12.299 ms/op 11.019 ms/op 1.12
ssz.Root.equals 44.663 ns/op 42.515 ns/op 1.05
byteArrayEquals 43.806 ns/op 43.225 ns/op 1.01
Buffer.compare 10.010 ns/op 10.551 ns/op 0.95
processSlot - 1 slots 10.310 us/op 8.9470 us/op 1.15
processSlot - 32 slots 2.5217 ms/op 2.1582 ms/op 1.17
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 49.966 ms/op 59.684 ms/op 0.84
getCommitteeAssignments - req 1 vs - 250000 vc 2.0634 ms/op 1.7046 ms/op 1.21
getCommitteeAssignments - req 100 vs - 250000 vc 4.1096 ms/op 3.3692 ms/op 1.22
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3685 ms/op 3.5696 ms/op 1.22
compare ViewDUs 6.1034 s/op 6.0514 s/op 1.01
compare each validator Uint8Array 1.3583 s/op 863.10 ms/op 1.57
compare ViewDU to Uint8Array 1.2423 s/op 890.80 ms/op 1.39
migrate state 1000000 validators, 24 modified, 0 new 868.94 ms/op 793.03 ms/op 1.10
migrate state 1000000 validators, 1700 modified, 1000 new 1.3327 s/op 1.1929 s/op 1.12
migrate state 1000000 validators, 3400 modified, 2000 new 1.6473 s/op 1.1763 s/op 1.40
migrate state 1500000 validators, 24 modified, 0 new 1.0014 s/op 869.21 ms/op 1.15
migrate state 1500000 validators, 1700 modified, 1000 new 1.1336 s/op 1.0163 s/op 1.12
migrate state 1500000 validators, 3400 modified, 2000 new 1.1820 s/op 1.1690 s/op 1.01
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3100 ns/op 5.6600 ns/op 0.76
state getBlockRootAtSlot - 250000 vs - 7PWei 465.51 ns/op 452.32 ns/op 1.03
computeProposers - vc 250000 9.5692 ms/op 6.9085 ms/op 1.39
computeEpochShuffling - vc 250000 46.366 ms/op 34.276 ms/op 1.35
getNextSyncCommittee - vc 250000 133.97 ms/op 98.239 ms/op 1.36
computeSigningRoot for AttestationData 19.737 us/op 21.912 us/op 0.90
hash AttestationData serialized data then Buffer.toString(base64) 1.6415 us/op 1.2096 us/op 1.36
toHexString serialized data 1.0288 us/op 725.45 ns/op 1.42
Buffer.toString(base64) 177.13 ns/op 114.65 ns/op 1.54
nodejs block root to RootHex using toHex 143.71 ns/op 113.96 ns/op 1.26
nodejs block root to RootHex using toRootHex 93.093 ns/op 74.577 ns/op 1.25
browser block root to RootHex using the deprecated toHexString 228.20 ns/op 195.20 ns/op 1.17
browser block root to RootHex using toHex 180.63 ns/op 160.01 ns/op 1.13
browser block root to RootHex using toRootHex 165.82 ns/op 147.10 ns/op 1.13

Please sign in to comment.