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: revert docs link removal #6864

Merged
merged 6 commits into from
Jun 12, 2024
Merged

docs: revert docs link removal #6864

merged 6 commits into from
Jun 12, 2024

Conversation

jeluard
Copy link
Contributor

@jeluard jeluard commented Jun 7, 2024

Motivation

Make sure all relevant files are available in docs. Also improve collapsed section.

@jeluard jeluard requested a review from a team as a code owner June 7, 2024 19:00
Copy link

codecov bot commented Jun 7, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 62.76%. Comparing base (966f3ac) to head (8d7bc17).
Report is 10 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6864      +/-   ##
============================================
+ Coverage     62.20%   62.76%   +0.56%     
============================================
  Files           571      578       +7     
  Lines         60021    61273    +1252     
  Branches       1976     2115     +139     
============================================
+ Hits          37334    38456    +1122     
- Misses        22644    22779     +135     
+ Partials         43       38       -5     

Copy link
Contributor

github-actions bot commented Jun 7, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 07419b7 Previous: 3be656b Ratio
forkChoice updateHead vc 100000 bc 64 eq 0 385.18 us/op 1.2012 ms/op 0.32
Full benchmark results
Benchmark suite Current: 07419b7 Previous: 3be656b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 497.54 us/op 1.1239 ms/op 0.44
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 40.512 us/op 83.503 us/op 0.49
BLS verify - blst-native 1.0654 ms/op 1.3629 ms/op 0.78
BLS verifyMultipleSignatures 3 - blst-native 2.2554 ms/op 2.9835 ms/op 0.76
BLS verifyMultipleSignatures 8 - blst-native 5.0031 ms/op 6.7223 ms/op 0.74
BLS verifyMultipleSignatures 32 - blst-native 19.051 ms/op 22.745 ms/op 0.84
BLS verifyMultipleSignatures 64 - blst-native 37.522 ms/op 45.844 ms/op 0.82
BLS verifyMultipleSignatures 128 - blst-native 74.582 ms/op 105.22 ms/op 0.71
BLS deserializing 10000 signatures 776.30 ms/op 995.85 ms/op 0.78
BLS deserializing 100000 signatures 7.7153 s/op 9.3458 s/op 0.83
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1356 ms/op 1.3663 ms/op 0.83
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.2905 ms/op 1.5286 ms/op 0.84
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.0275 ms/op 2.4822 ms/op 0.82
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.3725 ms/op 3.5260 ms/op 0.96
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.0123 ms/op 5.8715 ms/op 1.02
BLS aggregatePubkeys 32 - blst-native 21.841 us/op 26.996 us/op 0.81
BLS aggregatePubkeys 128 - blst-native 85.011 us/op 106.72 us/op 0.80
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 56.007 ms/op 66.512 ms/op 0.84
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 58.450 ms/op 84.646 ms/op 0.69
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 28.911 ms/op 49.935 ms/op 0.58
getSlashingsAndExits - default max 87.666 us/op 127.87 us/op 0.69
getSlashingsAndExits - 2k 224.01 us/op 338.32 us/op 0.66
proposeBlockBody type=full, size=empty 5.0138 ms/op 7.3718 ms/op 0.68
isKnown best case - 1 super set check 460.00 ns/op 460.00 ns/op 1.00
isKnown normal case - 2 super set checks 434.00 ns/op 357.00 ns/op 1.22
isKnown worse case - 16 super set checks 436.00 ns/op 432.00 ns/op 1.01
InMemoryCheckpointStateCache - add get delete 3.7400 us/op 5.6700 us/op 0.66
validate api signedAggregateAndProof - struct 2.2731 ms/op 2.7218 ms/op 0.84
validate gossip signedAggregateAndProof - struct 2.2728 ms/op 2.7322 ms/op 0.83
validate gossip attestation - vc 640000 1.1264 ms/op 1.3139 ms/op 0.86
batch validate gossip attestation - vc 640000 - chunk 32 128.10 us/op 162.78 us/op 0.79
batch validate gossip attestation - vc 640000 - chunk 64 114.27 us/op 159.00 us/op 0.72
batch validate gossip attestation - vc 640000 - chunk 128 108.48 us/op 150.36 us/op 0.72
batch validate gossip attestation - vc 640000 - chunk 256 102.12 us/op 134.24 us/op 0.76
pickEth1Vote - no votes 844.16 us/op 1.2442 ms/op 0.68
pickEth1Vote - max votes 7.1393 ms/op 11.393 ms/op 0.63
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.980 ms/op 20.825 ms/op 0.67
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.651 ms/op 28.872 ms/op 0.68
pickEth1Vote - Eth1Data fastSerialize value x2048 368.77 us/op 626.39 us/op 0.59
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.5264 ms/op 5.0378 ms/op 1.10
bytes32 toHexString 543.00 ns/op 657.00 ns/op 0.83
bytes32 Buffer.toString(hex) 406.00 ns/op 256.00 ns/op 1.59
bytes32 Buffer.toString(hex) from Uint8Array 502.00 ns/op 479.00 ns/op 1.05
bytes32 Buffer.toString(hex) + 0x 404.00 ns/op 256.00 ns/op 1.58
Object access 1 prop 0.30200 ns/op 0.16400 ns/op 1.84
Map access 1 prop 0.29700 ns/op 0.13800 ns/op 2.15
Object get x1000 4.7290 ns/op 6.0360 ns/op 0.78
Map get x1000 5.5150 ns/op 6.4400 ns/op 0.86
Object set x1000 21.737 ns/op 37.252 ns/op 0.58
Map set x1000 18.526 ns/op 27.399 ns/op 0.68
Return object 10000 times 0.28020 ns/op 0.30300 ns/op 0.92
Throw Error 10000 times 2.4921 us/op 3.4793 us/op 0.72
fastMsgIdFn sha256 / 200 bytes 1.8320 us/op 2.3520 us/op 0.78
fastMsgIdFn h32 xxhash / 200 bytes 388.00 ns/op 287.00 ns/op 1.35
fastMsgIdFn h64 xxhash / 200 bytes 439.00 ns/op 301.00 ns/op 1.46
fastMsgIdFn sha256 / 1000 bytes 5.4960 us/op 7.5500 us/op 0.73
fastMsgIdFn h32 xxhash / 1000 bytes 517.00 ns/op 409.00 ns/op 1.26
fastMsgIdFn h64 xxhash / 1000 bytes 499.00 ns/op 373.00 ns/op 1.34
fastMsgIdFn sha256 / 10000 bytes 47.429 us/op 65.681 us/op 0.72
fastMsgIdFn h32 xxhash / 10000 bytes 1.7990 us/op 1.9570 us/op 0.92
fastMsgIdFn h64 xxhash / 10000 bytes 1.2610 us/op 1.2470 us/op 1.01
send data - 1000 256B messages 9.4077 ms/op 13.365 ms/op 0.70
send data - 1000 512B messages 13.048 ms/op 19.439 ms/op 0.67
send data - 1000 1024B messages 20.101 ms/op 29.912 ms/op 0.67
send data - 1000 1200B messages 23.650 ms/op 29.192 ms/op 0.81
send data - 1000 2048B messages 28.055 ms/op 34.677 ms/op 0.81
send data - 1000 4096B messages 24.618 ms/op 34.772 ms/op 0.71
send data - 1000 16384B messages 63.994 ms/op 74.786 ms/op 0.86
send data - 1000 65536B messages 246.24 ms/op 253.37 ms/op 0.97
enrSubnets - fastDeserialize 64 bits 1.1110 us/op 1.7650 us/op 0.63
enrSubnets - ssz BitVector 64 bits 501.00 ns/op 518.00 ns/op 0.97
enrSubnets - fastDeserialize 4 bits 324.00 ns/op 224.00 ns/op 1.45
enrSubnets - ssz BitVector 4 bits 513.00 ns/op 471.00 ns/op 1.09
prioritizePeers score -10:0 att 32-0.1 sync 2-0 136.76 us/op 221.02 us/op 0.62
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 149.65 us/op 239.17 us/op 0.63
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 307.08 us/op 316.19 us/op 0.97
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 446.12 us/op 473.46 us/op 0.94
prioritizePeers score 0:0 att 64-1 sync 4-1 620.91 us/op 936.35 us/op 0.66
array of 16000 items push then shift 1.2928 us/op 1.7531 us/op 0.74
LinkedList of 16000 items push then shift 6.4200 ns/op 8.2760 ns/op 0.78
array of 16000 items push then pop 78.431 ns/op 144.77 ns/op 0.54
LinkedList of 16000 items push then pop 6.3170 ns/op 8.5480 ns/op 0.74
array of 24000 items push then shift 1.8802 us/op 2.6200 us/op 0.72
LinkedList of 24000 items push then shift 6.5000 ns/op 8.8030 ns/op 0.74
array of 24000 items push then pop 109.70 ns/op 198.04 ns/op 0.55
LinkedList of 24000 items push then pop 6.2300 ns/op 7.8780 ns/op 0.79
intersect bitArray bitLen 8 5.3870 ns/op 7.2470 ns/op 0.74
intersect array and set length 8 40.437 ns/op 58.427 ns/op 0.69
intersect bitArray bitLen 128 26.379 ns/op 33.569 ns/op 0.79
intersect array and set length 128 564.63 ns/op 810.33 ns/op 0.70
bitArray.getTrueBitIndexes() bitLen 128 2.7310 us/op 2.4060 us/op 1.14
bitArray.getTrueBitIndexes() bitLen 248 3.0640 us/op 4.4190 us/op 0.69
bitArray.getTrueBitIndexes() bitLen 512 6.2960 us/op 10.105 us/op 0.62
Buffer.concat 32 items 1.0350 us/op 1.2460 us/op 0.83
Uint8Array.set 32 items 1.7050 us/op 2.1550 us/op 0.79
Buffer.copy 1.8240 us/op 1.9490 us/op 0.94
Uint8Array.set - with subarray 2.4100 us/op 3.5860 us/op 0.67
Uint8Array.set - without subarray 1.6670 us/op 1.6670 us/op 1.00
Set add up to 64 items then delete first 1.7789 us/op 3.1049 us/op 0.57
OrderedSet add up to 64 items then delete first 2.7671 us/op 5.7634 us/op 0.48
Set add up to 64 items then delete last 2.0301 us/op 3.5539 us/op 0.57
OrderedSet add up to 64 items then delete last 3.0620 us/op 5.4541 us/op 0.56
Set add up to 64 items then delete middle 2.0233 us/op 3.5535 us/op 0.57
OrderedSet add up to 64 items then delete middle 4.1550 us/op 7.1284 us/op 0.58
Set add up to 128 items then delete first 3.6940 us/op 6.9868 us/op 0.53
OrderedSet add up to 128 items then delete first 5.8298 us/op 11.120 us/op 0.52
Set add up to 128 items then delete last 3.5662 us/op 6.8925 us/op 0.52
OrderedSet add up to 128 items then delete last 5.4678 us/op 11.521 us/op 0.47
Set add up to 128 items then delete middle 3.5602 us/op 7.1696 us/op 0.50
OrderedSet add up to 128 items then delete middle 10.961 us/op 18.636 us/op 0.59
Set add up to 256 items then delete first 7.2322 us/op 16.146 us/op 0.45
OrderedSet add up to 256 items then delete first 11.693 us/op 24.599 us/op 0.48
Set add up to 256 items then delete last 7.0334 us/op 15.107 us/op 0.47
OrderedSet add up to 256 items then delete last 11.039 us/op 23.445 us/op 0.47
Set add up to 256 items then delete middle 7.0142 us/op 14.618 us/op 0.48
OrderedSet add up to 256 items then delete middle 31.975 us/op 52.380 us/op 0.61
transfer serialized Status (84 B) 1.4400 us/op 1.6630 us/op 0.87
copy serialized Status (84 B) 1.2210 us/op 1.4390 us/op 0.85
transfer serialized SignedVoluntaryExit (112 B) 1.6650 us/op 1.7780 us/op 0.94
copy serialized SignedVoluntaryExit (112 B) 1.3500 us/op 1.7550 us/op 0.77
transfer serialized ProposerSlashing (416 B) 2.5150 us/op 2.7260 us/op 0.92
copy serialized ProposerSlashing (416 B) 1.8030 us/op 2.6580 us/op 0.68
transfer serialized Attestation (485 B) 2.2350 us/op 3.2410 us/op 0.69
copy serialized Attestation (485 B) 1.8580 us/op 2.7380 us/op 0.68
transfer serialized AttesterSlashing (33232 B) 2.2620 us/op 3.4170 us/op 0.66
copy serialized AttesterSlashing (33232 B) 4.2800 us/op 11.212 us/op 0.38
transfer serialized Small SignedBeaconBlock (128000 B) 2.6200 us/op 4.2570 us/op 0.62
copy serialized Small SignedBeaconBlock (128000 B) 9.6990 us/op 36.057 us/op 0.27
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2340 us/op 5.7700 us/op 0.56
copy serialized Avg SignedBeaconBlock (200000 B) 13.467 us/op 54.260 us/op 0.25
transfer serialized BlobsSidecar (524380 B) 3.0610 us/op 7.2730 us/op 0.42
copy serialized BlobsSidecar (524380 B) 75.768 us/op 146.55 us/op 0.52
transfer serialized Big SignedBeaconBlock (1000000 B) 3.4610 us/op 5.8070 us/op 0.60
copy serialized Big SignedBeaconBlock (1000000 B) 205.06 us/op 301.76 us/op 0.68
pass gossip attestations to forkchoice per slot 2.5583 ms/op 4.5358 ms/op 0.56
forkChoice updateHead vc 100000 bc 64 eq 0 385.18 us/op 1.2012 ms/op 0.32
forkChoice updateHead vc 600000 bc 64 eq 0 2.3584 ms/op 4.4277 ms/op 0.53
forkChoice updateHead vc 1000000 bc 64 eq 0 4.1432 ms/op 7.0573 ms/op 0.59
forkChoice updateHead vc 600000 bc 320 eq 0 2.4903 ms/op 4.1550 ms/op 0.60
forkChoice updateHead vc 600000 bc 1200 eq 0 2.6406 ms/op 4.2791 ms/op 0.62
forkChoice updateHead vc 600000 bc 7200 eq 0 2.7960 ms/op 4.4792 ms/op 0.62
forkChoice updateHead vc 600000 bc 64 eq 1000 9.5976 ms/op 11.708 ms/op 0.82
forkChoice updateHead vc 600000 bc 64 eq 10000 9.3837 ms/op 13.119 ms/op 0.72
forkChoice updateHead vc 600000 bc 64 eq 300000 11.477 ms/op 23.660 ms/op 0.49
computeDeltas 500000 validators 300 proto nodes 2.9558 ms/op 4.2643 ms/op 0.69
computeDeltas 500000 validators 1200 proto nodes 2.9403 ms/op 4.1202 ms/op 0.71
computeDeltas 500000 validators 7200 proto nodes 2.9267 ms/op 4.3026 ms/op 0.68
computeDeltas 750000 validators 300 proto nodes 10.809 ms/op 6.1369 ms/op 1.76
computeDeltas 750000 validators 1200 proto nodes 4.3860 ms/op 6.0803 ms/op 0.72
computeDeltas 750000 validators 7200 proto nodes 4.4610 ms/op 5.8363 ms/op 0.76
computeDeltas 1400000 validators 300 proto nodes 13.538 ms/op 11.020 ms/op 1.23
computeDeltas 1400000 validators 1200 proto nodes 8.3045 ms/op 10.955 ms/op 0.76
computeDeltas 1400000 validators 7200 proto nodes 8.3277 ms/op 11.694 ms/op 0.71
computeDeltas 2100000 validators 300 proto nodes 37.406 ms/op 17.973 ms/op 2.08
computeDeltas 2100000 validators 1200 proto nodes 12.456 ms/op 17.177 ms/op 0.73
computeDeltas 2100000 validators 7200 proto nodes 12.282 ms/op 19.354 ms/op 0.63
altair processAttestation - 250000 vs - 7PWei normalcase 1.3927 ms/op 2.3556 ms/op 0.59
altair processAttestation - 250000 vs - 7PWei worstcase 2.1208 ms/op 3.5006 ms/op 0.61
altair processAttestation - setStatus - 1/6 committees join 63.211 us/op 119.06 us/op 0.53
altair processAttestation - setStatus - 1/3 committees join 126.74 us/op 196.73 us/op 0.64
altair processAttestation - setStatus - 1/2 committees join 185.91 us/op 280.83 us/op 0.66
altair processAttestation - setStatus - 2/3 committees join 254.99 us/op 355.98 us/op 0.72
altair processAttestation - setStatus - 4/5 committees join 393.47 us/op 523.62 us/op 0.75
altair processAttestation - setStatus - 100% committees join 456.10 us/op 678.28 us/op 0.67
altair processBlock - 250000 vs - 7PWei normalcase 4.3451 ms/op 4.9941 ms/op 0.87
altair processBlock - 250000 vs - 7PWei normalcase hashState 24.386 ms/op 29.083 ms/op 0.84
altair processBlock - 250000 vs - 7PWei worstcase 44.882 ms/op 49.195 ms/op 0.91
altair processBlock - 250000 vs - 7PWei worstcase hashState 63.624 ms/op 89.631 ms/op 0.71
phase0 processBlock - 250000 vs - 7PWei normalcase 1.5007 ms/op 2.4626 ms/op 0.61
phase0 processBlock - 250000 vs - 7PWei worstcase 23.126 ms/op 34.022 ms/op 0.68
altair processEth1Data - 250000 vs - 7PWei normalcase 236.34 us/op 503.26 us/op 0.47
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.9220 us/op 8.0200 us/op 0.61
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 17.715 us/op 31.392 us/op 0.56
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 6.7350 us/op 11.253 us/op 0.60
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.1090 us/op 7.8270 us/op 0.65
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 78.639 us/op 144.02 us/op 0.55
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 780.01 us/op 922.50 us/op 0.85
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.1279 ms/op 1.4238 ms/op 0.79
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 634.56 us/op 1.3314 ms/op 0.48
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.0164 ms/op 4.0120 ms/op 0.50
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.0926 ms/op 2.2789 ms/op 0.48
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.9310 ms/op 5.1304 ms/op 0.57
Tree 40 250000 create 180.33 ms/op 424.93 ms/op 0.42
Tree 40 250000 get(125000) 116.92 ns/op 180.06 ns/op 0.65
Tree 40 250000 set(125000) 536.62 ns/op 1.4649 us/op 0.37
Tree 40 250000 toArray() 16.803 ms/op 25.382 ms/op 0.66
Tree 40 250000 iterate all - toArray() + loop 17.459 ms/op 26.159 ms/op 0.67
Tree 40 250000 iterate all - get(i) 43.717 ms/op 69.395 ms/op 0.63
MutableVector 250000 create 8.6249 ms/op 18.284 ms/op 0.47
MutableVector 250000 get(125000) 5.8480 ns/op 7.0600 ns/op 0.83
MutableVector 250000 set(125000) 178.86 ns/op 512.37 ns/op 0.35
MutableVector 250000 toArray() 3.8941 ms/op 5.7566 ms/op 0.68
MutableVector 250000 iterate all - toArray() + loop 3.8002 ms/op 6.6884 ms/op 0.57
MutableVector 250000 iterate all - get(i) 1.3862 ms/op 2.4736 ms/op 0.56
Array 250000 create 3.2159 ms/op 5.8563 ms/op 0.55
Array 250000 clone - spread 1.2688 ms/op 3.6818 ms/op 0.34
Array 250000 get(125000) 0.57300 ns/op 0.54800 ns/op 1.05
Array 250000 set(125000) 0.58600 ns/op 0.54300 ns/op 1.08
Array 250000 iterate all - loop 75.457 us/op 102.72 us/op 0.73
effectiveBalanceIncrements clone Uint8Array 300000 24.461 us/op 66.013 us/op 0.37
effectiveBalanceIncrements clone MutableVector 300000 304.00 ns/op 145.00 ns/op 2.10
effectiveBalanceIncrements rw all Uint8Array 300000 164.44 us/op 218.78 us/op 0.75
effectiveBalanceIncrements rw all MutableVector 300000 56.450 ms/op 147.11 ms/op 0.38
phase0 afterProcessEpoch - 250000 vs - 7PWei 74.102 ms/op 109.56 ms/op 0.68
phase0 beforeProcessEpoch - 250000 vs - 7PWei 36.105 ms/op 47.133 ms/op 0.77
altair processEpoch - mainnet_e81889 324.07 ms/op 463.62 ms/op 0.70
mainnet_e81889 - altair beforeProcessEpoch 60.582 ms/op 94.145 ms/op 0.64
mainnet_e81889 - altair processJustificationAndFinalization 9.6370 us/op 25.267 us/op 0.38
mainnet_e81889 - altair processInactivityUpdates 6.0570 ms/op 8.0442 ms/op 0.75
mainnet_e81889 - altair processRewardsAndPenalties 46.440 ms/op 58.536 ms/op 0.79
mainnet_e81889 - altair processRegistryUpdates 1.8360 us/op 4.0870 us/op 0.45
mainnet_e81889 - altair processSlashings 725.00 ns/op 1.5760 us/op 0.46
mainnet_e81889 - altair processEth1DataReset 708.00 ns/op 1.1920 us/op 0.59
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.0315 ms/op 2.5204 ms/op 0.81
mainnet_e81889 - altair processSlashingsReset 2.9000 us/op 10.387 us/op 0.28
mainnet_e81889 - altair processRandaoMixesReset 3.1020 us/op 9.4080 us/op 0.33
mainnet_e81889 - altair processHistoricalRootsUpdate 922.00 ns/op 2.3490 us/op 0.39
mainnet_e81889 - altair processParticipationFlagUpdates 2.5390 us/op 6.1760 us/op 0.41
mainnet_e81889 - altair processSyncCommitteeUpdates 779.00 ns/op 1.3290 us/op 0.59
mainnet_e81889 - altair afterProcessEpoch 76.987 ms/op 99.544 ms/op 0.77
capella processEpoch - mainnet_e217614 1.1708 s/op 1.4783 s/op 0.79
mainnet_e217614 - capella beforeProcessEpoch 240.83 ms/op 275.04 ms/op 0.88
mainnet_e217614 - capella processJustificationAndFinalization 11.475 us/op 18.837 us/op 0.61
mainnet_e217614 - capella processInactivityUpdates 16.481 ms/op 21.892 ms/op 0.75
mainnet_e217614 - capella processRewardsAndPenalties 248.82 ms/op 260.03 ms/op 0.96
mainnet_e217614 - capella processRegistryUpdates 10.962 us/op 14.845 us/op 0.74
mainnet_e217614 - capella processSlashings 808.00 ns/op 432.00 ns/op 1.87
mainnet_e217614 - capella processEth1DataReset 724.00 ns/op 446.00 ns/op 1.62
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.0065 ms/op 5.2770 ms/op 0.95
mainnet_e217614 - capella processSlashingsReset 3.1270 us/op 4.4960 us/op 0.70
mainnet_e217614 - capella processRandaoMixesReset 3.0440 us/op 9.1790 us/op 0.33
mainnet_e217614 - capella processHistoricalRootsUpdate 739.00 ns/op 525.00 ns/op 1.41
mainnet_e217614 - capella processParticipationFlagUpdates 1.7850 us/op 2.2720 us/op 0.79
mainnet_e217614 - capella afterProcessEpoch 242.66 ms/op 236.46 ms/op 1.03
phase0 processEpoch - mainnet_e58758 298.95 ms/op 421.84 ms/op 0.71
mainnet_e58758 - phase0 beforeProcessEpoch 110.84 ms/op 122.99 ms/op 0.90
mainnet_e58758 - phase0 processJustificationAndFinalization 9.8600 us/op 14.702 us/op 0.67
mainnet_e58758 - phase0 processRewardsAndPenalties 34.021 ms/op 32.658 ms/op 1.04
mainnet_e58758 - phase0 processRegistryUpdates 6.1330 us/op 11.083 us/op 0.55
mainnet_e58758 - phase0 processSlashings 730.00 ns/op 414.00 ns/op 1.76
mainnet_e58758 - phase0 processEth1DataReset 731.00 ns/op 414.00 ns/op 1.77
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1055 ms/op 1.1819 ms/op 0.94
mainnet_e58758 - phase0 processSlashingsReset 2.2210 us/op 4.4470 us/op 0.50
mainnet_e58758 - phase0 processRandaoMixesReset 3.1350 us/op 7.6930 us/op 0.41
mainnet_e58758 - phase0 processHistoricalRootsUpdate 710.00 ns/op 605.00 ns/op 1.17
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.6580 us/op 4.0820 us/op 0.65
mainnet_e58758 - phase0 afterProcessEpoch 66.543 ms/op 81.646 ms/op 0.82
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3330 ms/op 1.2902 ms/op 1.03
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4140 ms/op 2.4218 ms/op 0.58
altair processInactivityUpdates - 250000 normalcase 17.369 ms/op 18.841 ms/op 0.92
altair processInactivityUpdates - 250000 worstcase 17.314 ms/op 20.328 ms/op 0.85
phase0 processRegistryUpdates - 250000 normalcase 3.3460 us/op 8.5410 us/op 0.39
phase0 processRegistryUpdates - 250000 badcase_full_deposits 327.67 us/op 347.45 us/op 0.94
phase0 processRegistryUpdates - 250000 worstcase 0.5 94.896 ms/op 132.66 ms/op 0.72
altair processRewardsAndPenalties - 250000 normalcase 37.878 ms/op 42.689 ms/op 0.89
altair processRewardsAndPenalties - 250000 worstcase 40.384 ms/op 44.144 ms/op 0.91
phase0 getAttestationDeltas - 250000 normalcase 5.4946 ms/op 8.1239 ms/op 0.68
phase0 getAttestationDeltas - 250000 worstcase 6.5243 ms/op 11.369 ms/op 0.57
phase0 processSlashings - 250000 worstcase 92.256 us/op 133.50 us/op 0.69
altair processSyncCommitteeUpdates - 250000 98.237 ms/op 142.11 ms/op 0.69
BeaconState.hashTreeRoot - No change 500.00 ns/op 400.00 ns/op 1.25
BeaconState.hashTreeRoot - 1 full validator 95.950 us/op 125.36 us/op 0.77
BeaconState.hashTreeRoot - 32 full validator 928.76 us/op 1.2021 ms/op 0.77
BeaconState.hashTreeRoot - 512 full validator 10.115 ms/op 16.624 ms/op 0.61
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 109.22 us/op 200.87 us/op 0.54
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.4517 ms/op 2.9524 ms/op 0.49
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 20.128 ms/op 27.771 ms/op 0.72
BeaconState.hashTreeRoot - 1 balances 80.170 us/op 106.69 us/op 0.75
BeaconState.hashTreeRoot - 32 balances 685.20 us/op 1.0699 ms/op 0.64
BeaconState.hashTreeRoot - 512 balances 7.1487 ms/op 8.7333 ms/op 0.82
BeaconState.hashTreeRoot - 250000 balances 116.79 ms/op 161.71 ms/op 0.72
aggregationBits - 2048 els - zipIndexesInBitList 19.845 us/op 26.095 us/op 0.76
byteArrayEquals 32 48.301 ns/op 55.844 ns/op 0.86
Buffer.compare 32 39.182 ns/op 47.600 ns/op 0.82
byteArrayEquals 1024 1.2541 us/op 1.6925 us/op 0.74
Buffer.compare 1024 43.567 ns/op 55.305 ns/op 0.79
byteArrayEquals 16384 19.926 us/op 26.314 us/op 0.76
Buffer.compare 16384 211.59 ns/op 233.46 ns/op 0.91
byteArrayEquals 123687377 150.34 ms/op 204.15 ms/op 0.74
Buffer.compare 123687377 5.7291 ms/op 8.4187 ms/op 0.68
byteArrayEquals 32 - diff last byte 45.454 ns/op 53.241 ns/op 0.85
Buffer.compare 32 - diff last byte 37.259 ns/op 46.554 ns/op 0.80
byteArrayEquals 1024 - diff last byte 1.2141 us/op 1.6272 us/op 0.75
Buffer.compare 1024 - diff last byte 41.598 ns/op 57.729 ns/op 0.72
byteArrayEquals 16384 - diff last byte 19.517 us/op 25.835 us/op 0.76
Buffer.compare 16384 - diff last byte 199.51 ns/op 241.02 ns/op 0.83
byteArrayEquals 123687377 - diff last byte 144.60 ms/op 196.04 ms/op 0.74
Buffer.compare 123687377 - diff last byte 4.2922 ms/op 9.4690 ms/op 0.45
byteArrayEquals 32 - random bytes 4.9390 ns/op 5.3600 ns/op 0.92
Buffer.compare 32 - random bytes 41.725 ns/op 52.804 ns/op 0.79
byteArrayEquals 1024 - random bytes 4.9860 ns/op 6.1880 ns/op 0.81
Buffer.compare 1024 - random bytes 38.849 ns/op 72.878 ns/op 0.53
byteArrayEquals 16384 - random bytes 5.5020 ns/op 5.3430 ns/op 1.03
Buffer.compare 16384 - random bytes 40.538 ns/op 47.067 ns/op 0.86
byteArrayEquals 123687377 - random bytes 7.8600 ns/op 6.8200 ns/op 1.15
Buffer.compare 123687377 - random bytes 43.940 ns/op 49.290 ns/op 0.89
regular array get 100000 times 30.854 us/op 39.101 us/op 0.79
wrappedArray get 100000 times 30.831 us/op 37.257 us/op 0.83
arrayWithProxy get 100000 times 9.6749 ms/op 13.795 ms/op 0.70
ssz.Root.equals 43.033 ns/op 47.506 ns/op 0.91
byteArrayEquals 42.498 ns/op 45.966 ns/op 0.92
Buffer.compare 8.7970 ns/op 10.766 ns/op 0.82
shuffle list - 16384 els 5.5387 ms/op 6.5849 ms/op 0.84
shuffle list - 250000 els 81.283 ms/op 97.032 ms/op 0.84
processSlot - 1 slots 12.763 us/op 18.104 us/op 0.70
processSlot - 32 slots 2.0326 ms/op 3.7351 ms/op 0.54
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.052 ms/op 42.176 ms/op 0.85
getCommitteeAssignments - req 1 vs - 250000 vc 1.7828 ms/op 2.4603 ms/op 0.72
getCommitteeAssignments - req 100 vs - 250000 vc 3.4993 ms/op 4.3459 ms/op 0.81
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7573 ms/op 4.7061 ms/op 0.80
findModifiedValidators - 10000 modified validators 223.12 ms/op 363.05 ms/op 0.61
findModifiedValidators - 1000 modified validators 140.89 ms/op 217.02 ms/op 0.65
findModifiedValidators - 100 modified validators 148.39 ms/op 218.68 ms/op 0.68
findModifiedValidators - 10 modified validators 128.99 ms/op 190.57 ms/op 0.68
findModifiedValidators - 1 modified validators 131.46 ms/op 209.29 ms/op 0.63
findModifiedValidators - no difference 126.57 ms/op 195.10 ms/op 0.65
compare ViewDUs 2.9198 s/op 3.4229 s/op 0.85
compare each validator Uint8Array 1.8081 s/op 1.3861 s/op 1.30
compare ViewDU to Uint8Array 769.79 ms/op 1.2857 s/op 0.60
migrate state 1000000 validators, 24 modified, 0 new 576.90 ms/op 667.79 ms/op 0.86
migrate state 1000000 validators, 1700 modified, 1000 new 831.32 ms/op 929.29 ms/op 0.89
migrate state 1000000 validators, 3400 modified, 2000 new 930.19 ms/op 1.2863 s/op 0.72
migrate state 1500000 validators, 24 modified, 0 new 410.89 ms/op 685.41 ms/op 0.60
migrate state 1500000 validators, 1700 modified, 1000 new 732.42 ms/op 897.44 ms/op 0.82
migrate state 1500000 validators, 3400 modified, 2000 new 1.0273 s/op 1.2037 s/op 0.85
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.9800 ns/op 4.9700 ns/op 1.20
state getBlockRootAtSlot - 250000 vs - 7PWei 689.30 ns/op 645.78 ns/op 1.07
computeProposers - vc 250000 6.1914 ms/op 8.2298 ms/op 0.75
computeEpochShuffling - vc 250000 81.628 ms/op 100.41 ms/op 0.81
getNextSyncCommittee - vc 250000 108.38 ms/op 132.46 ms/op 0.82
computeSigningRoot for AttestationData 27.294 us/op 19.842 us/op 1.38
hash AttestationData serialized data then Buffer.toString(base64) 1.1439 us/op 1.5721 us/op 0.73
toHexString serialized data 788.78 ns/op 979.23 ns/op 0.81
Buffer.toString(base64) 139.58 ns/op 206.21 ns/op 0.68

by benchmarkbot/action

Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

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

Just collapsing only subsections seems like a good trade-off between accessibility and visibility

image

Having to do max 2 clicks to access any docs page would be nice. I guess we could choose to expand certain subsections if we would like

docs/sidebars.ts Outdated Show resolved Hide resolved
docs/sidebars.ts Show resolved Hide resolved
docs/sidebars.ts Show resolved Hide resolved
@nflaig nflaig changed the title fix: revert docs link removal docs: revert docs link removal Jun 7, 2024
@nflaig
Copy link
Member

nflaig commented Jun 9, 2024

Noticed there are plenty of links in our repo itself which lead to a "Page Not Found"

e.g.

- Quickly try out the whole stack by [starting a local testnet](https://chainsafe.github.io/lodestar/advanced-topics/setting-up-a-testnet/).

need to make sure to update those if we restructure docs

@wemeetagain
Copy link
Member

forgot to mention this one on the call, it would be nice to get this merged for 1.20

@jeluard jeluard requested a review from nflaig June 11, 2024 16:13
Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

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

Leaving this up to @philknows for final review & approval

@@ -1,5 +1,5 @@
---
title: Stake with a Validator Client
title: Starting a Validator Client
Copy link
Member

Choose a reason for hiding this comment

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

need to come up with some better title, "Validator Client" is redundant here. I liked the previous "Configuration" more, or maybe "Usage" (not sure myself)

Copy link
Member

Choose a reason for hiding this comment

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

For consistency with how we've named "Start a beacon node", I think we should just stick to "Starting a Validator Client." We can always follow up on a new PR in the future.

@@ -17,7 +17,7 @@
- :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).
- :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/).
- :computer: Utilize the whole stack by [starting a local testnet](https://chainsafe.github.io/lodestar/advanced-topics/setting-up-a-testnet/).
- :computer: Utilize the whole stack by [starting a local testnet](https://chainsafe.github.io/lodestar/contribution/advanced-topics/setting-up-a-testnet/).
Copy link
Member

Choose a reason for hiding this comment

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

We might wanna do some research if there is tooling that checks if all links work, we've broken so many links unnoticed before and it might be worth to set up some CI tooling for this

Copy link
Member

Choose a reason for hiding this comment

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

This is a good idea. For now, I've gone through the docs to fix broken links in eda50df

@philknows
Copy link
Member

Approving everything up to my commit. Fixed some minor details and ready to go unless someone has strong opposition to this current structure.

philknows
philknows previously approved these changes Jun 12, 2024
| Memory | 4GB RAM | 8GB RAM |
| Storage | 20GB available space SSD | 100GB available space SSD |
| Internet | Broadband connection | Broadband connection |
| | Minimum | Recommended |
Copy link
Member

Choose a reason for hiding this comment

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

Noting that these new updated specifications are based on recent experiences with running Lodestar and not necessarily based on baseline benchmark data. For CPU minimums, I based it off https://ethereum.org/en/run-a-node/ where they recommend a baseline CPU benchmark score of 6667+ and I picked out CPUs around this benchmark for minimums.

@jeluard jeluard requested a review from nflaig June 12, 2024 06:10
Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

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

LGTM

@jeluard jeluard merged commit 9332216 into unstable Jun 12, 2024
20 checks passed
@jeluard jeluard deleted the jeluard/docs-followup branch June 12, 2024 08:30
@nflaig
Copy link
Member

nflaig commented Jun 12, 2024

Minor thing I just noticed

image

subsections need some better titles

also "Lodestar Eth Consensus Lightclient Prover" is a ridiculous name 😂

@philknows
Copy link
Member

I'll be fixing up specific and outdated content in a new PR. Will rename that readme title there 😅

@wemeetagain
Copy link
Member

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

4 participants