Skip to content

Commit

Permalink
docs: another review (#6879)
Browse files Browse the repository at this point in the history
  • Loading branch information
nflaig authored Jun 12, 2024
1 parent 9332216 commit 53d75e4
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 6 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@

## Getting started

- :gear: Follow the installation method for [source install](https://chainsafe.github.io/lodestar/getting-started/installation/#build-from-source), [NPM install](https://chainsafe.github.io/lodestar/getting-started/installation/#install-from-npm-not-recommended), or [Docker install](https://chainsafe.github.io/lodestar/getting-started/installation/#docker-installation) to install Lodestar. Or use our [Lodestar Quickstart scripts](https://github.com/ChainSafe/lodestar-quickstart).
- :gear: Follow the instructions for [build from source](https://chainsafe.github.io/lodestar/run/getting-started/installation#build-from-source), [binaries](https://chainsafe.github.io/lodestar/run/getting-started/installation#binaries), or [Docker](https://chainsafe.github.io/lodestar/run/getting-started/installation#docker-installation) to install Lodestar. Or use our [Lodestar Quickstart scripts](https://github.com/ChainSafe/lodestar-quickstart).
- :books: Use [Lodestar libraries](https://chainsafe.github.io/lodestar/supporting-libraries/libraries/) in your next Ethereum Typescript project.
- :globe_with_meridians: Run a beacon node on [mainnet or a public testnet](https://chainsafe.github.io/lodestar/getting-started/starting-a-node/).
- :globe_with_meridians: Run a beacon node on [mainnet or a public testnet](https://chainsafe.github.io/lodestar/run/beacon-management/starting-a-node/).
- :computer: Utilize the whole stack by [starting a local testnet](https://chainsafe.github.io/lodestar/contribution/advanced-topics/setting-up-a-testnet/).
- :spiral_notepad: View the Lodestar [CLI commands and options](https://chainsafe.github.io/lodestar/reference/cli/).
- :nerd_face: View the [Package and dependency structure](https://chainsafe.github.io/lodestar/contribution/depgraph/).
- :memo: Prospective contributors can read the [contributing section](./CONTRIBUTING.md) to understand how we develop and test on Lodestar.
- :writing_hand: If you have questions [submit an issue](https://github.com/ChainSafe/lodestar/issues/new) or join us on [Discord](https://discord.gg/yjyvFRP)!
- :writing_hand: If you have questions [submit an issue](https://github.com/ChainSafe/lodestar/issues/new/choose) or join us on [Discord](https://discord.gg/yjyvFRP)!
[![Discord](https://img.shields.io/discord/593655374469660673.svg?label=Discord&logo=discord)](https://discord.gg/aMxzVcr)
- :rotating_light: Please note our [security policy](./SECURITY.md).
- :bird: Follow Lodestar on [Twitter](https://twitter.com/lodestar_eth) for announcements and updates! [![Twitter Follow](https://img.shields.io/twitter/follow/lodestar_eth)](https://twitter.com/lodestar_eth)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Setting Up a Testnet

# Setting-Up a Testnet

To quickly test and run Lodestar we recommend starting a local testnet. We recommend a simple configuration of two beacon nodes with multiple validators
To quickly test and run Lodestar we recommend starting a local testnet. We recommend a simple configuration of two beacon nodes with multiple validators. The [dev scripts](https://github.com/ChainSafe/lodestar/tree/unstable/scripts/dev) can used for simplicity but below instructions provide more insights on how it works and include details about different configurations.

**Terminal 1**

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/faqs.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ NODE_OPTIONS: --max-old-space-size=8192
Lodestar reads all environment variables prefixed with `LODESTAR` and will try to parse
them similar to command line arguments, meaning any unknown argument will cause an error.

```
```txt
✖ Unknown arguments: servicePort, servicePortEthConsensusP2p,
port9000Tcp, port9000TcpPort, port9000TcpProto, port9000TcpAddr, serviceHost
```
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ title: Home
### Getting started

- Install [binaries](./run/getting-started/installation/#binaries), follow the installation method for [source install](./run/getting-started/installation/#build-from-source) or [Docker install](./run/getting-started/installation/#docker-installation) to install Lodestar. Or use our [Lodestar Quickstart scripts](https://github.com/ChainSafe/lodestar-quickstart).
- Follow the instructions for [build from source](./run/getting-started/installation#build-from-source), [binaries](./run/getting-started/installation#binaries), or [Docker](./run/getting-started/installation#docker-installation) to install Lodestar. Or use our [Lodestar Quickstart scripts](https://github.com/ChainSafe/lodestar-quickstart).
- Use [Lodestar libraries](./supporting-libraries/index.md) in your next Ethereum Typescript project.
- Run a beacon node on [mainnet or a public testnet](./run/beacon-management/starting-a-node.md).
- Utilize the whole stack by [starting a local testnet](./contribution/advanced-topics/setting-up-a-testnet.md).
Expand Down

1 comment on commit 53d75e4

@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: 53d75e4 Previous: 9332216 Ratio
Object set x1000 81.625 ns/op 22.453 ns/op 3.64
Buffer.compare 123687377 12.011 ms/op 3.8504 ms/op 3.12
Full benchmark results
Benchmark suite Current: 53d75e4 Previous: 9332216 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 490.42 us/op 395.28 us/op 1.24
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 53.012 us/op 43.638 us/op 1.21
BLS verify - blst-native 1.2351 ms/op 1.1815 ms/op 1.05
BLS verifyMultipleSignatures 3 - blst-native 2.5962 ms/op 2.4582 ms/op 1.06
BLS verifyMultipleSignatures 8 - blst-native 5.7779 ms/op 5.4503 ms/op 1.06
BLS verifyMultipleSignatures 32 - blst-native 21.404 ms/op 19.992 ms/op 1.07
BLS verifyMultipleSignatures 64 - blst-native 41.273 ms/op 40.066 ms/op 1.03
BLS verifyMultipleSignatures 128 - blst-native 82.040 ms/op 84.133 ms/op 0.98
BLS deserializing 10000 signatures 853.74 ms/op 799.36 ms/op 1.07
BLS deserializing 100000 signatures 8.5789 s/op 7.8887 s/op 1.09
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2437 ms/op 1.0832 ms/op 1.15
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4104 ms/op 1.2274 ms/op 1.15
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.3935 ms/op 1.9687 ms/op 1.22
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.3140 ms/op 2.9009 ms/op 1.14
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.6531 ms/op 5.0882 ms/op 1.11
BLS aggregatePubkeys 32 - blst-native 25.748 us/op 22.893 us/op 1.12
BLS aggregatePubkeys 128 - blst-native 97.959 us/op 85.646 us/op 1.14
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 63.192 ms/op 64.488 ms/op 0.98
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 50.540 ms/op 50.579 ms/op 1.00
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 33.524 ms/op 32.062 ms/op 1.05
getSlashingsAndExits - default max 117.17 us/op 119.20 us/op 0.98
getSlashingsAndExits - 2k 316.43 us/op 416.39 us/op 0.76
proposeBlockBody type=full, size=empty 6.1566 ms/op 5.2872 ms/op 1.16
isKnown best case - 1 super set check 427.00 ns/op 536.00 ns/op 0.80
isKnown normal case - 2 super set checks 369.00 ns/op 517.00 ns/op 0.71
isKnown worse case - 16 super set checks 325.00 ns/op 523.00 ns/op 0.62
InMemoryCheckpointStateCache - add get delete 5.3210 us/op 4.7920 us/op 1.11
validate api signedAggregateAndProof - struct 2.6727 ms/op 2.4027 ms/op 1.11
validate gossip signedAggregateAndProof - struct 2.6741 ms/op 2.3985 ms/op 1.11
validate gossip attestation - vc 640000 1.3327 ms/op 1.1798 ms/op 1.13
batch validate gossip attestation - vc 640000 - chunk 32 173.09 us/op 141.14 us/op 1.23
batch validate gossip attestation - vc 640000 - chunk 64 153.62 us/op 136.27 us/op 1.13
batch validate gossip attestation - vc 640000 - chunk 128 153.30 us/op 126.43 us/op 1.21
batch validate gossip attestation - vc 640000 - chunk 256 154.40 us/op 127.00 us/op 1.22
pickEth1Vote - no votes 1.2720 ms/op 1.0050 ms/op 1.27
pickEth1Vote - max votes 13.347 ms/op 7.6385 ms/op 1.75
pickEth1Vote - Eth1Data hashTreeRoot value x2048 20.128 ms/op 16.185 ms/op 1.24
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 32.675 ms/op 28.502 ms/op 1.15
pickEth1Vote - Eth1Data fastSerialize value x2048 716.91 us/op 434.54 us/op 1.65
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.8055 ms/op 8.5550 ms/op 0.80
bytes32 toHexString 890.00 ns/op 855.00 ns/op 1.04
bytes32 Buffer.toString(hex) 319.00 ns/op 477.00 ns/op 0.67
bytes32 Buffer.toString(hex) from Uint8Array 542.00 ns/op 656.00 ns/op 0.83
bytes32 Buffer.toString(hex) + 0x 312.00 ns/op 471.00 ns/op 0.66
Object access 1 prop 0.29000 ns/op 0.34100 ns/op 0.85
Map access 1 prop 0.17300 ns/op 0.34500 ns/op 0.50
Object get x1000 9.7330 ns/op 5.1910 ns/op 1.87
Map get x1000 9.7220 ns/op 6.0920 ns/op 1.60
Object set x1000 81.625 ns/op 22.453 ns/op 3.64
Map set x1000 50.162 ns/op 19.121 ns/op 2.62
Return object 10000 times 0.38100 ns/op 0.30220 ns/op 1.26
Throw Error 10000 times 3.9312 us/op 2.7122 us/op 1.45
fastMsgIdFn sha256 / 200 bytes 2.7310 us/op 1.9870 us/op 1.37
fastMsgIdFn h32 xxhash / 200 bytes 342.00 ns/op 406.00 ns/op 0.84
fastMsgIdFn h64 xxhash / 200 bytes 349.00 ns/op 455.00 ns/op 0.77
fastMsgIdFn sha256 / 1000 bytes 8.5090 us/op 6.0090 us/op 1.42
fastMsgIdFn h32 xxhash / 1000 bytes 485.00 ns/op 530.00 ns/op 0.92
fastMsgIdFn h64 xxhash / 1000 bytes 492.00 ns/op 521.00 ns/op 0.94
fastMsgIdFn sha256 / 10000 bytes 79.230 us/op 50.963 us/op 1.55
fastMsgIdFn h32 xxhash / 10000 bytes 2.0850 us/op 1.9170 us/op 1.09
fastMsgIdFn h64 xxhash / 10000 bytes 1.4720 us/op 1.3470 us/op 1.09
send data - 1000 256B messages 19.159 ms/op 10.096 ms/op 1.90
send data - 1000 512B messages 22.289 ms/op 13.343 ms/op 1.67
send data - 1000 1024B messages 34.253 ms/op 20.704 ms/op 1.65
send data - 1000 1200B messages 32.151 ms/op 23.359 ms/op 1.38
send data - 1000 2048B messages 49.480 ms/op 28.086 ms/op 1.76
send data - 1000 4096B messages 46.753 ms/op 25.008 ms/op 1.87
send data - 1000 16384B messages 184.39 ms/op 62.610 ms/op 2.95
send data - 1000 65536B messages 401.33 ms/op 252.99 ms/op 1.59
enrSubnets - fastDeserialize 64 bits 1.8300 us/op 1.1500 us/op 1.59
enrSubnets - ssz BitVector 64 bits 516.00 ns/op 537.00 ns/op 0.96
enrSubnets - fastDeserialize 4 bits 245.00 ns/op 336.00 ns/op 0.73
enrSubnets - ssz BitVector 4 bits 758.00 ns/op 546.00 ns/op 1.39
prioritizePeers score -10:0 att 32-0.1 sync 2-0 284.86 us/op 142.85 us/op 1.99
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 371.70 us/op 151.56 us/op 2.45
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 607.08 us/op 287.28 us/op 2.11
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 889.09 us/op 461.82 us/op 1.93
prioritizePeers score 0:0 att 64-1 sync 4-1 1.0813 ms/op 659.68 us/op 1.64
array of 16000 items push then shift 2.0635 us/op 1.3252 us/op 1.56
LinkedList of 16000 items push then shift 12.265 ns/op 6.5630 ns/op 1.87
array of 16000 items push then pop 168.75 ns/op 80.796 ns/op 2.09
LinkedList of 16000 items push then pop 10.844 ns/op 6.4370 ns/op 1.68
array of 24000 items push then shift 3.3512 us/op 2.0002 us/op 1.68
LinkedList of 24000 items push then shift 12.622 ns/op 6.4470 ns/op 1.96
array of 24000 items push then pop 201.61 ns/op 109.28 ns/op 1.84
LinkedList of 24000 items push then pop 9.2880 ns/op 6.5370 ns/op 1.42
intersect bitArray bitLen 8 8.5530 ns/op 5.6880 ns/op 1.50
intersect array and set length 8 77.021 ns/op 37.844 ns/op 2.04
intersect bitArray bitLen 128 40.545 ns/op 26.576 ns/op 1.53
intersect array and set length 128 978.83 ns/op 574.13 ns/op 1.70
bitArray.getTrueBitIndexes() bitLen 128 2.9450 us/op 1.6780 us/op 1.76
bitArray.getTrueBitIndexes() bitLen 248 4.3500 us/op 3.2960 us/op 1.32
bitArray.getTrueBitIndexes() bitLen 512 9.9560 us/op 7.1110 us/op 1.40
Buffer.concat 32 items 1.1590 us/op 956.00 ns/op 1.21
Uint8Array.set 32 items 1.9390 us/op 1.6950 us/op 1.14
Buffer.copy 2.4050 us/op 1.7300 us/op 1.39
Uint8Array.set - with subarray 3.7180 us/op 2.2030 us/op 1.69
Uint8Array.set - without subarray 1.9170 us/op 1.5870 us/op 1.21
Set add up to 64 items then delete first 3.2874 us/op 1.6861 us/op 1.95
OrderedSet add up to 64 items then delete first 5.0084 us/op 2.6484 us/op 1.89
Set add up to 64 items then delete last 3.5349 us/op 1.9163 us/op 1.84
OrderedSet add up to 64 items then delete last 5.2486 us/op 3.0381 us/op 1.73
Set add up to 64 items then delete middle 3.5024 us/op 1.9425 us/op 1.80
OrderedSet add up to 64 items then delete middle 7.0915 us/op 4.3641 us/op 1.62
Set add up to 128 items then delete first 7.3419 us/op 3.7397 us/op 1.96
OrderedSet add up to 128 items then delete first 11.016 us/op 5.6719 us/op 1.94
Set add up to 128 items then delete last 7.1996 us/op 3.7451 us/op 1.92
OrderedSet add up to 128 items then delete last 11.305 us/op 5.9131 us/op 1.91
Set add up to 128 items then delete middle 7.3338 us/op 3.7305 us/op 1.97
OrderedSet add up to 128 items then delete middle 19.118 us/op 11.371 us/op 1.68
Set add up to 256 items then delete first 14.850 us/op 7.4014 us/op 2.01
OrderedSet add up to 256 items then delete first 25.454 us/op 11.430 us/op 2.23
Set add up to 256 items then delete last 13.061 us/op 7.4087 us/op 1.76
OrderedSet add up to 256 items then delete last 21.587 us/op 11.836 us/op 1.82
Set add up to 256 items then delete middle 13.499 us/op 7.5888 us/op 1.78
OrderedSet add up to 256 items then delete middle 47.375 us/op 34.978 us/op 1.35
transfer serialized Status (84 B) 1.5910 us/op 1.4510 us/op 1.10
copy serialized Status (84 B) 1.4370 us/op 1.2480 us/op 1.15
transfer serialized SignedVoluntaryExit (112 B) 1.6920 us/op 1.5780 us/op 1.07
copy serialized SignedVoluntaryExit (112 B) 1.4150 us/op 1.3140 us/op 1.08
transfer serialized ProposerSlashing (416 B) 2.4280 us/op 2.0440 us/op 1.19
copy serialized ProposerSlashing (416 B) 2.3570 us/op 2.0090 us/op 1.17
transfer serialized Attestation (485 B) 2.0400 us/op 2.3350 us/op 0.87
copy serialized Attestation (485 B) 2.4250 us/op 1.8870 us/op 1.29
transfer serialized AttesterSlashing (33232 B) 2.1190 us/op 2.2850 us/op 0.93
copy serialized AttesterSlashing (33232 B) 7.6770 us/op 4.9080 us/op 1.56
transfer serialized Small SignedBeaconBlock (128000 B) 2.6800 us/op 3.0150 us/op 0.89
copy serialized Small SignedBeaconBlock (128000 B) 21.022 us/op 13.416 us/op 1.57
transfer serialized Avg SignedBeaconBlock (200000 B) 3.6200 us/op 3.4740 us/op 1.04
copy serialized Avg SignedBeaconBlock (200000 B) 34.737 us/op 19.413 us/op 1.79
transfer serialized BlobsSidecar (524380 B) 3.8940 us/op 2.7590 us/op 1.41
copy serialized BlobsSidecar (524380 B) 83.104 us/op 73.193 us/op 1.14
transfer serialized Big SignedBeaconBlock (1000000 B) 3.6830 us/op 2.7610 us/op 1.33
copy serialized Big SignedBeaconBlock (1000000 B) 186.77 us/op 134.34 us/op 1.39
pass gossip attestations to forkchoice per slot 3.2340 ms/op 2.4980 ms/op 1.29
forkChoice updateHead vc 100000 bc 64 eq 0 536.79 us/op 389.68 us/op 1.38
forkChoice updateHead vc 600000 bc 64 eq 0 3.3024 ms/op 2.4798 ms/op 1.33
forkChoice updateHead vc 1000000 bc 64 eq 0 5.8867 ms/op 4.3543 ms/op 1.35
forkChoice updateHead vc 600000 bc 320 eq 0 3.4026 ms/op 2.4680 ms/op 1.38
forkChoice updateHead vc 600000 bc 1200 eq 0 3.4218 ms/op 2.5837 ms/op 1.32
forkChoice updateHead vc 600000 bc 7200 eq 0 4.0515 ms/op 2.9806 ms/op 1.36
forkChoice updateHead vc 600000 bc 64 eq 1000 11.286 ms/op 9.8936 ms/op 1.14
forkChoice updateHead vc 600000 bc 64 eq 10000 11.433 ms/op 9.2704 ms/op 1.23
forkChoice updateHead vc 600000 bc 64 eq 300000 15.737 ms/op 12.150 ms/op 1.30
computeDeltas 500000 validators 300 proto nodes 3.8669 ms/op 2.9487 ms/op 1.31
computeDeltas 500000 validators 1200 proto nodes 3.8350 ms/op 3.0268 ms/op 1.27
computeDeltas 500000 validators 7200 proto nodes 4.0001 ms/op 3.1300 ms/op 1.28
computeDeltas 750000 validators 300 proto nodes 6.1354 ms/op 4.6172 ms/op 1.33
computeDeltas 750000 validators 1200 proto nodes 5.9087 ms/op 4.7111 ms/op 1.25
computeDeltas 750000 validators 7200 proto nodes 5.7488 ms/op 4.4987 ms/op 1.28
computeDeltas 1400000 validators 300 proto nodes 10.722 ms/op 8.3198 ms/op 1.29
computeDeltas 1400000 validators 1200 proto nodes 11.148 ms/op 8.7350 ms/op 1.28
computeDeltas 1400000 validators 7200 proto nodes 10.794 ms/op 8.1692 ms/op 1.32
computeDeltas 2100000 validators 300 proto nodes 16.773 ms/op 12.424 ms/op 1.35
computeDeltas 2100000 validators 1200 proto nodes 19.779 ms/op 12.207 ms/op 1.62
computeDeltas 2100000 validators 7200 proto nodes 21.262 ms/op 12.705 ms/op 1.67
altair processAttestation - 250000 vs - 7PWei normalcase 3.1809 ms/op 1.3732 ms/op 2.32
altair processAttestation - 250000 vs - 7PWei worstcase 4.3511 ms/op 2.0947 ms/op 2.08
altair processAttestation - setStatus - 1/6 committees join 139.12 us/op 68.445 us/op 2.03
altair processAttestation - setStatus - 1/3 committees join 235.54 us/op 134.71 us/op 1.75
altair processAttestation - setStatus - 1/2 committees join 333.10 us/op 187.82 us/op 1.77
altair processAttestation - setStatus - 2/3 committees join 413.70 us/op 252.13 us/op 1.64
altair processAttestation - setStatus - 4/5 committees join 584.35 us/op 421.61 us/op 1.39
altair processAttestation - setStatus - 100% committees join 747.04 us/op 486.16 us/op 1.54
altair processBlock - 250000 vs - 7PWei normalcase 6.9374 ms/op 3.5328 ms/op 1.96
altair processBlock - 250000 vs - 7PWei normalcase hashState 34.154 ms/op 20.970 ms/op 1.63
altair processBlock - 250000 vs - 7PWei worstcase 51.269 ms/op 42.500 ms/op 1.21
altair processBlock - 250000 vs - 7PWei worstcase hashState 113.62 ms/op 72.481 ms/op 1.57
phase0 processBlock - 250000 vs - 7PWei normalcase 3.4265 ms/op 2.4103 ms/op 1.42
phase0 processBlock - 250000 vs - 7PWei worstcase 35.839 ms/op 24.959 ms/op 1.44
altair processEth1Data - 250000 vs - 7PWei normalcase 428.91 us/op 249.28 us/op 1.72
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 8.6360 us/op 4.8830 us/op 1.77
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 32.680 us/op 20.417 us/op 1.60
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 11.891 us/op 8.1990 us/op 1.45
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.7360 us/op 6.0140 us/op 1.45
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 128.61 us/op 81.328 us/op 1.58
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 780.20 us/op 874.01 us/op 0.89
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 950.56 us/op 695.54 us/op 1.37
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 927.25 us/op 1.1297 ms/op 0.82
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.6779 ms/op 2.0026 ms/op 1.34
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.6437 ms/op 1.1732 ms/op 1.40
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.1824 ms/op 3.5027 ms/op 1.19
Tree 40 250000 create 311.83 ms/op 196.97 ms/op 1.58
Tree 40 250000 get(125000) 164.15 ns/op 125.17 ns/op 1.31
Tree 40 250000 set(125000) 710.99 ns/op 550.18 ns/op 1.29
Tree 40 250000 toArray() 24.636 ms/op 10.479 ms/op 2.35
Tree 40 250000 iterate all - toArray() + loop 23.144 ms/op 9.7734 ms/op 2.37
Tree 40 250000 iterate all - get(i) 60.900 ms/op 39.816 ms/op 1.53
MutableVector 250000 create 13.958 ms/op 8.8913 ms/op 1.57
MutableVector 250000 get(125000) 7.8850 ns/op 6.2270 ns/op 1.27
MutableVector 250000 set(125000) 250.44 ns/op 185.39 ns/op 1.35
MutableVector 250000 toArray() 5.6036 ms/op 2.6866 ms/op 2.09
MutableVector 250000 iterate all - toArray() + loop 5.6329 ms/op 2.8932 ms/op 1.95
MutableVector 250000 iterate all - get(i) 1.7915 ms/op 1.4537 ms/op 1.23
Array 250000 create 4.3919 ms/op 2.5323 ms/op 1.73
Array 250000 clone - spread 1.7345 ms/op 1.4767 ms/op 1.17
Array 250000 get(125000) 0.46100 ns/op 0.61000 ns/op 0.76
Array 250000 set(125000) 0.48500 ns/op 0.62100 ns/op 0.78
Array 250000 iterate all - loop 93.516 us/op 80.220 us/op 1.17
effectiveBalanceIncrements clone Uint8Array 300000 65.774 us/op 15.899 us/op 4.14
effectiveBalanceIncrements clone MutableVector 300000 135.00 ns/op 319.00 ns/op 0.42
effectiveBalanceIncrements rw all Uint8Array 300000 212.84 us/op 171.51 us/op 1.24
effectiveBalanceIncrements rw all MutableVector 300000 125.33 ms/op 59.078 ms/op 2.12
phase0 afterProcessEpoch - 250000 vs - 7PWei 94.698 ms/op 73.946 ms/op 1.28
phase0 beforeProcessEpoch - 250000 vs - 7PWei 64.304 ms/op 36.771 ms/op 1.75
altair processEpoch - mainnet_e81889 460.17 ms/op 356.65 ms/op 1.29
mainnet_e81889 - altair beforeProcessEpoch 79.920 ms/op 59.408 ms/op 1.35
mainnet_e81889 - altair processJustificationAndFinalization 20.959 us/op 15.270 us/op 1.37
mainnet_e81889 - altair processInactivityUpdates 11.700 ms/op 6.9995 ms/op 1.67
mainnet_e81889 - altair processRewardsAndPenalties 55.331 ms/op 52.339 ms/op 1.06
mainnet_e81889 - altair processRegistryUpdates 5.1590 us/op 3.0280 us/op 1.70
mainnet_e81889 - altair processSlashings 926.00 ns/op 1.1790 us/op 0.79
mainnet_e81889 - altair processEth1DataReset 649.00 ns/op 848.00 ns/op 0.77
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2071 ms/op 1.1044 ms/op 1.09
mainnet_e81889 - altair processSlashingsReset 4.2720 us/op 4.5460 us/op 0.94
mainnet_e81889 - altair processRandaoMixesReset 5.4070 us/op 3.7590 us/op 1.44
mainnet_e81889 - altair processHistoricalRootsUpdate 753.00 ns/op 802.00 ns/op 0.94
mainnet_e81889 - altair processParticipationFlagUpdates 2.6000 us/op 2.8100 us/op 0.93
mainnet_e81889 - altair processSyncCommitteeUpdates 500.00 ns/op 907.00 ns/op 0.55
mainnet_e81889 - altair afterProcessEpoch 95.134 ms/op 84.552 ms/op 1.13
capella processEpoch - mainnet_e217614 1.5030 s/op 1.1662 s/op 1.29
mainnet_e217614 - capella beforeProcessEpoch 328.81 ms/op 239.08 ms/op 1.38
mainnet_e217614 - capella processJustificationAndFinalization 29.077 us/op 11.562 us/op 2.51
mainnet_e217614 - capella processInactivityUpdates 30.239 ms/op 16.876 ms/op 1.79
mainnet_e217614 - capella processRewardsAndPenalties 390.15 ms/op 244.48 ms/op 1.60
mainnet_e217614 - capella processRegistryUpdates 29.935 us/op 11.122 us/op 2.69
mainnet_e217614 - capella processSlashings 1.5750 us/op 756.00 ns/op 2.08
mainnet_e217614 - capella processEth1DataReset 1.2160 us/op 717.00 ns/op 1.70
mainnet_e217614 - capella processEffectiveBalanceUpdates 16.943 ms/op 4.0027 ms/op 4.23
mainnet_e217614 - capella processSlashingsReset 4.5730 us/op 2.4230 us/op 1.89
mainnet_e217614 - capella processRandaoMixesReset 11.744 us/op 3.0920 us/op 3.80
mainnet_e217614 - capella processHistoricalRootsUpdate 1.2130 us/op 751.00 ns/op 1.62
mainnet_e217614 - capella processParticipationFlagUpdates 4.0540 us/op 4.2560 us/op 0.95
mainnet_e217614 - capella afterProcessEpoch 296.60 ms/op 210.03 ms/op 1.41
phase0 processEpoch - mainnet_e58758 419.52 ms/op 349.43 ms/op 1.20
mainnet_e58758 - phase0 beforeProcessEpoch 135.30 ms/op 114.19 ms/op 1.18
mainnet_e58758 - phase0 processJustificationAndFinalization 19.477 us/op 10.850 us/op 1.80
mainnet_e58758 - phase0 processRewardsAndPenalties 32.239 ms/op 26.206 ms/op 1.23
mainnet_e58758 - phase0 processRegistryUpdates 12.517 us/op 6.0150 us/op 2.08
mainnet_e58758 - phase0 processSlashings 615.00 ns/op 737.00 ns/op 0.83
mainnet_e58758 - phase0 processEth1DataReset 727.00 ns/op 683.00 ns/op 1.06
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0197 ms/op 1.0788 ms/op 0.95
mainnet_e58758 - phase0 processSlashingsReset 7.7860 us/op 3.1460 us/op 2.47
mainnet_e58758 - phase0 processRandaoMixesReset 4.9340 us/op 4.2170 us/op 1.17
mainnet_e58758 - phase0 processHistoricalRootsUpdate 562.00 ns/op 714.00 ns/op 0.79
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.3470 us/op 2.6540 us/op 2.39
mainnet_e58758 - phase0 afterProcessEpoch 80.319 ms/op 63.730 ms/op 1.26
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2439 ms/op 786.49 us/op 1.58
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.4975 ms/op 1.5786 ms/op 1.58
altair processInactivityUpdates - 250000 normalcase 18.669 ms/op 17.400 ms/op 1.07
altair processInactivityUpdates - 250000 worstcase 17.436 ms/op 19.057 ms/op 0.91
phase0 processRegistryUpdates - 250000 normalcase 7.2910 us/op 3.7680 us/op 1.93
phase0 processRegistryUpdates - 250000 badcase_full_deposits 302.87 us/op 301.42 us/op 1.00
phase0 processRegistryUpdates - 250000 worstcase 0.5 144.45 ms/op 109.14 ms/op 1.32
altair processRewardsAndPenalties - 250000 normalcase 44.035 ms/op 42.416 ms/op 1.04
altair processRewardsAndPenalties - 250000 worstcase 43.546 ms/op 37.567 ms/op 1.16
phase0 getAttestationDeltas - 250000 normalcase 9.6722 ms/op 5.8495 ms/op 1.65
phase0 getAttestationDeltas - 250000 worstcase 9.6665 ms/op 6.3013 ms/op 1.53
phase0 processSlashings - 250000 worstcase 124.30 us/op 85.586 us/op 1.45
altair processSyncCommitteeUpdates - 250000 138.05 ms/op 104.53 ms/op 1.32
BeaconState.hashTreeRoot - No change 406.00 ns/op 491.00 ns/op 0.83
BeaconState.hashTreeRoot - 1 full validator 126.57 us/op 106.58 us/op 1.19
BeaconState.hashTreeRoot - 32 full validator 1.4856 ms/op 1.0391 ms/op 1.43
BeaconState.hashTreeRoot - 512 full validator 13.145 ms/op 12.158 ms/op 1.08
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 214.53 us/op 150.05 us/op 1.43
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.5191 ms/op 1.7662 ms/op 1.43
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 41.689 ms/op 24.191 ms/op 1.72
BeaconState.hashTreeRoot - 1 balances 203.91 us/op 125.72 us/op 1.62
BeaconState.hashTreeRoot - 32 balances 1.9640 ms/op 1.2784 ms/op 1.54
BeaconState.hashTreeRoot - 512 balances 17.381 ms/op 11.988 ms/op 1.45
BeaconState.hashTreeRoot - 250000 balances 251.75 ms/op 171.75 ms/op 1.47
aggregationBits - 2048 els - zipIndexesInBitList 46.045 us/op 19.074 us/op 2.41
byteArrayEquals 32 62.711 ns/op 49.441 ns/op 1.27
Buffer.compare 32 51.424 ns/op 39.883 ns/op 1.29
byteArrayEquals 1024 1.7712 us/op 1.2844 us/op 1.38
Buffer.compare 1024 57.063 ns/op 43.434 ns/op 1.31
byteArrayEquals 16384 27.822 us/op 19.177 us/op 1.45
Buffer.compare 16384 330.51 ns/op 216.71 ns/op 1.53
byteArrayEquals 123687377 210.79 ms/op 151.24 ms/op 1.39
Buffer.compare 123687377 12.011 ms/op 3.8504 ms/op 3.12
byteArrayEquals 32 - diff last byte 54.621 ns/op 48.812 ns/op 1.12
Buffer.compare 32 - diff last byte 49.012 ns/op 40.229 ns/op 1.22
byteArrayEquals 1024 - diff last byte 1.6462 us/op 1.2745 us/op 1.29
Buffer.compare 1024 - diff last byte 61.346 ns/op 49.024 ns/op 1.25
byteArrayEquals 16384 - diff last byte 26.273 us/op 20.664 us/op 1.27
Buffer.compare 16384 - diff last byte 239.59 ns/op 220.44 ns/op 1.09
byteArrayEquals 123687377 - diff last byte 241.76 ms/op 149.72 ms/op 1.61
Buffer.compare 123687377 - diff last byte 8.8736 ms/op 4.1089 ms/op 2.16
byteArrayEquals 32 - random bytes 5.4750 ns/op 4.9380 ns/op 1.11
Buffer.compare 32 - random bytes 49.063 ns/op 43.145 ns/op 1.14
byteArrayEquals 1024 - random bytes 5.2960 ns/op 4.9310 ns/op 1.07
Buffer.compare 1024 - random bytes 47.352 ns/op 39.813 ns/op 1.19
byteArrayEquals 16384 - random bytes 5.2930 ns/op 4.9150 ns/op 1.08
Buffer.compare 16384 - random bytes 47.048 ns/op 39.593 ns/op 1.19
byteArrayEquals 123687377 - random bytes 6.6600 ns/op 7.8700 ns/op 0.85
Buffer.compare 123687377 - random bytes 48.730 ns/op 45.380 ns/op 1.07
regular array get 100000 times 33.542 us/op 31.174 us/op 1.08
wrappedArray get 100000 times 33.675 us/op 31.146 us/op 1.08
arrayWithProxy get 100000 times 13.221 ms/op 9.3256 ms/op 1.42
ssz.Root.equals 47.507 ns/op 38.297 ns/op 1.24
byteArrayEquals 46.394 ns/op 42.150 ns/op 1.10
Buffer.compare 10.942 ns/op 9.4100 ns/op 1.16
shuffle list - 16384 els 6.6307 ms/op 5.6375 ms/op 1.18
shuffle list - 250000 els 94.521 ms/op 83.733 ms/op 1.13
processSlot - 1 slots 11.711 us/op 12.813 us/op 0.91
processSlot - 32 slots 2.2827 ms/op 2.2860 ms/op 1.00
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.966 ms/op 38.494 ms/op 0.96
getCommitteeAssignments - req 1 vs - 250000 vc 2.1859 ms/op 1.7370 ms/op 1.26
getCommitteeAssignments - req 100 vs - 250000 vc 4.2152 ms/op 3.5448 ms/op 1.19
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5444 ms/op 3.8300 ms/op 1.19
findModifiedValidators - 10000 modified validators 309.25 ms/op 233.02 ms/op 1.33
findModifiedValidators - 1000 modified validators 272.88 ms/op 157.93 ms/op 1.73
findModifiedValidators - 100 modified validators 258.10 ms/op 148.04 ms/op 1.74
findModifiedValidators - 10 modified validators 270.78 ms/op 151.80 ms/op 1.78
findModifiedValidators - 1 modified validators 241.08 ms/op 134.83 ms/op 1.79
findModifiedValidators - no difference 212.75 ms/op 134.45 ms/op 1.58
compare ViewDUs 3.2819 s/op 3.0242 s/op 1.09
compare each validator Uint8Array 1.7415 s/op 1.1728 s/op 1.48
compare ViewDU to Uint8Array 1.4206 s/op 787.53 ms/op 1.80
migrate state 1000000 validators, 24 modified, 0 new 702.14 ms/op 544.09 ms/op 1.29
migrate state 1000000 validators, 1700 modified, 1000 new 998.54 ms/op 747.34 ms/op 1.34
migrate state 1000000 validators, 3400 modified, 2000 new 1.4547 s/op 1.0147 s/op 1.43
migrate state 1500000 validators, 24 modified, 0 new 781.76 ms/op 565.87 ms/op 1.38
migrate state 1500000 validators, 1700 modified, 1000 new 953.90 ms/op 766.84 ms/op 1.24
migrate state 1500000 validators, 3400 modified, 2000 new 1.0483 s/op 1.0520 s/op 1.00
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.4300 ns/op 6.9500 ns/op 0.64
state getBlockRootAtSlot - 250000 vs - 7PWei 574.51 ns/op 783.56 ns/op 0.73
computeProposers - vc 250000 7.7954 ms/op 5.9992 ms/op 1.30
computeEpochShuffling - vc 250000 93.088 ms/op 88.044 ms/op 1.06
getNextSyncCommittee - vc 250000 138.13 ms/op 116.03 ms/op 1.19
computeSigningRoot for AttestationData 18.883 us/op 26.055 us/op 0.72
hash AttestationData serialized data then Buffer.toString(base64) 1.5039 us/op 1.2880 us/op 1.17
toHexString serialized data 887.46 ns/op 815.01 ns/op 1.09
Buffer.toString(base64) 164.22 ns/op 142.88 ns/op 1.15

Please sign in to comment.