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 prover and light client documentation #6983

Merged
merged 8 commits into from
Jul 30, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jul 29, 2024

Motivation

Keep docs up-to-date and concise

Description

Updates docs items related to prover and light client (see commits for details)

@nflaig nflaig requested a review from a team as a code owner July 29, 2024 12:03
Copy link

codecov bot commented Jul 29, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 62.49%. Comparing base (48a5a94) to head (b96509a).

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6983   +/-   ##
=========================================
  Coverage     62.49%   62.49%           
=========================================
  Files           576      576           
  Lines         61190    61190           
  Branches       2141     2138    -3     
=========================================
  Hits          38243    38243           
  Misses        22908    22908           
  Partials         39       39           

Copy link
Contributor

github-actions bot commented Jul 29, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 0adfd5b Previous: 4c3199a Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.7890 ms/op 1.8768 ms/op 0.95
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 39.694 us/op 42.358 us/op 0.94
BLS verify - blst 866.63 us/op 876.35 us/op 0.99
BLS verifyMultipleSignatures 3 - blst 1.3239 ms/op 1.3549 ms/op 0.98
BLS verifyMultipleSignatures 8 - blst 1.5223 ms/op 1.9832 ms/op 0.77
BLS verifyMultipleSignatures 32 - blst 4.5530 ms/op 4.4891 ms/op 1.01
BLS verifyMultipleSignatures 64 - blst 8.5590 ms/op 8.3271 ms/op 1.03
BLS verifyMultipleSignatures 128 - blst 15.668 ms/op 15.825 ms/op 0.99
BLS deserializing 10000 signatures 608.99 ms/op 603.60 ms/op 1.01
BLS deserializing 100000 signatures 6.3671 s/op 6.3866 s/op 1.00
BLS verifyMultipleSignatures - same message - 3 - blst 975.92 us/op 1.0054 ms/op 0.97
BLS verifyMultipleSignatures - same message - 8 - blst 1.1244 ms/op 1.0078 ms/op 1.12
BLS verifyMultipleSignatures - same message - 32 - blst 1.7207 ms/op 1.7437 ms/op 0.99
BLS verifyMultipleSignatures - same message - 64 - blst 2.5679 ms/op 2.6275 ms/op 0.98
BLS verifyMultipleSignatures - same message - 128 - blst 4.2815 ms/op 4.2252 ms/op 1.01
BLS aggregatePubkeys 32 - blst 18.497 us/op 19.321 us/op 0.96
BLS aggregatePubkeys 128 - blst 65.037 us/op 64.983 us/op 1.00
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 58.816 ms/op 73.288 ms/op 0.80
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 41.404 ms/op 65.452 ms/op 0.63
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 32.358 ms/op 42.185 ms/op 0.77
getSlashingsAndExits - default max 75.027 us/op 199.76 us/op 0.38
getSlashingsAndExits - 2k 287.12 us/op 327.09 us/op 0.88
proposeBlockBody type=full, size=empty 4.9703 ms/op 5.6711 ms/op 0.88
isKnown best case - 1 super set check 480.00 ns/op 510.00 ns/op 0.94
isKnown normal case - 2 super set checks 484.00 ns/op 483.00 ns/op 1.00
isKnown worse case - 16 super set checks 483.00 ns/op 475.00 ns/op 1.02
InMemoryCheckpointStateCache - add get delete 5.4730 us/op 4.6070 us/op 1.19
validate api signedAggregateAndProof - struct 1.5265 ms/op 1.5412 ms/op 0.99
validate gossip signedAggregateAndProof - struct 1.6554 ms/op 1.5519 ms/op 1.07
validate gossip attestation - vc 640000 1.0160 ms/op 1.0054 ms/op 1.01
batch validate gossip attestation - vc 640000 - chunk 32 136.55 us/op 133.57 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 64 120.87 us/op 110.19 us/op 1.10
batch validate gossip attestation - vc 640000 - chunk 128 106.35 us/op 106.39 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 256 113.30 us/op 102.42 us/op 1.11
pickEth1Vote - no votes 1.0520 ms/op 854.75 us/op 1.23
pickEth1Vote - max votes 8.0075 ms/op 5.8723 ms/op 1.36
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.309 ms/op 9.9916 ms/op 1.53
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 18.571 ms/op 14.319 ms/op 1.30
pickEth1Vote - Eth1Data fastSerialize value x2048 411.54 us/op 385.69 us/op 1.07
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.1375 ms/op 3.0543 ms/op 1.03
bytes32 toHexString 653.00 ns/op 624.00 ns/op 1.05
bytes32 Buffer.toString(hex) 515.00 ns/op 496.00 ns/op 1.04
bytes32 Buffer.toString(hex) from Uint8Array 663.00 ns/op 708.00 ns/op 0.94
bytes32 Buffer.toString(hex) + 0x 525.00 ns/op 467.00 ns/op 1.12
Object access 1 prop 0.35800 ns/op 0.36800 ns/op 0.97
Map access 1 prop 0.35300 ns/op 0.35700 ns/op 0.99
Object get x1000 5.4320 ns/op 5.4290 ns/op 1.00
Map get x1000 6.4030 ns/op 5.9730 ns/op 1.07
Object set x1000 23.949 ns/op 23.372 ns/op 1.02
Map set x1000 20.648 ns/op 19.861 ns/op 1.04
Return object 10000 times 0.31760 ns/op 0.33170 ns/op 0.96
Throw Error 10000 times 2.8574 us/op 2.8014 us/op 1.02
fastMsgIdFn sha256 / 200 bytes 2.2150 us/op 2.2070 us/op 1.00
fastMsgIdFn h32 xxhash / 200 bytes 516.00 ns/op 489.00 ns/op 1.06
fastMsgIdFn h64 xxhash / 200 bytes 506.00 ns/op 491.00 ns/op 1.03
fastMsgIdFn sha256 / 1000 bytes 6.3430 us/op 6.1730 us/op 1.03
fastMsgIdFn h32 xxhash / 1000 bytes 642.00 ns/op 622.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 1000 bytes 587.00 ns/op 558.00 ns/op 1.05
fastMsgIdFn sha256 / 10000 bytes 55.698 us/op 52.046 us/op 1.07
fastMsgIdFn h32 xxhash / 10000 bytes 2.1140 us/op 2.0460 us/op 1.03
fastMsgIdFn h64 xxhash / 10000 bytes 1.4330 us/op 1.4020 us/op 1.02
send data - 1000 256B messages 12.328 ms/op 10.916 ms/op 1.13
send data - 1000 512B messages 16.389 ms/op 16.991 ms/op 0.96
send data - 1000 1024B messages 25.297 ms/op 27.038 ms/op 0.94
send data - 1000 1200B messages 29.217 ms/op 25.779 ms/op 1.13
send data - 1000 2048B messages 37.040 ms/op 33.545 ms/op 1.10
send data - 1000 4096B messages 33.291 ms/op 30.060 ms/op 1.11
send data - 1000 16384B messages 78.264 ms/op 67.599 ms/op 1.16
send data - 1000 65536B messages 350.69 ms/op 299.18 ms/op 1.17
enrSubnets - fastDeserialize 64 bits 1.7200 us/op 1.3620 us/op 1.26
enrSubnets - ssz BitVector 64 bits 678.00 ns/op 670.00 ns/op 1.01
enrSubnets - fastDeserialize 4 bits 431.00 ns/op 395.00 ns/op 1.09
enrSubnets - ssz BitVector 4 bits 700.00 ns/op 657.00 ns/op 1.07
prioritizePeers score -10:0 att 32-0.1 sync 2-0 187.42 us/op 147.23 us/op 1.27
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 150.89 us/op 173.11 us/op 0.87
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 286.51 us/op 247.61 us/op 1.16
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 456.28 us/op 419.72 us/op 1.09
prioritizePeers score 0:0 att 64-1 sync 4-1 745.32 us/op 497.82 us/op 1.50
array of 16000 items push then shift 1.4058 us/op 1.2810 us/op 1.10
LinkedList of 16000 items push then shift 7.2290 ns/op 6.6980 ns/op 1.08
array of 16000 items push then pop 120.85 ns/op 109.94 ns/op 1.10
LinkedList of 16000 items push then pop 6.5820 ns/op 6.3740 ns/op 1.03
array of 24000 items push then shift 2.0396 us/op 2.0728 us/op 0.98
LinkedList of 24000 items push then shift 7.0210 ns/op 8.3240 ns/op 0.84
array of 24000 items push then pop 166.74 ns/op 164.80 ns/op 1.01
LinkedList of 24000 items push then pop 6.6470 ns/op 6.4970 ns/op 1.02
intersect bitArray bitLen 8 5.7410 ns/op 6.3510 ns/op 0.90
intersect array and set length 8 41.655 ns/op 40.339 ns/op 1.03
intersect bitArray bitLen 128 27.410 ns/op 27.002 ns/op 1.02
intersect array and set length 128 612.33 ns/op 625.94 ns/op 0.98
bitArray.getTrueBitIndexes() bitLen 128 2.6750 us/op 1.4600 us/op 1.83
bitArray.getTrueBitIndexes() bitLen 248 4.6760 us/op 2.5500 us/op 1.83
bitArray.getTrueBitIndexes() bitLen 512 10.370 us/op 5.1420 us/op 2.02
Buffer.concat 32 items 1.1430 us/op 1.0430 us/op 1.10
Uint8Array.set 32 items 1.8810 us/op 1.8310 us/op 1.03
Buffer.copy 2.1500 us/op 1.8530 us/op 1.16
Uint8Array.set - with subarray 2.9080 us/op 2.0270 us/op 1.43
Uint8Array.set - without subarray 1.7300 us/op 1.6710 us/op 1.04
getUint32 - dataview 499.00 ns/op 436.00 ns/op 1.14
getUint32 - manual 462.00 ns/op 359.00 ns/op 1.29
Set add up to 64 items then delete first 2.3335 us/op 1.7798 us/op 1.31
OrderedSet add up to 64 items then delete first 3.1761 us/op 2.7735 us/op 1.15
Set add up to 64 items then delete last 2.4428 us/op 2.0413 us/op 1.20
OrderedSet add up to 64 items then delete last 3.9640 us/op 3.1596 us/op 1.25
Set add up to 64 items then delete middle 2.6894 us/op 2.0341 us/op 1.32
OrderedSet add up to 64 items then delete middle 5.6869 us/op 4.5062 us/op 1.26
Set add up to 128 items then delete first 5.5249 us/op 3.9977 us/op 1.38
OrderedSet add up to 128 items then delete first 8.3831 us/op 6.2923 us/op 1.33
Set add up to 128 items then delete last 5.0224 us/op 4.0701 us/op 1.23
OrderedSet add up to 128 items then delete last 7.7866 us/op 5.9620 us/op 1.31
Set add up to 128 items then delete middle 4.8452 us/op 4.0162 us/op 1.21
OrderedSet add up to 128 items then delete middle 14.375 us/op 11.919 us/op 1.21
Set add up to 256 items then delete first 10.142 us/op 7.8886 us/op 1.29
OrderedSet add up to 256 items then delete first 16.165 us/op 13.113 us/op 1.23
Set add up to 256 items then delete last 9.6159 us/op 7.9540 us/op 1.21
OrderedSet add up to 256 items then delete last 12.557 us/op 11.881 us/op 1.06
Set add up to 256 items then delete middle 7.7902 us/op 7.6002 us/op 1.02
OrderedSet add up to 256 items then delete middle 38.758 us/op 35.089 us/op 1.10
transfer serialized Status (84 B) 1.6530 us/op 1.5470 us/op 1.07
copy serialized Status (84 B) 1.5050 us/op 1.2550 us/op 1.20
transfer serialized SignedVoluntaryExit (112 B) 1.8560 us/op 1.4960 us/op 1.24
copy serialized SignedVoluntaryExit (112 B) 1.5290 us/op 1.2530 us/op 1.22
transfer serialized ProposerSlashing (416 B) 2.4390 us/op 1.5910 us/op 1.53
copy serialized ProposerSlashing (416 B) 2.3150 us/op 1.4890 us/op 1.55
transfer serialized Attestation (485 B) 1.8760 us/op 1.7270 us/op 1.09
copy serialized Attestation (485 B) 2.1960 us/op 1.5060 us/op 1.46
transfer serialized AttesterSlashing (33232 B) 2.2630 us/op 1.7570 us/op 1.29
copy serialized AttesterSlashing (33232 B) 4.5140 us/op 3.6210 us/op 1.25
transfer serialized Small SignedBeaconBlock (128000 B) 3.0020 us/op 1.9370 us/op 1.55
copy serialized Small SignedBeaconBlock (128000 B) 10.674 us/op 8.4790 us/op 1.26
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2420 us/op 2.0150 us/op 1.61
copy serialized Avg SignedBeaconBlock (200000 B) 14.595 us/op 12.816 us/op 1.14
transfer serialized BlobsSidecar (524380 B) 3.4130 us/op 3.1850 us/op 1.07
copy serialized BlobsSidecar (524380 B) 96.782 us/op 74.856 us/op 1.29
transfer serialized Big SignedBeaconBlock (1000000 B) 3.8210 us/op 3.7260 us/op 1.03
copy serialized Big SignedBeaconBlock (1000000 B) 144.02 us/op 147.03 us/op 0.98
pass gossip attestations to forkchoice per slot 2.9911 ms/op 3.1944 ms/op 0.94
forkChoice updateHead vc 100000 bc 64 eq 0 511.43 us/op 469.09 us/op 1.09
forkChoice updateHead vc 600000 bc 64 eq 0 2.6236 ms/op 3.0187 ms/op 0.87
forkChoice updateHead vc 1000000 bc 64 eq 0 4.2424 ms/op 4.3287 ms/op 0.98
forkChoice updateHead vc 600000 bc 320 eq 0 2.7849 ms/op 2.5295 ms/op 1.10
forkChoice updateHead vc 600000 bc 1200 eq 0 3.0113 ms/op 2.6593 ms/op 1.13
forkChoice updateHead vc 600000 bc 7200 eq 0 3.1148 ms/op 3.2139 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 1000 9.8868 ms/op 10.017 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 10000 9.8488 ms/op 10.111 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 300000 13.601 ms/op 12.224 ms/op 1.11
computeDeltas 500000 validators 300 proto nodes 3.0870 ms/op 3.2141 ms/op 0.96
computeDeltas 500000 validators 1200 proto nodes 3.2252 ms/op 3.0907 ms/op 1.04
computeDeltas 500000 validators 7200 proto nodes 3.2062 ms/op 3.0656 ms/op 1.05
computeDeltas 750000 validators 300 proto nodes 4.6565 ms/op 4.6672 ms/op 1.00
computeDeltas 750000 validators 1200 proto nodes 4.5421 ms/op 4.4447 ms/op 1.02
computeDeltas 750000 validators 7200 proto nodes 4.6944 ms/op 4.5900 ms/op 1.02
computeDeltas 1400000 validators 300 proto nodes 8.7399 ms/op 8.3154 ms/op 1.05
computeDeltas 1400000 validators 1200 proto nodes 8.5541 ms/op 8.2134 ms/op 1.04
computeDeltas 1400000 validators 7200 proto nodes 8.6067 ms/op 7.8450 ms/op 1.10
computeDeltas 2100000 validators 300 proto nodes 12.956 ms/op 12.412 ms/op 1.04
computeDeltas 2100000 validators 1200 proto nodes 13.092 ms/op 12.066 ms/op 1.09
computeDeltas 2100000 validators 7200 proto nodes 13.093 ms/op 12.026 ms/op 1.09
altair processAttestation - 250000 vs - 7PWei normalcase 1.4363 ms/op 1.3405 ms/op 1.07
altair processAttestation - 250000 vs - 7PWei worstcase 2.2324 ms/op 2.0511 ms/op 1.09
altair processAttestation - setStatus - 1/6 committees join 71.906 us/op 64.651 us/op 1.11
altair processAttestation - setStatus - 1/3 committees join 147.82 us/op 138.64 us/op 1.07
altair processAttestation - setStatus - 1/2 committees join 211.37 us/op 201.11 us/op 1.05
altair processAttestation - setStatus - 2/3 committees join 289.45 us/op 264.80 us/op 1.09
altair processAttestation - setStatus - 4/5 committees join 420.55 us/op 379.93 us/op 1.11
altair processAttestation - setStatus - 100% committees join 502.44 us/op 463.23 us/op 1.08
altair processBlock - 250000 vs - 7PWei normalcase 4.8588 ms/op 2.9863 ms/op 1.63
altair processBlock - 250000 vs - 7PWei normalcase hashState 25.508 ms/op 25.390 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase 37.935 ms/op 34.963 ms/op 1.09
altair processBlock - 250000 vs - 7PWei worstcase hashState 76.024 ms/op 78.704 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4170 ms/op 1.6369 ms/op 1.48
phase0 processBlock - 250000 vs - 7PWei worstcase 26.087 ms/op 20.869 ms/op 1.25
altair processEth1Data - 250000 vs - 7PWei normalcase 347.13 us/op 246.96 us/op 1.41
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.5630 us/op 4.6530 us/op 1.63
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 18.137 us/op 17.116 us/op 1.06
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 9.4760 us/op 7.1940 us/op 1.32
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.7330 us/op 4.2510 us/op 1.82
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 81.864 us/op 82.845 us/op 0.99
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 682.07 us/op 822.49 us/op 0.83
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 724.66 us/op 672.68 us/op 1.08
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 712.58 us/op 1.0482 ms/op 0.68
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.5156 ms/op 1.8612 ms/op 1.35
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.3566 ms/op 1.2112 ms/op 1.12
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.8142 ms/op 2.7257 ms/op 1.77
Tree 40 250000 create 199.47 ms/op 181.98 ms/op 1.10
Tree 40 250000 get(125000) 122.16 ns/op 108.13 ns/op 1.13
Tree 40 250000 set(125000) 547.88 ns/op 565.33 ns/op 0.97
Tree 40 250000 toArray() 14.376 ms/op 12.811 ms/op 1.12
Tree 40 250000 iterate all - toArray() + loop 16.814 ms/op 17.322 ms/op 0.97
Tree 40 250000 iterate all - get(i) 47.108 ms/op 43.406 ms/op 1.09
MutableVector 250000 create 7.5690 ms/op 10.408 ms/op 0.73
MutableVector 250000 get(125000) 6.0620 ns/op 5.8710 ns/op 1.03
MutableVector 250000 set(125000) 218.44 ns/op 186.26 ns/op 1.17
MutableVector 250000 toArray() 4.0353 ms/op 2.5990 ms/op 1.55
MutableVector 250000 iterate all - toArray() + loop 4.0898 ms/op 2.7078 ms/op 1.51
MutableVector 250000 iterate all - get(i) 1.5054 ms/op 1.4181 ms/op 1.06
Array 250000 create 3.9929 ms/op 2.3829 ms/op 1.68
Array 250000 clone - spread 1.5506 ms/op 1.3384 ms/op 1.16
Array 250000 get(125000) 0.60300 ns/op 0.57000 ns/op 1.06
Array 250000 set(125000) 0.62100 ns/op 0.58100 ns/op 1.07
Array 250000 iterate all - loop 77.484 us/op 77.341 us/op 1.00
effectiveBalanceIncrements clone Uint8Array 300000 33.310 us/op 15.177 us/op 2.19
effectiveBalanceIncrements clone MutableVector 300000 329.00 ns/op 306.00 ns/op 1.08
effectiveBalanceIncrements rw all Uint8Array 300000 168.37 us/op 167.36 us/op 1.01
effectiveBalanceIncrements rw all MutableVector 300000 76.248 ms/op 60.122 ms/op 1.27
phase0 afterProcessEpoch - 250000 vs - 7PWei 78.691 ms/op 75.829 ms/op 1.04
Array.fill - length 1000000 2.6620 ms/op 2.4434 ms/op 1.09
Array push - length 1000000 16.284 ms/op 14.650 ms/op 1.11
Array.get 0.27989 ns/op 0.25987 ns/op 1.08
Uint8Array.get 0.35324 ns/op 0.33874 ns/op 1.04
phase0 beforeProcessEpoch - 250000 vs - 7PWei 26.789 ms/op 18.466 ms/op 1.45
altair processEpoch - mainnet_e81889 354.09 ms/op 311.15 ms/op 1.14
mainnet_e81889 - altair beforeProcessEpoch 34.558 ms/op 30.780 ms/op 1.12
mainnet_e81889 - altair processJustificationAndFinalization 20.008 us/op 10.998 us/op 1.82
mainnet_e81889 - altair processInactivityUpdates 5.2986 ms/op 4.6991 ms/op 1.13
mainnet_e81889 - altair processRewardsAndPenalties 49.634 ms/op 42.161 ms/op 1.18
mainnet_e81889 - altair processRegistryUpdates 2.5680 us/op 2.0620 us/op 1.25
mainnet_e81889 - altair processSlashings 1.0160 us/op 886.00 ns/op 1.15
mainnet_e81889 - altair processEth1DataReset 927.00 ns/op 828.00 ns/op 1.12
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.1070 ms/op 1.0323 ms/op 1.07
mainnet_e81889 - altair processSlashingsReset 4.7270 us/op 3.8950 us/op 1.21
mainnet_e81889 - altair processRandaoMixesReset 6.3730 us/op 4.3920 us/op 1.45
mainnet_e81889 - altair processHistoricalRootsUpdate 989.00 ns/op 1.1200 us/op 0.88
mainnet_e81889 - altair processParticipationFlagUpdates 4.2830 us/op 3.2030 us/op 1.34
mainnet_e81889 - altair processSyncCommitteeUpdates 1.4650 us/op 954.00 ns/op 1.54
mainnet_e81889 - altair afterProcessEpoch 83.554 ms/op 76.634 ms/op 1.09
capella processEpoch - mainnet_e217614 1.2835 s/op 1.2200 s/op 1.05
mainnet_e217614 - capella beforeProcessEpoch 127.34 ms/op 111.62 ms/op 1.14
mainnet_e217614 - capella processJustificationAndFinalization 19.990 us/op 14.598 us/op 1.37
mainnet_e217614 - capella processInactivityUpdates 16.825 ms/op 16.334 ms/op 1.03
mainnet_e217614 - capella processRewardsAndPenalties 256.85 ms/op 250.73 ms/op 1.02
mainnet_e217614 - capella processRegistryUpdates 11.815 us/op 12.489 us/op 0.95
mainnet_e217614 - capella processSlashings 832.00 ns/op 864.00 ns/op 0.96
mainnet_e217614 - capella processEth1DataReset 678.00 ns/op 826.00 ns/op 0.82
mainnet_e217614 - capella processEffectiveBalanceUpdates 14.096 ms/op 15.265 ms/op 0.92
mainnet_e217614 - capella processSlashingsReset 3.2720 us/op 3.5480 us/op 0.92
mainnet_e217614 - capella processRandaoMixesReset 9.4720 us/op 3.6210 us/op 2.62
mainnet_e217614 - capella processHistoricalRootsUpdate 959.00 ns/op 688.00 ns/op 1.39
mainnet_e217614 - capella processParticipationFlagUpdates 3.8330 us/op 1.6360 us/op 2.34
mainnet_e217614 - capella afterProcessEpoch 246.89 ms/op 242.40 ms/op 1.02
phase0 processEpoch - mainnet_e58758 382.73 ms/op 353.19 ms/op 1.08
mainnet_e58758 - phase0 beforeProcessEpoch 93.740 ms/op 92.431 ms/op 1.01
mainnet_e58758 - phase0 processJustificationAndFinalization 12.352 us/op 15.370 us/op 0.80
mainnet_e58758 - phase0 processRewardsAndPenalties 23.029 ms/op 37.585 ms/op 0.61
mainnet_e58758 - phase0 processRegistryUpdates 9.1860 us/op 7.3570 us/op 1.25
mainnet_e58758 - phase0 processSlashings 903.00 ns/op 818.00 ns/op 1.10
mainnet_e58758 - phase0 processEth1DataReset 860.00 ns/op 756.00 ns/op 1.14
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 905.34 us/op 1.3126 ms/op 0.69
mainnet_e58758 - phase0 processSlashingsReset 4.8600 us/op 2.7480 us/op 1.77
mainnet_e58758 - phase0 processRandaoMixesReset 6.2620 us/op 3.9740 us/op 1.58
mainnet_e58758 - phase0 processHistoricalRootsUpdate 782.00 ns/op 1.0520 us/op 0.74
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.6490 us/op 3.4180 us/op 1.65
mainnet_e58758 - phase0 afterProcessEpoch 77.294 ms/op 65.670 ms/op 1.18
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0223 ms/op 785.33 us/op 1.30
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5389 ms/op 1.4447 ms/op 1.07
altair processInactivityUpdates - 250000 normalcase 17.468 ms/op 18.797 ms/op 0.93
altair processInactivityUpdates - 250000 worstcase 17.134 ms/op 18.121 ms/op 0.95
phase0 processRegistryUpdates - 250000 normalcase 9.3030 us/op 6.7030 us/op 1.39
phase0 processRegistryUpdates - 250000 badcase_full_deposits 301.78 us/op 252.72 us/op 1.19
phase0 processRegistryUpdates - 250000 worstcase 0.5 113.87 ms/op 111.42 ms/op 1.02
altair processRewardsAndPenalties - 250000 normalcase 32.125 ms/op 39.636 ms/op 0.81
altair processRewardsAndPenalties - 250000 worstcase 43.443 ms/op 33.412 ms/op 1.30
phase0 getAttestationDeltas - 250000 normalcase 5.8256 ms/op 5.8571 ms/op 0.99
phase0 getAttestationDeltas - 250000 worstcase 6.4101 ms/op 6.7376 ms/op 0.95
phase0 processSlashings - 250000 worstcase 92.053 us/op 90.204 us/op 1.02
altair processSyncCommitteeUpdates - 250000 103.38 ms/op 93.707 ms/op 1.10
BeaconState.hashTreeRoot - No change 503.00 ns/op 566.00 ns/op 0.89
BeaconState.hashTreeRoot - 1 full validator 85.654 us/op 88.819 us/op 0.96
BeaconState.hashTreeRoot - 32 full validator 1.0727 ms/op 953.29 us/op 1.13
BeaconState.hashTreeRoot - 512 full validator 11.026 ms/op 9.5045 ms/op 1.16
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 113.50 us/op 144.22 us/op 0.79
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3460 ms/op 2.4519 ms/op 0.55
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 14.671 ms/op 29.779 ms/op 0.49
BeaconState.hashTreeRoot - 1 balances 86.287 us/op 97.791 us/op 0.88
BeaconState.hashTreeRoot - 32 balances 793.82 us/op 1.0080 ms/op 0.79
BeaconState.hashTreeRoot - 512 balances 5.8509 ms/op 8.9638 ms/op 0.65
BeaconState.hashTreeRoot - 250000 balances 109.63 ms/op 207.62 ms/op 0.53
aggregationBits - 2048 els - zipIndexesInBitList 20.020 us/op 36.616 us/op 0.55
byteArrayEquals 32 46.987 ns/op 48.819 ns/op 0.96
Buffer.compare 32 15.681 ns/op 15.628 ns/op 1.00
byteArrayEquals 1024 1.2809 us/op 1.2969 us/op 0.99
Buffer.compare 1024 23.724 ns/op 23.740 ns/op 1.00
byteArrayEquals 16384 20.271 us/op 23.644 us/op 0.86
Buffer.compare 16384 206.40 ns/op 180.45 ns/op 1.14
byteArrayEquals 123687377 154.15 ms/op 150.17 ms/op 1.03
Buffer.compare 123687377 4.7838 ms/op 4.6341 ms/op 1.03
byteArrayEquals 32 - diff last byte 47.280 ns/op 47.598 ns/op 0.99
Buffer.compare 32 - diff last byte 16.238 ns/op 16.302 ns/op 1.00
byteArrayEquals 1024 - diff last byte 1.2603 us/op 1.2610 us/op 1.00
Buffer.compare 1024 - diff last byte 24.561 ns/op 24.472 ns/op 1.00
byteArrayEquals 16384 - diff last byte 20.073 us/op 20.815 us/op 0.96
Buffer.compare 16384 - diff last byte 184.65 ns/op 204.69 ns/op 0.90
byteArrayEquals 123687377 - diff last byte 152.98 ms/op 144.13 ms/op 1.06
Buffer.compare 123687377 - diff last byte 5.3913 ms/op 5.1784 ms/op 1.04
byteArrayEquals 32 - random bytes 4.9860 ns/op 4.5670 ns/op 1.09
Buffer.compare 32 - random bytes 15.521 ns/op 14.577 ns/op 1.06
byteArrayEquals 1024 - random bytes 4.8850 ns/op 4.6410 ns/op 1.05
Buffer.compare 1024 - random bytes 15.197 ns/op 14.521 ns/op 1.05
byteArrayEquals 16384 - random bytes 4.9120 ns/op 4.6030 ns/op 1.07
Buffer.compare 16384 - random bytes 15.271 ns/op 14.425 ns/op 1.06
byteArrayEquals 123687377 - random bytes 7.7100 ns/op 7.3400 ns/op 1.05
Buffer.compare 123687377 - random bytes 18.170 ns/op 17.190 ns/op 1.06
regular array get 100000 times 29.870 us/op 28.972 us/op 1.03
wrappedArray get 100000 times 30.177 us/op 28.692 us/op 1.05
arrayWithProxy get 100000 times 9.5438 ms/op 10.521 ms/op 0.91
ssz.Root.equals 43.386 ns/op 46.253 ns/op 0.94
byteArrayEquals 41.982 ns/op 43.166 ns/op 0.97
Buffer.compare 9.2230 ns/op 9.4330 ns/op 0.98
shuffle list - 16384 els 5.5375 ms/op 5.5691 ms/op 0.99
shuffle list - 250000 els 81.402 ms/op 81.938 ms/op 0.99
processSlot - 1 slots 13.001 us/op 12.920 us/op 1.01
processSlot - 32 slots 1.9206 ms/op 2.3312 ms/op 0.82
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 41.319 ms/op 38.519 ms/op 1.07
getCommitteeAssignments - req 1 vs - 250000 vc 1.7004 ms/op 1.7033 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 3.3544 ms/op 3.4535 ms/op 0.97
getCommitteeAssignments - req 1000 vs - 250000 vc 3.6212 ms/op 3.7435 ms/op 0.97
findModifiedValidators - 10000 modified validators 246.84 ms/op 248.13 ms/op 0.99
findModifiedValidators - 1000 modified validators 147.93 ms/op 146.17 ms/op 1.01
findModifiedValidators - 100 modified validators 121.00 ms/op 149.12 ms/op 0.81
findModifiedValidators - 10 modified validators 145.43 ms/op 152.06 ms/op 0.96
findModifiedValidators - 1 modified validators 144.44 ms/op 171.29 ms/op 0.84
findModifiedValidators - no difference 149.41 ms/op 154.33 ms/op 0.97
compare ViewDUs 2.9137 s/op 3.0110 s/op 0.97
compare each validator Uint8Array 1.4187 s/op 1.2171 s/op 1.17
compare ViewDU to Uint8Array 987.36 ms/op 762.50 ms/op 1.29
migrate state 1000000 validators, 24 modified, 0 new 525.81 ms/op 580.99 ms/op 0.91
migrate state 1000000 validators, 1700 modified, 1000 new 914.72 ms/op 822.76 ms/op 1.11
migrate state 1000000 validators, 3400 modified, 2000 new 958.49 ms/op 874.01 ms/op 1.10
migrate state 1500000 validators, 24 modified, 0 new 541.91 ms/op 548.78 ms/op 0.99
migrate state 1500000 validators, 1700 modified, 1000 new 819.41 ms/op 801.71 ms/op 1.02
migrate state 1500000 validators, 3400 modified, 2000 new 1.0997 s/op 1.0891 s/op 1.01
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.7600 ns/op 7.0900 ns/op 0.95
state getBlockRootAtSlot - 250000 vs - 7PWei 938.15 ns/op 402.08 ns/op 2.33
computeProposers - vc 250000 6.9420 ms/op 5.9863 ms/op 1.16
computeEpochShuffling - vc 250000 85.187 ms/op 87.175 ms/op 0.98
getNextSyncCommittee - vc 250000 114.39 ms/op 107.39 ms/op 1.07
computeSigningRoot for AttestationData 21.120 us/op 29.180 us/op 0.72
hash AttestationData serialized data then Buffer.toString(base64) 1.2232 us/op 1.2135 us/op 1.01
toHexString serialized data 822.06 ns/op 797.36 ns/op 1.03
Buffer.toString(base64) 133.74 ns/op 145.61 ns/op 0.92

by benchmarkbot/action

matthewkeil
matthewkeil previously approved these changes Jul 30, 2024
Copy link
Member

@matthewkeil matthewkeil left a comment

Choose a reason for hiding this comment

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

Approving but think making those routes links might be a nice touch

packages/light-client/README.md Outdated Show resolved Hide resolved
philknows
philknows previously approved these changes Jul 30, 2024
@nflaig nflaig dismissed stale reviews from philknows and matthewkeil via 1c50f3c July 30, 2024 14:56
@philknows philknows merged commit 8826e1a into unstable Jul 30, 2024
20 checks passed
@philknows philknows deleted the nflaig/lc-prover-docs branch July 30, 2024 16:02
@wemeetagain
Copy link
Member

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