Skip to content

Commit

Permalink
chore: add vscode workspace settings (#7173)
Browse files Browse the repository at this point in the history
* Add vscode workspace settings

* Update the settings file

* Add settings for open-in-github

* Update the settings

* Add comment in the settings

* Update the settings

* Use tabaqa extension to override settings

* Revert "Use tabaqa extension to override settings"

This reverts commit fd02f98.

* Update the settings file

* Update settings

* Update .vscode/settings.json

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
  • Loading branch information
nazarhussain and nflaig authored Oct 22, 2024
1 parent 0e4ea98 commit e770ebe
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 13 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ validators
.tmp
.npmrc
.vscode/launch.json
.vscode/settings.json
!.vscode/settings.json
.vscode/tasks.json

# Tests artifacts
Expand Down
22 changes: 22 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"window.title": "${activeEditorShort}${separator}${rootName}${separator}${profileName}${separator}[${activeRepositoryBranchName}]",
"editor.defaultFormatter": "esbenp.prettier-vscode",
// For `sysoev.vscode-open-in-github` extension
"openInGitHub.defaultBranch": "unstable",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.biome": "explicit",
},
"[javascript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[typescript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[json]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[jsonc]": {
"editor.defaultFormatter": "biomejs.biome"
}
}
3 changes: 3 additions & 0 deletions biome.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
"ignore": ["**/lib", "**/.nyc_output", "./packages/*/spec-tests", "**/node_modules", "./packages/*/node_modules/**"]
},
"organizeImports": {
// TODO: We will enable this settings as soon mono-repo support is provided in biome.
// Currently it didn't recognize local packages in repo and sort those higher than npm packages
// https://github.com/biomejs/biome/issues/2228
"enabled": false
},
"linter": {
Expand Down
12 changes: 0 additions & 12 deletions lodestar.code-workspace

This file was deleted.

1 comment on commit e770ebe

@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: e770ebe Previous: 0e4ea98 Ratio
findModifiedValidators - 1000 modified validators 691.20 ms/op 159.60 ms/op 4.33
Full benchmark results
Benchmark suite Current: e770ebe Previous: 0e4ea98 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 3.0636 ms/op 2.0059 ms/op 1.53
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 91.850 us/op 52.802 us/op 1.74
BLS verify - blst 1.0738 ms/op 1.0596 ms/op 1.01
BLS verifyMultipleSignatures 3 - blst 1.5846 ms/op 1.5554 ms/op 1.02
BLS verifyMultipleSignatures 8 - blst 2.2404 ms/op 2.1669 ms/op 1.03
BLS verifyMultipleSignatures 32 - blst 5.9507 ms/op 6.5700 ms/op 0.91
BLS verifyMultipleSignatures 64 - blst 10.883 ms/op 10.692 ms/op 1.02
BLS verifyMultipleSignatures 128 - blst 19.801 ms/op 16.812 ms/op 1.18
BLS deserializing 10000 signatures 713.09 ms/op 677.33 ms/op 1.05
BLS deserializing 100000 signatures 7.7215 s/op 6.8036 s/op 1.13
BLS verifyMultipleSignatures - same message - 3 - blst 1.0745 ms/op 1.1141 ms/op 0.96
BLS verifyMultipleSignatures - same message - 8 - blst 1.1816 ms/op 1.2213 ms/op 0.97
BLS verifyMultipleSignatures - same message - 32 - blst 1.9282 ms/op 1.9477 ms/op 0.99
BLS verifyMultipleSignatures - same message - 64 - blst 2.9769 ms/op 2.7373 ms/op 1.09
BLS verifyMultipleSignatures - same message - 128 - blst 4.8764 ms/op 4.2726 ms/op 1.14
BLS aggregatePubkeys 32 - blst 21.415 us/op 19.929 us/op 1.07
BLS aggregatePubkeys 128 - blst 76.754 us/op 69.957 us/op 1.10
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 114.02 ms/op 68.645 ms/op 1.66
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 125.74 ms/op 82.275 ms/op 1.53
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 76.103 ms/op 49.766 ms/op 1.53
getSlashingsAndExits - default max 264.88 us/op 99.023 us/op 2.67
getSlashingsAndExits - 2k 593.81 us/op 341.76 us/op 1.74
proposeBlockBody type=full, size=empty 11.272 ms/op 7.0070 ms/op 1.61
isKnown best case - 1 super set check 818.00 ns/op 333.00 ns/op 2.46
isKnown normal case - 2 super set checks 900.00 ns/op 401.00 ns/op 2.24
isKnown worse case - 16 super set checks 992.00 ns/op 391.00 ns/op 2.54
InMemoryCheckpointStateCache - add get delete 4.9170 us/op 3.1950 us/op 1.54
updateUnfinalizedPubkeys - updating 10 pubkeys 2.4370 ms/op 1.4246 ms/op 1.71
updateUnfinalizedPubkeys - updating 100 pubkeys 5.3153 ms/op 3.6270 ms/op 1.47
updateUnfinalizedPubkeys - updating 1000 pubkeys 66.445 ms/op 62.567 ms/op 1.06
validate api signedAggregateAndProof - struct 1.7088 ms/op 2.9206 ms/op 0.59
validate gossip signedAggregateAndProof - struct 1.6301 ms/op 2.0658 ms/op 0.79
batch validate gossip attestation - vc 640000 - chunk 32 168.13 us/op 137.91 us/op 1.22
batch validate gossip attestation - vc 640000 - chunk 64 156.91 us/op 122.73 us/op 1.28
batch validate gossip attestation - vc 640000 - chunk 128 133.26 us/op 114.01 us/op 1.17
batch validate gossip attestation - vc 640000 - chunk 256 125.27 us/op 108.49 us/op 1.15
pickEth1Vote - no votes 1.2231 ms/op 1.0255 ms/op 1.19
pickEth1Vote - max votes 7.4056 ms/op 7.1150 ms/op 1.04
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.535 ms/op 15.159 ms/op 0.89
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 17.813 ms/op 22.728 ms/op 0.78
pickEth1Vote - Eth1Data fastSerialize value x2048 534.70 us/op 452.00 us/op 1.18
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.3890 ms/op 4.0139 ms/op 0.84
bytes32 toHexString 673.00 ns/op 434.00 ns/op 1.55
bytes32 Buffer.toString(hex) 263.00 ns/op 250.00 ns/op 1.05
bytes32 Buffer.toString(hex) from Uint8Array 489.00 ns/op 362.00 ns/op 1.35
bytes32 Buffer.toString(hex) + 0x 271.00 ns/op 254.00 ns/op 1.07
Object access 1 prop 0.18100 ns/op 0.13300 ns/op 1.36
Map access 1 prop 0.14600 ns/op 0.13100 ns/op 1.11
Object get x1000 6.2470 ns/op 6.0210 ns/op 1.04
Map get x1000 6.4080 ns/op 6.3380 ns/op 1.01
Object set x1000 35.792 ns/op 33.319 ns/op 1.07
Map set x1000 26.680 ns/op 22.099 ns/op 1.21
Return object 10000 times 0.30570 ns/op 0.28680 ns/op 1.07
Throw Error 10000 times 3.4559 us/op 3.3022 us/op 1.05
toHex 174.19 ns/op 145.89 ns/op 1.19
Buffer.from 154.92 ns/op 148.93 ns/op 1.04
shared Buffer 102.16 ns/op 87.221 ns/op 1.17
fastMsgIdFn sha256 / 200 bytes 2.3100 us/op 2.1690 us/op 1.07
fastMsgIdFn h32 xxhash / 200 bytes 267.00 ns/op 231.00 ns/op 1.16
fastMsgIdFn h64 xxhash / 200 bytes 285.00 ns/op 265.00 ns/op 1.08
fastMsgIdFn sha256 / 1000 bytes 7.7010 us/op 7.2990 us/op 1.06
fastMsgIdFn h32 xxhash / 1000 bytes 404.00 ns/op 360.00 ns/op 1.12
fastMsgIdFn h64 xxhash / 1000 bytes 355.00 ns/op 334.00 ns/op 1.06
fastMsgIdFn sha256 / 10000 bytes 65.714 us/op 64.585 us/op 1.02
fastMsgIdFn h32 xxhash / 10000 bytes 1.9440 us/op 1.8310 us/op 1.06
fastMsgIdFn h64 xxhash / 10000 bytes 1.2670 us/op 1.2120 us/op 1.05
send data - 1000 256B messages 14.003 ms/op 13.121 ms/op 1.07
send data - 1000 512B messages 17.423 ms/op 16.463 ms/op 1.06
send data - 1000 1024B messages 27.334 ms/op 28.366 ms/op 0.96
send data - 1000 1200B messages 35.111 ms/op 27.838 ms/op 1.26
send data - 1000 2048B messages 34.126 ms/op 33.181 ms/op 1.03
send data - 1000 4096B messages 33.561 ms/op 31.330 ms/op 1.07
send data - 1000 16384B messages 71.231 ms/op 71.958 ms/op 0.99
send data - 1000 65536B messages 213.49 ms/op 221.19 ms/op 0.97
enrSubnets - fastDeserialize 64 bits 1.0210 us/op 1.0810 us/op 0.94
enrSubnets - ssz BitVector 64 bits 343.00 ns/op 348.00 ns/op 0.99
enrSubnets - fastDeserialize 4 bits 142.00 ns/op 142.00 ns/op 1.00
enrSubnets - ssz BitVector 4 bits 351.00 ns/op 352.00 ns/op 1.00
prioritizePeers score -10:0 att 32-0.1 sync 2-0 148.11 us/op 159.62 us/op 0.93
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 145.66 us/op 139.29 us/op 1.05
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 287.59 us/op 229.53 us/op 1.25
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 415.45 us/op 600.01 us/op 0.69
prioritizePeers score 0:0 att 64-1 sync 4-1 819.88 us/op 857.27 us/op 0.96
array of 16000 items push then shift 1.7073 us/op 1.6195 us/op 1.05
LinkedList of 16000 items push then shift 7.6520 ns/op 7.0970 ns/op 1.08
array of 16000 items push then pop 141.98 ns/op 114.10 ns/op 1.24
LinkedList of 16000 items push then pop 7.3140 ns/op 6.9250 ns/op 1.06
array of 24000 items push then shift 2.4481 us/op 2.3825 us/op 1.03
LinkedList of 24000 items push then shift 7.3620 ns/op 6.9990 ns/op 1.05
array of 24000 items push then pop 167.29 ns/op 135.84 ns/op 1.23
LinkedList of 24000 items push then pop 7.5260 ns/op 6.8360 ns/op 1.10
intersect bitArray bitLen 8 6.4800 ns/op 6.3530 ns/op 1.02
intersect array and set length 8 54.737 ns/op 46.517 ns/op 1.18
intersect bitArray bitLen 128 30.004 ns/op 29.311 ns/op 1.02
intersect array and set length 128 948.01 ns/op 671.89 ns/op 1.41
bitArray.getTrueBitIndexes() bitLen 128 2.1980 us/op 2.5700 us/op 0.86
bitArray.getTrueBitIndexes() bitLen 248 3.8260 us/op 3.7180 us/op 1.03
bitArray.getTrueBitIndexes() bitLen 512 7.6400 us/op 8.1740 us/op 0.93
Buffer.concat 32 items 975.00 ns/op 898.00 ns/op 1.09
Uint8Array.set 32 items 1.6690 us/op 1.3780 us/op 1.21
Buffer.copy 1.8630 us/op 1.6790 us/op 1.11
Uint8Array.set - with subarray 2.8630 us/op 2.6400 us/op 1.08
Uint8Array.set - without subarray 1.7900 us/op 1.4980 us/op 1.19
getUint32 - dataview 317.00 ns/op 248.00 ns/op 1.28
getUint32 - manual 274.00 ns/op 155.00 ns/op 1.77
Set add up to 64 items then delete first 2.7816 us/op 2.2287 us/op 1.25
OrderedSet add up to 64 items then delete first 4.4530 us/op 3.2775 us/op 1.36
Set add up to 64 items then delete last 3.2540 us/op 2.5198 us/op 1.29
OrderedSet add up to 64 items then delete last 5.2469 us/op 3.7371 us/op 1.40
Set add up to 64 items then delete middle 3.3686 us/op 2.5631 us/op 1.31
OrderedSet add up to 64 items then delete middle 6.7961 us/op 5.2585 us/op 1.29
Set add up to 128 items then delete first 7.0610 us/op 5.0662 us/op 1.39
OrderedSet add up to 128 items then delete first 10.614 us/op 7.9946 us/op 1.33
Set add up to 128 items then delete last 7.5149 us/op 4.9965 us/op 1.50
OrderedSet add up to 128 items then delete last 11.427 us/op 7.3425 us/op 1.56
Set add up to 128 items then delete middle 6.6953 us/op 4.9084 us/op 1.36
OrderedSet add up to 128 items then delete middle 17.790 us/op 13.875 us/op 1.28
Set add up to 256 items then delete first 12.877 us/op 10.742 us/op 1.20
OrderedSet add up to 256 items then delete first 20.105 us/op 16.271 us/op 1.24
Set add up to 256 items then delete last 11.839 us/op 9.9144 us/op 1.19
OrderedSet add up to 256 items then delete last 19.564 us/op 14.786 us/op 1.32
Set add up to 256 items then delete middle 13.432 us/op 9.8693 us/op 1.36
OrderedSet add up to 256 items then delete middle 49.204 us/op 41.582 us/op 1.18
transfer serialized Status (84 B) 1.6120 us/op 1.3790 us/op 1.17
copy serialized Status (84 B) 1.4640 us/op 1.1390 us/op 1.29
transfer serialized SignedVoluntaryExit (112 B) 1.8160 us/op 1.4480 us/op 1.25
copy serialized SignedVoluntaryExit (112 B) 1.4710 us/op 1.1630 us/op 1.26
transfer serialized ProposerSlashing (416 B) 2.0400 us/op 1.5040 us/op 1.36
copy serialized ProposerSlashing (416 B) 2.0790 us/op 1.4370 us/op 1.45
transfer serialized Attestation (485 B) 2.2490 us/op 1.6060 us/op 1.40
copy serialized Attestation (485 B) 2.1450 us/op 1.4530 us/op 1.48
transfer serialized AttesterSlashing (33232 B) 3.2570 us/op 1.8320 us/op 1.78
copy serialized AttesterSlashing (33232 B) 9.2150 us/op 4.6940 us/op 1.96
transfer serialized Small SignedBeaconBlock (128000 B) 2.8850 us/op 2.5760 us/op 1.12
copy serialized Small SignedBeaconBlock (128000 B) 26.827 us/op 15.471 us/op 1.73
transfer serialized Avg SignedBeaconBlock (200000 B) 4.1130 us/op 3.1770 us/op 1.29
copy serialized Avg SignedBeaconBlock (200000 B) 41.682 us/op 23.055 us/op 1.81
transfer serialized BlobsSidecar (524380 B) 4.4090 us/op 2.7930 us/op 1.58
copy serialized BlobsSidecar (524380 B) 189.41 us/op 87.570 us/op 2.16
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3650 us/op 2.7740 us/op 1.21
copy serialized Big SignedBeaconBlock (1000000 B) 196.14 us/op 146.23 us/op 1.34
pass gossip attestations to forkchoice per slot 3.3192 ms/op 2.8189 ms/op 1.18
forkChoice updateHead vc 100000 bc 64 eq 0 791.05 us/op 494.87 us/op 1.60
forkChoice updateHead vc 600000 bc 64 eq 0 4.3985 ms/op 2.7596 ms/op 1.59
forkChoice updateHead vc 1000000 bc 64 eq 0 5.8886 ms/op 6.2508 ms/op 0.94
forkChoice updateHead vc 600000 bc 320 eq 0 3.7710 ms/op 2.7565 ms/op 1.37
forkChoice updateHead vc 600000 bc 1200 eq 0 3.3937 ms/op 2.8289 ms/op 1.20
forkChoice updateHead vc 600000 bc 7200 eq 0 4.5130 ms/op 3.5496 ms/op 1.27
forkChoice updateHead vc 600000 bc 64 eq 1000 10.833 ms/op 10.159 ms/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 10000 11.179 ms/op 10.276 ms/op 1.09
forkChoice updateHead vc 600000 bc 64 eq 300000 28.298 ms/op 13.353 ms/op 2.12
computeDeltas 500000 validators 300 proto nodes 5.1417 ms/op 4.0134 ms/op 1.28
computeDeltas 500000 validators 1200 proto nodes 4.7903 ms/op 4.0557 ms/op 1.18
computeDeltas 500000 validators 7200 proto nodes 4.5435 ms/op 3.9924 ms/op 1.14
computeDeltas 750000 validators 300 proto nodes 6.7567 ms/op 5.9964 ms/op 1.13
computeDeltas 750000 validators 1200 proto nodes 7.4434 ms/op 5.9374 ms/op 1.25
computeDeltas 750000 validators 7200 proto nodes 7.3717 ms/op 6.0071 ms/op 1.23
computeDeltas 1400000 validators 300 proto nodes 13.885 ms/op 11.315 ms/op 1.23
computeDeltas 1400000 validators 1200 proto nodes 17.032 ms/op 11.231 ms/op 1.52
computeDeltas 1400000 validators 7200 proto nodes 18.813 ms/op 11.052 ms/op 1.70
computeDeltas 2100000 validators 300 proto nodes 33.918 ms/op 17.513 ms/op 1.94
computeDeltas 2100000 validators 1200 proto nodes 27.336 ms/op 17.427 ms/op 1.57
computeDeltas 2100000 validators 7200 proto nodes 28.964 ms/op 17.349 ms/op 1.67
altair processAttestation - 250000 vs - 7PWei normalcase 3.9762 ms/op 1.7914 ms/op 2.22
altair processAttestation - 250000 vs - 7PWei worstcase 6.4071 ms/op 2.6506 ms/op 2.42
altair processAttestation - setStatus - 1/6 committees join 202.13 us/op 119.07 us/op 1.70
altair processAttestation - setStatus - 1/3 committees join 404.56 us/op 314.41 us/op 1.29
altair processAttestation - setStatus - 1/2 committees join 471.42 us/op 647.38 us/op 0.73
altair processAttestation - setStatus - 2/3 committees join 746.72 us/op 409.69 us/op 1.82
altair processAttestation - setStatus - 4/5 committees join 1.1408 ms/op 578.15 us/op 1.97
altair processAttestation - setStatus - 100% committees join 1.0651 ms/op 656.51 us/op 1.62
altair processBlock - 250000 vs - 7PWei normalcase 6.9669 ms/op 5.7935 ms/op 1.20
altair processBlock - 250000 vs - 7PWei normalcase hashState 33.782 ms/op 28.395 ms/op 1.19
altair processBlock - 250000 vs - 7PWei worstcase 47.346 ms/op 42.061 ms/op 1.13
altair processBlock - 250000 vs - 7PWei worstcase hashState 100.59 ms/op 82.579 ms/op 1.22
phase0 processBlock - 250000 vs - 7PWei normalcase 3.6223 ms/op 2.2153 ms/op 1.64
phase0 processBlock - 250000 vs - 7PWei worstcase 29.756 ms/op 27.230 ms/op 1.09
altair processEth1Data - 250000 vs - 7PWei normalcase 702.29 us/op 325.79 us/op 2.16
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.976 us/op 11.211 us/op 0.98
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 55.218 us/op 44.406 us/op 1.24
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 18.172 us/op 13.624 us/op 1.33
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 11.272 us/op 8.8280 us/op 1.28
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 216.78 us/op 188.31 us/op 1.15
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.4649 ms/op 2.0246 ms/op 0.72
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.9870 ms/op 1.4585 ms/op 1.36
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.5543 ms/op 2.8397 ms/op 0.90
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 7.7393 ms/op 3.4683 ms/op 2.23
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.5573 ms/op 2.2159 ms/op 1.15
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 7.9534 ms/op 3.5533 ms/op 2.24
Tree 40 250000 create 679.26 ms/op 217.81 ms/op 3.12
Tree 40 250000 get(125000) 204.75 ns/op 143.42 ns/op 1.43
Tree 40 250000 set(125000) 1.9631 us/op 588.05 ns/op 3.34
Tree 40 250000 toArray() 28.250 ms/op 14.802 ms/op 1.91
Tree 40 250000 iterate all - toArray() + loop 27.178 ms/op 15.171 ms/op 1.79
Tree 40 250000 iterate all - get(i) 71.030 ms/op 47.480 ms/op 1.50
Array 250000 create 5.1031 ms/op 2.8945 ms/op 1.76
Array 250000 clone - spread 6.1742 ms/op 1.3508 ms/op 4.57
Array 250000 get(125000) 0.61200 ns/op 0.42500 ns/op 1.44
Array 250000 set(125000) 0.61300 ns/op 0.43600 ns/op 1.41
Array 250000 iterate all - loop 139.57 us/op 95.755 us/op 1.46
phase0 afterProcessEpoch - 250000 vs - 7PWei 58.801 ms/op 49.622 ms/op 1.18
Array.fill - length 1000000 9.9002 ms/op 3.4872 ms/op 2.84
Array push - length 1000000 30.755 ms/op 16.828 ms/op 1.83
Array.get 0.39210 ns/op 0.27044 ns/op 1.45
Uint8Array.get 0.51082 ns/op 0.43505 ns/op 1.17
phase0 beforeProcessEpoch - 250000 vs - 7PWei 27.588 ms/op 17.839 ms/op 1.55
altair processEpoch - mainnet_e81889 470.22 ms/op 297.97 ms/op 1.58
mainnet_e81889 - altair beforeProcessEpoch 29.913 ms/op 18.335 ms/op 1.63
mainnet_e81889 - altair processJustificationAndFinalization 26.904 us/op 19.988 us/op 1.35
mainnet_e81889 - altair processInactivityUpdates 9.8539 ms/op 5.0530 ms/op 1.95
mainnet_e81889 - altair processRewardsAndPenalties 67.041 ms/op 64.222 ms/op 1.04
mainnet_e81889 - altair processRegistryUpdates 6.6290 us/op 2.9400 us/op 2.25
mainnet_e81889 - altair processSlashings 1.6340 us/op 659.00 ns/op 2.48
mainnet_e81889 - altair processEth1DataReset 1.2420 us/op 513.00 ns/op 2.42
mainnet_e81889 - altair processEffectiveBalanceUpdates 3.1152 ms/op 1.9235 ms/op 1.62
mainnet_e81889 - altair processSlashingsReset 8.7630 us/op 6.8690 us/op 1.28
mainnet_e81889 - altair processRandaoMixesReset 16.427 us/op 7.4850 us/op 2.19
mainnet_e81889 - altair processHistoricalRootsUpdate 1.7420 us/op 911.00 ns/op 1.91
mainnet_e81889 - altair processParticipationFlagUpdates 6.9110 us/op 3.7520 us/op 1.84
mainnet_e81889 - altair processSyncCommitteeUpdates 1.2120 us/op 722.00 ns/op 1.68
mainnet_e81889 - altair afterProcessEpoch 61.795 ms/op 50.620 ms/op 1.22
capella processEpoch - mainnet_e217614 1.2931 s/op 1.1344 s/op 1.14
mainnet_e217614 - capella beforeProcessEpoch 77.734 ms/op 61.019 ms/op 1.27
mainnet_e217614 - capella processJustificationAndFinalization 24.998 us/op 22.511 us/op 1.11
mainnet_e217614 - capella processInactivityUpdates 21.076 ms/op 15.967 ms/op 1.32
mainnet_e217614 - capella processRewardsAndPenalties 228.48 ms/op 270.00 ms/op 0.85
mainnet_e217614 - capella processRegistryUpdates 14.840 us/op 19.918 us/op 0.75
mainnet_e217614 - capella processSlashings 761.00 ns/op 732.00 ns/op 1.04
mainnet_e217614 - capella processEth1DataReset 613.00 ns/op 611.00 ns/op 1.00
mainnet_e217614 - capella processEffectiveBalanceUpdates 15.560 ms/op 5.6653 ms/op 2.75
mainnet_e217614 - capella processSlashingsReset 10.485 us/op 4.5450 us/op 2.31
mainnet_e217614 - capella processRandaoMixesReset 10.952 us/op 6.6060 us/op 1.66
mainnet_e217614 - capella processHistoricalRootsUpdate 1.1780 us/op 850.00 ns/op 1.39
mainnet_e217614 - capella processParticipationFlagUpdates 4.5050 us/op 2.9460 us/op 1.53
mainnet_e217614 - capella afterProcessEpoch 134.14 ms/op 120.15 ms/op 1.12
phase0 processEpoch - mainnet_e58758 385.26 ms/op 363.92 ms/op 1.06
mainnet_e58758 - phase0 beforeProcessEpoch 83.353 ms/op 83.096 ms/op 1.00
mainnet_e58758 - phase0 processJustificationAndFinalization 20.631 us/op 23.684 us/op 0.87
mainnet_e58758 - phase0 processRewardsAndPenalties 36.434 ms/op 47.389 ms/op 0.77
mainnet_e58758 - phase0 processRegistryUpdates 10.496 us/op 12.281 us/op 0.85
mainnet_e58758 - phase0 processSlashings 524.00 ns/op 676.00 ns/op 0.78
mainnet_e58758 - phase0 processEth1DataReset 455.00 ns/op 527.00 ns/op 0.86
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3275 ms/op 2.0810 ms/op 0.64
mainnet_e58758 - phase0 processSlashingsReset 5.3510 us/op 5.1410 us/op 1.04
mainnet_e58758 - phase0 processRandaoMixesReset 6.5400 us/op 6.3750 us/op 1.03
mainnet_e58758 - phase0 processHistoricalRootsUpdate 646.00 ns/op 531.00 ns/op 1.22
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.5590 us/op 4.6800 us/op 0.76
mainnet_e58758 - phase0 afterProcessEpoch 47.496 ms/op 42.539 ms/op 1.12
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.6974 ms/op 3.3776 ms/op 0.50
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.7565 ms/op 2.3472 ms/op 1.17
altair processInactivityUpdates - 250000 normalcase 18.287 ms/op 23.162 ms/op 0.79
altair processInactivityUpdates - 250000 worstcase 18.815 ms/op 24.159 ms/op 0.78
phase0 processRegistryUpdates - 250000 normalcase 12.920 us/op 10.383 us/op 1.24
phase0 processRegistryUpdates - 250000 badcase_full_deposits 347.93 us/op 460.18 us/op 0.76
phase0 processRegistryUpdates - 250000 worstcase 0.5 140.33 ms/op 139.75 ms/op 1.00
altair processRewardsAndPenalties - 250000 normalcase 42.943 ms/op 51.788 ms/op 0.83
altair processRewardsAndPenalties - 250000 worstcase 46.425 ms/op 48.848 ms/op 0.95
phase0 getAttestationDeltas - 250000 normalcase 11.983 ms/op 7.7934 ms/op 1.54
phase0 getAttestationDeltas - 250000 worstcase 9.4677 ms/op 7.2403 ms/op 1.31
phase0 processSlashings - 250000 worstcase 152.98 us/op 126.00 us/op 1.21
altair processSyncCommitteeUpdates - 250000 155.77 ms/op 115.66 ms/op 1.35
BeaconState.hashTreeRoot - No change 310.00 ns/op 251.00 ns/op 1.24
BeaconState.hashTreeRoot - 1 full validator 165.58 us/op 146.89 us/op 1.13
BeaconState.hashTreeRoot - 32 full validator 1.1547 ms/op 1.5020 ms/op 0.77
BeaconState.hashTreeRoot - 512 full validator 13.730 ms/op 13.068 ms/op 1.05
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 181.88 us/op 187.56 us/op 0.97
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0635 ms/op 1.6186 ms/op 1.27
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 27.221 ms/op 23.598 ms/op 1.15
BeaconState.hashTreeRoot - 1 balances 122.44 us/op 116.84 us/op 1.05
BeaconState.hashTreeRoot - 32 balances 1.1063 ms/op 1.1942 ms/op 0.93
BeaconState.hashTreeRoot - 512 balances 8.4861 ms/op 9.2271 ms/op 0.92
BeaconState.hashTreeRoot - 250000 balances 197.45 ms/op 202.80 ms/op 0.97
aggregationBits - 2048 els - zipIndexesInBitList 36.243 us/op 23.327 us/op 1.55
byteArrayEquals 32 54.805 ns/op 53.052 ns/op 1.03
Buffer.compare 32 18.127 ns/op 17.554 ns/op 1.03
byteArrayEquals 1024 1.6837 us/op 1.5679 us/op 1.07
Buffer.compare 1024 26.658 ns/op 26.176 ns/op 1.02
byteArrayEquals 16384 26.771 us/op 24.974 us/op 1.07
Buffer.compare 16384 212.17 ns/op 199.88 ns/op 1.06
byteArrayEquals 123687377 203.63 ms/op 187.99 ms/op 1.08
Buffer.compare 123687377 10.652 ms/op 6.1809 ms/op 1.72
byteArrayEquals 32 - diff last byte 56.771 ns/op 51.299 ns/op 1.11
Buffer.compare 32 - diff last byte 20.393 ns/op 17.332 ns/op 1.18
byteArrayEquals 1024 - diff last byte 1.7485 us/op 1.5502 us/op 1.13
Buffer.compare 1024 - diff last byte 28.152 ns/op 26.672 ns/op 1.06
byteArrayEquals 16384 - diff last byte 27.022 us/op 24.672 us/op 1.10
Buffer.compare 16384 - diff last byte 208.12 ns/op 199.16 ns/op 1.05
byteArrayEquals 123687377 - diff last byte 198.36 ms/op 187.82 ms/op 1.06
Buffer.compare 123687377 - diff last byte 8.4526 ms/op 6.7051 ms/op 1.26
byteArrayEquals 32 - random bytes 5.5410 ns/op 5.1590 ns/op 1.07
Buffer.compare 32 - random bytes 18.059 ns/op 18.071 ns/op 1.00
byteArrayEquals 1024 - random bytes 5.3730 ns/op 5.1550 ns/op 1.04
Buffer.compare 1024 - random bytes 17.634 ns/op 17.869 ns/op 0.99
byteArrayEquals 16384 - random bytes 5.3360 ns/op 5.0950 ns/op 1.05
Buffer.compare 16384 - random bytes 17.559 ns/op 18.745 ns/op 0.94
byteArrayEquals 123687377 - random bytes 6.5500 ns/op 6.4100 ns/op 1.02
Buffer.compare 123687377 - random bytes 18.900 ns/op 18.860 ns/op 1.00
regular array get 100000 times 33.043 us/op 32.559 us/op 1.01
wrappedArray get 100000 times 41.511 us/op 32.445 us/op 1.28
arrayWithProxy get 100000 times 13.970 ms/op 14.220 ms/op 0.98
ssz.Root.equals 45.760 ns/op 45.424 ns/op 1.01
byteArrayEquals 45.355 ns/op 44.491 ns/op 1.02
Buffer.compare 10.362 ns/op 10.171 ns/op 1.02
processSlot - 1 slots 13.866 us/op 11.831 us/op 1.17
processSlot - 32 slots 2.9298 ms/op 2.7696 ms/op 1.06
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 41.564 ms/op 39.277 ms/op 1.06
getCommitteeAssignments - req 1 vs - 250000 vc 2.2368 ms/op 2.1123 ms/op 1.06
getCommitteeAssignments - req 100 vs - 250000 vc 4.2354 ms/op 4.1146 ms/op 1.03
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5718 ms/op 4.4277 ms/op 1.03
findModifiedValidators - 10000 modified validators 473.60 ms/op 261.94 ms/op 1.81
findModifiedValidators - 1000 modified validators 691.20 ms/op 159.60 ms/op 4.33
findModifiedValidators - 100 modified validators 338.96 ms/op 152.11 ms/op 2.23
findModifiedValidators - 10 modified validators 393.82 ms/op 156.31 ms/op 2.52
findModifiedValidators - 1 modified validators 361.15 ms/op 143.64 ms/op 2.51
findModifiedValidators - no difference 406.66 ms/op 150.84 ms/op 2.70
compare ViewDUs 3.9958 s/op 3.1957 s/op 1.25
compare each validator Uint8Array 1.6145 s/op 928.71 ms/op 1.74
compare ViewDU to Uint8Array 1.0611 s/op 1.0545 s/op 1.01
migrate state 1000000 validators, 24 modified, 0 new 683.46 ms/op 655.26 ms/op 1.04
migrate state 1000000 validators, 1700 modified, 1000 new 923.81 ms/op 982.23 ms/op 0.94
migrate state 1000000 validators, 3400 modified, 2000 new 1.1779 s/op 1.1929 s/op 0.99
migrate state 1500000 validators, 24 modified, 0 new 739.88 ms/op 773.48 ms/op 0.96
migrate state 1500000 validators, 1700 modified, 1000 new 959.73 ms/op 996.45 ms/op 0.96
migrate state 1500000 validators, 3400 modified, 2000 new 1.1594 s/op 1.2524 s/op 0.93
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.4800 ns/op 4.0300 ns/op 1.11
state getBlockRootAtSlot - 250000 vs - 7PWei 455.20 ns/op 816.48 ns/op 0.56
computeProposers - vc 250000 7.1019 ms/op 6.3398 ms/op 1.12
computeEpochShuffling - vc 250000 42.348 ms/op 39.817 ms/op 1.06
getNextSyncCommittee - vc 250000 119.76 ms/op 123.20 ms/op 0.97
computeSigningRoot for AttestationData 16.881 us/op 27.111 us/op 0.62
hash AttestationData serialized data then Buffer.toString(base64) 1.5465 us/op 1.5294 us/op 1.01
toHexString serialized data 882.46 ns/op 862.93 ns/op 1.02
Buffer.toString(base64) 171.36 ns/op 183.56 ns/op 0.93
nodejs block root to RootHex using toHex 146.59 ns/op 158.96 ns/op 0.92
nodejs block root to RootHex using toRootHex 91.147 ns/op 95.524 ns/op 0.95
browser block root to RootHex using the deprecated toHexString 231.66 ns/op 233.49 ns/op 0.99
browser block root to RootHex using toHex 181.13 ns/op 177.86 ns/op 1.02
browser block root to RootHex using toRootHex 160.34 ns/op 158.27 ns/op 1.01

Please sign in to comment.