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

docs: update docsgen scripting and add new docs content #6134

Merged
merged 50 commits into from
Dec 12, 2023

Conversation

matthewkeil
Copy link
Member

@matthewkeil matthewkeil commented Nov 28, 2023

Motivation

Adds to, and updates, existing docs site. Part of #5961 resolution. More to be added but this PR is getting pretty big as-is.

Description

Includes a bunch of new documentation content and also updates how the auto-generated documentation is rendered from the cli package.

Steps to start docs site locally

yarn build
yarn build:docs
cd docs
pip install --user -r requirements.txt
mkdocs serve -w pages

Navigate via browser to http://127.0.0.1:8000/lodestar/

@matthewkeil matthewkeil marked this pull request as ready for review November 28, 2023 07:10
@matthewkeil matthewkeil requested a review from a team as a code owner November 28, 2023 07:10
Copy link
Contributor

github-actions bot commented Nov 28, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 8821a89 Previous: 1a63b07 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 701.40 us/op 705.26 us/op 0.99
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 94.094 us/op 80.296 us/op 1.17
BLS verify - blst-native 1.2894 ms/op 1.2769 ms/op 1.01
BLS verifyMultipleSignatures 3 - blst-native 2.6983 ms/op 2.6805 ms/op 1.01
BLS verifyMultipleSignatures 8 - blst-native 5.8246 ms/op 5.8815 ms/op 0.99
BLS verifyMultipleSignatures 32 - blst-native 21.314 ms/op 21.500 ms/op 0.99
BLS verifyMultipleSignatures 64 - blst-native 41.978 ms/op 42.046 ms/op 1.00
BLS verifyMultipleSignatures 128 - blst-native 83.409 ms/op 82.257 ms/op 1.01
BLS deserializing 10000 signatures 898.07 ms/op 887.56 ms/op 1.01
BLS deserializing 100000 signatures 9.2184 s/op 9.2907 s/op 0.99
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2557 ms/op 1.3084 ms/op 0.96
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4211 ms/op 1.4762 ms/op 0.96
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.1881 ms/op 2.8441 ms/op 0.77
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.6073 ms/op 4.2120 ms/op 1.09
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.4076 ms/op 7.0902 ms/op 0.76
BLS aggregatePubkeys 32 - blst-native 24.682 us/op 27.094 us/op 0.91
BLS aggregatePubkeys 128 - blst-native 97.084 us/op 99.287 us/op 0.98
getAttestationsForBlock 46.938 ms/op 47.933 ms/op 0.98
getSlashingsAndExits - default max 190.78 us/op 156.92 us/op 1.22
getSlashingsAndExits - 2k 492.50 us/op 411.99 us/op 1.20
proposeBlockBody type=full, size=empty 5.4443 ms/op 5.2402 ms/op 1.04
isKnown best case - 1 super set check 296.00 ns/op 330.00 ns/op 0.90
isKnown normal case - 2 super set checks 288.00 ns/op 332.00 ns/op 0.87
isKnown worse case - 16 super set checks 279.00 ns/op 314.00 ns/op 0.89
CheckpointStateCache - add get delete 4.8910 us/op 5.8110 us/op 0.84
validate api signedAggregateAndProof - struct 2.7737 ms/op 2.8189 ms/op 0.98
validate gossip signedAggregateAndProof - struct 2.6915 ms/op 2.8282 ms/op 0.95
validate gossip attestation - vc 640000 1.3237 ms/op 1.3438 ms/op 0.99
batch validate gossip attestation - vc 640000 - chunk 32 158.23 us/op 165.68 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 64 137.82 us/op 145.94 us/op 0.94
batch validate gossip attestation - vc 640000 - chunk 128 134.69 us/op 136.93 us/op 0.98
batch validate gossip attestation - vc 640000 - chunk 256 128.85 us/op 135.84 us/op 0.95
pickEth1Vote - no votes 1.2512 ms/op 1.3503 ms/op 0.93
pickEth1Vote - max votes 11.436 ms/op 10.644 ms/op 1.07
pickEth1Vote - Eth1Data hashTreeRoot value x2048 22.400 ms/op 19.598 ms/op 1.14
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 30.226 ms/op 31.291 ms/op 0.97
pickEth1Vote - Eth1Data fastSerialize value x2048 602.31 us/op 661.02 us/op 0.91
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.0555 ms/op 8.2197 ms/op 0.98
bytes32 toHexString 540.00 ns/op 607.00 ns/op 0.89
bytes32 Buffer.toString(hex) 273.00 ns/op 292.00 ns/op 0.93
bytes32 Buffer.toString(hex) from Uint8Array 415.00 ns/op 522.00 ns/op 0.80
bytes32 Buffer.toString(hex) + 0x 284.00 ns/op 287.00 ns/op 0.99
Object access 1 prop 0.14800 ns/op 0.17500 ns/op 0.85
Map access 1 prop 0.13600 ns/op 0.14500 ns/op 0.94
Object get x1000 7.0310 ns/op 7.7420 ns/op 0.91
Map get x1000 0.74400 ns/op 0.87300 ns/op 0.85
Object set x1000 49.793 ns/op 64.407 ns/op 0.77
Map set x1000 38.909 ns/op 44.148 ns/op 0.88
Return object 10000 times 0.23550 ns/op 0.24700 ns/op 0.95
Throw Error 10000 times 3.8441 us/op 3.9578 us/op 0.97
fastMsgIdFn sha256 / 200 bytes 3.2570 us/op 3.3680 us/op 0.97
fastMsgIdFn h32 xxhash / 200 bytes 268.00 ns/op 310.00 ns/op 0.86
fastMsgIdFn h64 xxhash / 200 bytes 340.00 ns/op 352.00 ns/op 0.97
fastMsgIdFn sha256 / 1000 bytes 11.202 us/op 11.554 us/op 0.97
fastMsgIdFn h32 xxhash / 1000 bytes 395.00 ns/op 457.00 ns/op 0.86
fastMsgIdFn h64 xxhash / 1000 bytes 415.00 ns/op 453.00 ns/op 0.92
fastMsgIdFn sha256 / 10000 bytes 102.95 us/op 103.33 us/op 1.00
fastMsgIdFn h32 xxhash / 10000 bytes 1.8890 us/op 1.9960 us/op 0.95
fastMsgIdFn h64 xxhash / 10000 bytes 1.2980 us/op 1.3950 us/op 0.93
send data - 1000 256B messages 18.508 ms/op 21.173 ms/op 0.87
send data - 1000 512B messages 26.475 ms/op 27.873 ms/op 0.95
send data - 1000 1024B messages 39.907 ms/op 44.261 ms/op 0.90
send data - 1000 1200B messages 38.366 ms/op 26.083 ms/op 1.47
send data - 1000 2048B messages 44.362 ms/op 44.533 ms/op 1.00
send data - 1000 4096B messages 44.607 ms/op 46.062 ms/op 0.97
send data - 1000 16384B messages 117.63 ms/op 118.58 ms/op 0.99
send data - 1000 65536B messages 531.46 ms/op 497.78 ms/op 1.07
enrSubnets - fastDeserialize 64 bits 1.5890 us/op 1.5430 us/op 1.03
enrSubnets - ssz BitVector 64 bits 466.00 ns/op 555.00 ns/op 0.84
enrSubnets - fastDeserialize 4 bits 183.00 ns/op 226.00 ns/op 0.81
enrSubnets - ssz BitVector 4 bits 454.00 ns/op 487.00 ns/op 0.93
prioritizePeers score -10:0 att 32-0.1 sync 2-0 117.32 us/op 113.96 us/op 1.03
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 138.89 us/op 150.95 us/op 0.92
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 180.93 us/op 204.94 us/op 0.88
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 324.32 us/op 333.26 us/op 0.97
prioritizePeers score 0:0 att 64-1 sync 4-1 352.66 us/op 396.70 us/op 0.89
array of 16000 items push then shift 1.6840 us/op 1.6822 us/op 1.00
LinkedList of 16000 items push then shift 9.1150 ns/op 9.2890 ns/op 0.98
array of 16000 items push then pop 91.938 ns/op 116.09 ns/op 0.79
LinkedList of 16000 items push then pop 8.8330 ns/op 9.0510 ns/op 0.98
array of 24000 items push then shift 2.5053 us/op 2.6712 us/op 0.94
LinkedList of 24000 items push then shift 9.2350 ns/op 9.8420 ns/op 0.94
array of 24000 items push then pop 135.52 ns/op 156.44 ns/op 0.87
LinkedList of 24000 items push then pop 8.8210 ns/op 8.9950 ns/op 0.98
intersect bitArray bitLen 8 6.4900 ns/op 6.6110 ns/op 0.98
intersect array and set length 8 64.543 ns/op 75.088 ns/op 0.86
intersect bitArray bitLen 128 34.359 ns/op 35.402 ns/op 0.97
intersect array and set length 128 887.73 ns/op 1.0401 us/op 0.85
bitArray.getTrueBitIndexes() bitLen 128 1.5130 us/op 1.7030 us/op 0.89
bitArray.getTrueBitIndexes() bitLen 248 2.5670 us/op 3.0510 us/op 0.84
bitArray.getTrueBitIndexes() bitLen 512 5.0410 us/op 5.9500 us/op 0.85
Buffer.concat 32 items 960.00 ns/op 1.0170 us/op 0.94
Uint8Array.set 32 items 1.6530 us/op 1.9430 us/op 0.85
Set add up to 64 items then delete first 4.3868 us/op 4.9074 us/op 0.89
OrderedSet add up to 64 items then delete first 5.5335 us/op 6.3182 us/op 0.88
Set add up to 64 items then delete last 5.0497 us/op 5.3090 us/op 0.95
OrderedSet add up to 64 items then delete last 5.8149 us/op 6.5877 us/op 0.88
Set add up to 64 items then delete middle 4.5815 us/op 5.1189 us/op 0.90
OrderedSet add up to 64 items then delete middle 7.2996 us/op 8.3508 us/op 0.87
Set add up to 128 items then delete first 9.7018 us/op 10.421 us/op 0.93
OrderedSet add up to 128 items then delete first 12.555 us/op 13.180 us/op 0.95
Set add up to 128 items then delete last 9.1120 us/op 9.6488 us/op 0.94
OrderedSet add up to 128 items then delete last 11.431 us/op 13.117 us/op 0.87
Set add up to 128 items then delete middle 9.2286 us/op 9.8906 us/op 0.93
OrderedSet add up to 128 items then delete middle 16.966 us/op 18.320 us/op 0.93
Set add up to 256 items then delete first 18.325 us/op 20.655 us/op 0.89
OrderedSet add up to 256 items then delete first 24.567 us/op 28.353 us/op 0.87
Set add up to 256 items then delete last 17.594 us/op 20.094 us/op 0.88
OrderedSet add up to 256 items then delete last 22.670 us/op 25.900 us/op 0.88
Set add up to 256 items then delete middle 18.466 us/op 19.872 us/op 0.93
OrderedSet add up to 256 items then delete middle 44.993 us/op 50.159 us/op 0.90
transfer serialized Status (84 B) 1.8670 us/op 1.9230 us/op 0.97
copy serialized Status (84 B) 1.6090 us/op 1.6160 us/op 1.00
transfer serialized SignedVoluntaryExit (112 B) 2.1490 us/op 2.1410 us/op 1.00
copy serialized SignedVoluntaryExit (112 B) 1.7500 us/op 1.7080 us/op 1.02
transfer serialized ProposerSlashing (416 B) 2.6040 us/op 2.4210 us/op 1.08
copy serialized ProposerSlashing (416 B) 2.4730 us/op 2.5080 us/op 0.99
transfer serialized Attestation (485 B) 3.1030 us/op 2.3340 us/op 1.33
copy serialized Attestation (485 B) 2.7460 us/op 2.4190 us/op 1.14
transfer serialized AttesterSlashing (33232 B) 2.9430 us/op 2.4280 us/op 1.21
copy serialized AttesterSlashing (33232 B) 6.4360 us/op 7.9560 us/op 0.81
transfer serialized Small SignedBeaconBlock (128000 B) 2.8410 us/op 2.6460 us/op 1.07
copy serialized Small SignedBeaconBlock (128000 B) 14.729 us/op 18.583 us/op 0.79
transfer serialized Avg SignedBeaconBlock (200000 B) 2.6800 us/op 3.2140 us/op 0.83
copy serialized Avg SignedBeaconBlock (200000 B) 22.575 us/op 25.436 us/op 0.89
transfer serialized BlobsSidecar (524380 B) 3.0340 us/op 3.0810 us/op 0.98
copy serialized BlobsSidecar (524380 B) 82.214 us/op 94.144 us/op 0.87
transfer serialized Big SignedBeaconBlock (1000000 B) 2.7660 us/op 3.1460 us/op 0.88
copy serialized Big SignedBeaconBlock (1000000 B) 194.93 us/op 213.73 us/op 0.91
pass gossip attestations to forkchoice per slot 4.4578 ms/op 4.4584 ms/op 1.00
forkChoice updateHead vc 100000 bc 64 eq 0 711.73 us/op 689.58 us/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 0 4.4696 ms/op 4.8198 ms/op 0.93
forkChoice updateHead vc 1000000 bc 64 eq 0 7.0842 ms/op 7.7114 ms/op 0.92
forkChoice updateHead vc 600000 bc 320 eq 0 4.2701 ms/op 4.3627 ms/op 0.98
forkChoice updateHead vc 600000 bc 1200 eq 0 4.4290 ms/op 4.4761 ms/op 0.99
forkChoice updateHead vc 600000 bc 7200 eq 0 5.4600 ms/op 5.4940 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 1000 11.567 ms/op 11.313 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 10000 12.182 ms/op 11.923 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 300000 16.239 ms/op 16.270 ms/op 1.00
computeDeltas 500000 validators 300 proto nodes 6.6748 ms/op 6.6111 ms/op 1.01
computeDeltas 500000 validators 1200 proto nodes 6.5529 ms/op 6.4994 ms/op 1.01
computeDeltas 500000 validators 7200 proto nodes 6.4374 ms/op 6.3751 ms/op 1.01
computeDeltas 750000 validators 300 proto nodes 9.8987 ms/op 9.3607 ms/op 1.06
computeDeltas 750000 validators 1200 proto nodes 9.7460 ms/op 9.5787 ms/op 1.02
computeDeltas 750000 validators 7200 proto nodes 9.7856 ms/op 9.4139 ms/op 1.04
computeDeltas 1400000 validators 300 proto nodes 18.902 ms/op 18.447 ms/op 1.02
computeDeltas 1400000 validators 1200 proto nodes 18.416 ms/op 18.211 ms/op 1.01
computeDeltas 1400000 validators 7200 proto nodes 19.248 ms/op 17.721 ms/op 1.09
computeDeltas 2100000 validators 300 proto nodes 27.564 ms/op 26.997 ms/op 1.02
computeDeltas 2100000 validators 1200 proto nodes 28.211 ms/op 27.313 ms/op 1.03
computeDeltas 2100000 validators 7200 proto nodes 27.498 ms/op 27.255 ms/op 1.01
computeProposerBoostScoreFromBalances 500000 validators 3.6092 ms/op 3.6555 ms/op 0.99
computeProposerBoostScoreFromBalances 750000 validators 3.6537 ms/op 3.6444 ms/op 1.00
computeProposerBoostScoreFromBalances 1400000 validators 3.6986 ms/op 3.6390 ms/op 1.02
computeProposerBoostScoreFromBalances 2100000 validators 3.7567 ms/op 3.6498 ms/op 1.03
altair processAttestation - 250000 vs - 7PWei normalcase 2.3226 ms/op 2.1299 ms/op 1.09
altair processAttestation - 250000 vs - 7PWei worstcase 3.2588 ms/op 3.1577 ms/op 1.03
altair processAttestation - setStatus - 1/6 committees join 139.60 us/op 140.74 us/op 0.99
altair processAttestation - setStatus - 1/3 committees join 279.97 us/op 266.90 us/op 1.05
altair processAttestation - setStatus - 1/2 committees join 383.88 us/op 375.58 us/op 1.02
altair processAttestation - setStatus - 2/3 committees join 474.64 us/op 472.97 us/op 1.00
altair processAttestation - setStatus - 4/5 committees join 661.57 us/op 635.47 us/op 1.04
altair processAttestation - setStatus - 100% committees join 783.42 us/op 742.03 us/op 1.06
altair processBlock - 250000 vs - 7PWei normalcase 10.535 ms/op 10.134 ms/op 1.04
altair processBlock - 250000 vs - 7PWei normalcase hashState 38.501 ms/op 35.428 ms/op 1.09
altair processBlock - 250000 vs - 7PWei worstcase 39.469 ms/op 39.706 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase hashState 93.554 ms/op 98.930 ms/op 0.95
phase0 processBlock - 250000 vs - 7PWei normalcase 2.8845 ms/op 3.0355 ms/op 0.95
phase0 processBlock - 250000 vs - 7PWei worstcase 30.990 ms/op 32.671 ms/op 0.95
altair processEth1Data - 250000 vs - 7PWei normalcase 502.84 us/op 601.44 us/op 0.84
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.2320 us/op 17.455 us/op 0.41
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 84.956 us/op 51.808 us/op 1.64
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 26.686 us/op 32.307 us/op 0.83
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 14.788 us/op 11.112 us/op 1.33
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 205.86 us/op 160.16 us/op 1.29
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.0923 ms/op 2.1421 ms/op 0.98
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.6202 ms/op 3.0487 ms/op 0.86
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.2453 ms/op 1.4242 ms/op 1.58
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.6053 ms/op 3.2880 ms/op 1.10
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.5652 ms/op 2.2136 ms/op 1.61
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.7490 ms/op 4.6304 ms/op 1.03
Tree 40 250000 create 387.93 ms/op 364.23 ms/op 1.07
Tree 40 250000 get(125000) 188.46 ns/op 186.40 ns/op 1.01
Tree 40 250000 set(125000) 943.39 ns/op 943.75 ns/op 1.00
Tree 40 250000 toArray() 17.892 ms/op 17.897 ms/op 1.00
Tree 40 250000 iterate all - toArray() + loop 18.014 ms/op 17.938 ms/op 1.00
Tree 40 250000 iterate all - get(i) 63.413 ms/op 62.427 ms/op 1.02
MutableVector 250000 create 16.047 ms/op 22.116 ms/op 0.73
MutableVector 250000 get(125000) 6.2900 ns/op 6.4160 ns/op 0.98
MutableVector 250000 set(125000) 265.97 ns/op 248.44 ns/op 1.07
MutableVector 250000 toArray() 3.9653 ms/op 3.1698 ms/op 1.25
MutableVector 250000 iterate all - toArray() + loop 3.1850 ms/op 3.2537 ms/op 0.98
MutableVector 250000 iterate all - get(i) 1.4999 ms/op 1.5067 ms/op 1.00
Array 250000 create 2.7913 ms/op 2.8638 ms/op 0.97
Array 250000 clone - spread 1.2049 ms/op 1.2545 ms/op 0.96
Array 250000 get(125000) 1.0010 ns/op 1.0220 ns/op 0.98
Array 250000 set(125000) 4.0080 ns/op 4.0510 ns/op 0.99
Array 250000 iterate all - loop 162.37 us/op 162.87 us/op 1.00
effectiveBalanceIncrements clone Uint8Array 300000 25.281 us/op 27.373 us/op 0.92
effectiveBalanceIncrements clone MutableVector 300000 343.00 ns/op 363.00 ns/op 0.94
effectiveBalanceIncrements rw all Uint8Array 300000 198.17 us/op 203.93 us/op 0.97
effectiveBalanceIncrements rw all MutableVector 300000 81.253 ms/op 84.385 ms/op 0.96
phase0 afterProcessEpoch - 250000 vs - 7PWei 110.08 ms/op 110.80 ms/op 0.99
phase0 beforeProcessEpoch - 250000 vs - 7PWei 53.418 ms/op 52.841 ms/op 1.01
altair processEpoch - mainnet_e81889 594.99 ms/op 545.16 ms/op 1.09
mainnet_e81889 - altair beforeProcessEpoch 84.040 ms/op 83.259 ms/op 1.01
mainnet_e81889 - altair processJustificationAndFinalization 14.126 us/op 23.248 us/op 0.61
mainnet_e81889 - altair processInactivityUpdates 6.0901 ms/op 5.9393 ms/op 1.03
mainnet_e81889 - altair processRewardsAndPenalties 62.195 ms/op 74.589 ms/op 0.83
mainnet_e81889 - altair processRegistryUpdates 4.0130 us/op 4.0710 us/op 0.99
mainnet_e81889 - altair processSlashings 731.00 ns/op 731.00 ns/op 1.00
mainnet_e81889 - altair processEth1DataReset 709.00 ns/op 823.00 ns/op 0.86
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.6463 ms/op 2.6627 ms/op 0.99
mainnet_e81889 - altair processSlashingsReset 5.8280 us/op 6.1240 us/op 0.95
mainnet_e81889 - altair processRandaoMixesReset 6.3150 us/op 6.5120 us/op 0.97
mainnet_e81889 - altair processHistoricalRootsUpdate 1.1170 us/op 852.00 ns/op 1.31
mainnet_e81889 - altair processParticipationFlagUpdates 2.5370 us/op 2.4310 us/op 1.04
mainnet_e81889 - altair processSyncCommitteeUpdates 664.00 ns/op 1.2800 us/op 0.52
mainnet_e81889 - altair afterProcessEpoch 115.30 ms/op 110.86 ms/op 1.04
capella processEpoch - mainnet_e217614 2.4614 s/op 2.3166 s/op 1.06
mainnet_e217614 - capella beforeProcessEpoch 517.86 ms/op 519.01 ms/op 1.00
mainnet_e217614 - capella processJustificationAndFinalization 23.270 us/op 32.724 us/op 0.71
mainnet_e217614 - capella processInactivityUpdates 16.923 ms/op 19.316 ms/op 0.88
mainnet_e217614 - capella processRewardsAndPenalties 456.88 ms/op 440.06 ms/op 1.04
mainnet_e217614 - capella processRegistryUpdates 24.956 us/op 30.253 us/op 0.82
mainnet_e217614 - capella processSlashings 868.00 ns/op 876.00 ns/op 0.99
mainnet_e217614 - capella processEth1DataReset 694.00 ns/op 579.00 ns/op 1.20
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.2762 ms/op 5.9412 ms/op 0.72
mainnet_e217614 - capella processSlashingsReset 5.4180 us/op 3.8290 us/op 1.41
mainnet_e217614 - capella processRandaoMixesReset 7.2080 us/op 7.6420 us/op 0.94
mainnet_e217614 - capella processHistoricalRootsUpdate 860.00 ns/op 923.00 ns/op 0.93
mainnet_e217614 - capella processParticipationFlagUpdates 2.0950 us/op 2.0810 us/op 1.01
mainnet_e217614 - capella afterProcessEpoch 293.88 ms/op 295.98 ms/op 0.99
phase0 processEpoch - mainnet_e58758 518.20 ms/op 478.86 ms/op 1.08
mainnet_e58758 - phase0 beforeProcessEpoch 157.10 ms/op 143.59 ms/op 1.09
mainnet_e58758 - phase0 processJustificationAndFinalization 22.715 us/op 24.689 us/op 0.92
mainnet_e58758 - phase0 processRewardsAndPenalties 69.261 ms/op 70.686 ms/op 0.98
mainnet_e58758 - phase0 processRegistryUpdates 15.129 us/op 15.004 us/op 1.01
mainnet_e58758 - phase0 processSlashings 687.00 ns/op 829.00 ns/op 0.83
mainnet_e58758 - phase0 processEth1DataReset 644.00 ns/op 666.00 ns/op 0.97
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.1396 ms/op 2.1747 ms/op 0.98
mainnet_e58758 - phase0 processSlashingsReset 4.1040 us/op 4.9860 us/op 0.82
mainnet_e58758 - phase0 processRandaoMixesReset 5.9290 us/op 6.3450 us/op 0.93
mainnet_e58758 - phase0 processHistoricalRootsUpdate 826.00 ns/op 616.00 ns/op 1.34
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.9380 us/op 6.0050 us/op 0.99
mainnet_e58758 - phase0 afterProcessEpoch 94.487 ms/op 92.889 ms/op 1.02
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3587 ms/op 1.2873 ms/op 1.06
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.3844 ms/op 1.3921 ms/op 0.99
altair processInactivityUpdates - 250000 normalcase 38.227 ms/op 34.907 ms/op 1.10
altair processInactivityUpdates - 250000 worstcase 31.908 ms/op 27.704 ms/op 1.15
phase0 processRegistryUpdates - 250000 normalcase 13.288 us/op 11.892 us/op 1.12
phase0 processRegistryUpdates - 250000 badcase_full_deposits 591.11 us/op 602.58 us/op 0.98
phase0 processRegistryUpdates - 250000 worstcase 0.5 135.33 ms/op 137.65 ms/op 0.98
altair processRewardsAndPenalties - 250000 normalcase 74.507 ms/op 72.976 ms/op 1.02
altair processRewardsAndPenalties - 250000 worstcase 71.322 ms/op 65.859 ms/op 1.08
phase0 getAttestationDeltas - 250000 normalcase 8.6355 ms/op 8.8511 ms/op 0.98
phase0 getAttestationDeltas - 250000 worstcase 8.8626 ms/op 8.7969 ms/op 1.01
phase0 processSlashings - 250000 worstcase 128.33 us/op 130.07 us/op 0.99
altair processSyncCommitteeUpdates - 250000 152.94 ms/op 149.69 ms/op 1.02
BeaconState.hashTreeRoot - No change 263.00 ns/op 252.00 ns/op 1.04
BeaconState.hashTreeRoot - 1 full validator 181.68 us/op 156.93 us/op 1.16
BeaconState.hashTreeRoot - 32 full validator 1.7321 ms/op 1.9666 ms/op 0.88
BeaconState.hashTreeRoot - 512 full validator 19.102 ms/op 19.948 ms/op 0.96
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 218.79 us/op 228.43 us/op 0.96
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0890 ms/op 2.6870 ms/op 0.78
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 29.217 ms/op 29.736 ms/op 0.98
BeaconState.hashTreeRoot - 1 balances 155.13 us/op 168.57 us/op 0.92
BeaconState.hashTreeRoot - 32 balances 1.3244 ms/op 1.4000 ms/op 0.95
BeaconState.hashTreeRoot - 512 balances 15.281 ms/op 13.831 ms/op 1.10
BeaconState.hashTreeRoot - 250000 balances 244.44 ms/op 244.61 ms/op 1.00
aggregationBits - 2048 els - zipIndexesInBitList 15.948 us/op 17.054 us/op 0.94
byteArrayEquals 32 73.922 ns/op 72.131 ns/op 1.02
Buffer.compare 32 55.116 ns/op 54.595 ns/op 1.01
byteArrayEquals 1024 2.0171 us/op 2.0156 us/op 1.00
Buffer.compare 1024 69.425 ns/op 71.230 ns/op 0.97
byteArrayEquals 16384 32.158 us/op 32.080 us/op 1.00
Buffer.compare 16384 258.65 ns/op 261.83 ns/op 0.99
byteArrayEquals 123687377 241.58 ms/op 237.45 ms/op 1.02
Buffer.compare 123687377 6.2033 ms/op 6.0809 ms/op 1.02
byteArrayEquals 32 - diff last byte 70.721 ns/op 71.015 ns/op 1.00
Buffer.compare 32 - diff last byte 56.024 ns/op 60.076 ns/op 0.93
byteArrayEquals 1024 - diff last byte 2.0066 us/op 1.9722 us/op 1.02
Buffer.compare 1024 - diff last byte 71.452 ns/op 70.086 ns/op 1.02
byteArrayEquals 16384 - diff last byte 31.940 us/op 32.129 us/op 0.99
Buffer.compare 16384 - diff last byte 323.62 ns/op 275.36 ns/op 1.18
byteArrayEquals 123687377 - diff last byte 240.58 ms/op 238.85 ms/op 1.01
Buffer.compare 123687377 - diff last byte 6.3212 ms/op 6.2814 ms/op 1.01
byteArrayEquals 32 - random bytes 5.2430 ns/op 5.0410 ns/op 1.04
Buffer.compare 32 - random bytes 59.039 ns/op 56.970 ns/op 1.04
byteArrayEquals 1024 - random bytes 5.0550 ns/op 4.8780 ns/op 1.04
Buffer.compare 1024 - random bytes 58.617 ns/op 56.351 ns/op 1.04
byteArrayEquals 16384 - random bytes 5.0510 ns/op 4.8790 ns/op 1.04
Buffer.compare 16384 - random bytes 58.595 ns/op 56.146 ns/op 1.04
byteArrayEquals 123687377 - random bytes 8.1200 ns/op 8.0200 ns/op 1.01
Buffer.compare 123687377 - random bytes 61.630 ns/op 59.490 ns/op 1.04
regular array get 100000 times 43.176 us/op 41.429 us/op 1.04
wrappedArray get 100000 times 43.204 us/op 41.449 us/op 1.04
arrayWithProxy get 100000 times 14.152 ms/op 13.330 ms/op 1.06
ssz.Root.equals 52.911 ns/op 50.532 ns/op 1.05
byteArrayEquals 51.843 ns/op 49.579 ns/op 1.05
Buffer.compare 10.935 ns/op 10.859 ns/op 1.01
shuffle list - 16384 els 6.8431 ms/op 6.7937 ms/op 1.01
shuffle list - 250000 els 100.88 ms/op 99.745 ms/op 1.01
processSlot - 1 slots 19.412 us/op 16.378 us/op 1.19
processSlot - 32 slots 3.6295 ms/op 3.9023 ms/op 0.93
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 68.917 ms/op 62.773 ms/op 1.10
getCommitteeAssignments - req 1 vs - 250000 vc 2.4550 ms/op 2.4397 ms/op 1.01
getCommitteeAssignments - req 100 vs - 250000 vc 3.6823 ms/op 3.5910 ms/op 1.03
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0423 ms/op 3.9339 ms/op 1.03
findModifiedValidators - 10000 modified validators 498.31 ms/op 546.96 ms/op 0.91
findModifiedValidators - 1000 modified validators 445.07 ms/op 443.82 ms/op 1.00
findModifiedValidators - 100 modified validators 387.58 ms/op 411.59 ms/op 0.94
findModifiedValidators - 10 modified validators 409.82 ms/op 421.09 ms/op 0.97
findModifiedValidators - 1 modified validators 414.92 ms/op 401.24 ms/op 1.03
findModifiedValidators - no difference 419.54 ms/op 392.53 ms/op 1.07
compare ViewDUs 5.0527 s/op 4.9043 s/op 1.03
compare each validator Uint8Array 1.7360 s/op 1.7851 s/op 0.97
compare ViewDU to Uint8Array 1.1009 s/op 1.0959 s/op 1.00
migrate state 1000000 validators, 24 modified, 0 new 914.30 ms/op 888.54 ms/op 1.03
migrate state 1000000 validators, 1700 modified, 1000 new 1.1904 s/op 1.2047 s/op 0.99
migrate state 1000000 validators, 3400 modified, 2000 new 1.4303 s/op 1.4484 s/op 0.99
migrate state 1500000 validators, 24 modified, 0 new 918.85 ms/op 898.84 ms/op 1.02
migrate state 1500000 validators, 1700 modified, 1000 new 1.1967 s/op 1.1856 s/op 1.01
migrate state 1500000 validators, 3400 modified, 2000 new 1.4693 s/op 1.4172 s/op 1.04
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.1500 ns/op 4.1400 ns/op 1.00
state getBlockRootAtSlot - 250000 vs - 7PWei 904.86 ns/op 794.90 ns/op 1.14
computeProposers - vc 250000 9.7313 ms/op 9.2985 ms/op 1.05
computeEpochShuffling - vc 250000 102.40 ms/op 101.07 ms/op 1.01
getNextSyncCommittee - vc 250000 162.20 ms/op 150.99 ms/op 1.07
computeSigningRoot for AttestationData 33.681 us/op 27.831 us/op 1.21
hash AttestationData serialized data then Buffer.toString(base64) 2.2815 us/op 2.2260 us/op 1.02
toHexString serialized data 1.0602 us/op 1.0269 us/op 1.03
Buffer.toString(base64) 216.03 ns/op 214.98 ns/op 1.00

by benchmarkbot/action

matthewkeil and others added 5 commits December 8, 2023 03:45
Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>
nazarhussain
nazarhussain previously approved these changes Dec 8, 2023
Copy link
Contributor

@nazarhussain nazarhussain left a comment

Choose a reason for hiding this comment

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

Related to sim testing it seems good. 👍🏼

docs/mkdocs.yml Outdated Show resolved Hide resolved
docs/pages/beacon-management/database.md Outdated Show resolved Hide resolved
docs/pages/beacon-management/database.md Outdated Show resolved Hide resolved
docs/pages/beacon-management/networking.md Show resolved Hide resolved
docs/pages/beacon-management/networking.md Outdated Show resolved Hide resolved
docs/pages/beacon-management/networking.md Outdated Show resolved Hide resolved
docs/pages/beacon-management/networking.md Outdated Show resolved Hide resolved
docs/pages/getting-started/creating-a-jwt.md Outdated Show resolved Hide resolved
packages/light-client/README.md Outdated Show resolved Hide resolved
# Install from NPM [not recommended]

<!-- prettier-ignore-start -->
!!! danger
Copy link
Member

Choose a reason for hiding this comment

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

Might wanna keep this as a warning so people don't install lodestar via npm

Copy link
Member Author

Choose a reason for hiding this comment

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

Updated.

Im curious if we should not publish the package anymore to prevent against this.

Copy link
Member

Choose a reason for hiding this comment

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

Could be installed as a package in another project in which case it would have a lock file again. I don't know if anybody is doing that though.

Copy link
Member Author

Choose a reason for hiding this comment

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

There are 793 install / week listed on NPM. Curious if that is all us and CI?

Copy link
Member

@nflaig nflaig Dec 11, 2023

Choose a reason for hiding this comment

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

Curious if that is all us and CI?

I have never installed the package, I don't see us doing that in the CI either. Not sure who installs that to be honest, the README of the package is also a bit out of date.

Copy link
Member Author

Choose a reason for hiding this comment

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

I read in a comment in our code in depgraph.md.

I did a search on github and it seems the only references to @chainsafe/lodestar as a dependency are only very old forks.

https://github.com/search?q=%5C%22%40chainsafe%2Flodestar%5C%22%3A+path%3A**%2Fpackage.json+&type=code&ref=advsearch

Since its a security risk, perhaps we should stop publishing it and make it hidden for now and see who squeals that its gone. What do you think @dapplion and @wemeetagain?

Copy link
Member

Choose a reason for hiding this comment

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

I'd like to solve via #3596

Copy link

codecov bot commented Dec 10, 2023

Codecov Report

Merging #6134 (3f1d3c0) into unstable (8afbc98) will increase coverage by 80.02%.
Report is 31 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@              Coverage Diff              @@
##           unstable    #6134       +/-   ##
=============================================
+ Coverage          0   80.02%   +80.02%     
=============================================
  Files             0       19       +19     
  Lines             0     1717     +1717     
  Branches          0      155      +155     
=============================================
+ Hits              0     1374     +1374     
- Misses            0      341      +341     
- Partials          0        2        +2     

@jeluard jeluard self-requested a review December 12, 2023 14:56
@wemeetagain
Copy link
Member

Merging this now for inclusion in 1.13, we can continue to address doc improvements in future PRs.

@wemeetagain wemeetagain merged commit cb8607e into unstable Dec 12, 2023
14 of 15 checks passed
@wemeetagain wemeetagain deleted the mkeil/redo-docs branch December 12, 2023 16:11
@wemeetagain
Copy link
Member

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

None yet

8 participants