-
-
Notifications
You must be signed in to change notification settings - Fork 311
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
feat: add cli flag to disable light client server #6913
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #6913 +/- ##
============================================
- Coverage 62.55% 62.49% -0.06%
============================================
Files 575 576 +1
Lines 61045 61171 +126
Branches 2117 2133 +16
============================================
+ Hits 38186 38230 +44
- Misses 22820 22902 +82
Partials 39 39 |
We should also disable light client gossip topics |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - just minor nit regarding re-assignments
packages/beacon-node/src/network/reqresp/handlers/lightClientBootstrap.ts
Outdated
Show resolved
Hide resolved
|
Benchmark suite | Current: ace9d2c | Previous: c6369ee | Ratio |
---|---|---|---|
getUint32 - manual | 512.00 ns/op | 156.00 ns/op | 3.28 |
Full benchmark results
Benchmark suite | Current: ace9d2c | Previous: c6369ee | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 468.99 us/op | 521.89 us/op | 0.90 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 46.730 us/op | 49.337 us/op | 0.95 |
BLS verify - blst-native | 1.1110 ms/op | 1.3324 ms/op | 0.83 |
BLS verifyMultipleSignatures 3 - blst-native | 2.3749 ms/op | 2.8481 ms/op | 0.83 |
BLS verifyMultipleSignatures 8 - blst-native | 5.2777 ms/op | 6.2783 ms/op | 0.84 |
BLS verifyMultipleSignatures 32 - blst-native | 19.548 ms/op | 23.165 ms/op | 0.84 |
BLS verifyMultipleSignatures 64 - blst-native | 38.555 ms/op | 42.967 ms/op | 0.90 |
BLS verifyMultipleSignatures 128 - blst-native | 81.022 ms/op | 83.205 ms/op | 0.97 |
BLS deserializing 10000 signatures | 804.44 ms/op | 885.23 ms/op | 0.91 |
BLS deserializing 100000 signatures | 7.8062 s/op | 8.8022 s/op | 0.89 |
BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.1576 ms/op | 1.2784 ms/op | 0.91 |
BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.3126 ms/op | 1.5848 ms/op | 0.83 |
BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.2450 ms/op | 2.3520 ms/op | 0.95 |
BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.4766 ms/op | 3.9752 ms/op | 0.87 |
BLS verifyMultipleSignatures - same message - 128 - blst-native | 5.0129 ms/op | 5.4831 ms/op | 0.91 |
BLS aggregatePubkeys 32 - blst-native | 22.906 us/op | 25.386 us/op | 0.90 |
BLS aggregatePubkeys 128 - blst-native | 90.387 us/op | 100.57 us/op | 0.90 |
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 65.991 ms/op | 64.396 ms/op | 1.02 |
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 40.010 ms/op | 59.649 ms/op | 0.67 |
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 30.648 ms/op | 32.992 ms/op | 0.93 |
getSlashingsAndExits - default max | 61.450 us/op | 91.275 us/op | 0.67 |
getSlashingsAndExits - 2k | 260.94 us/op | 329.76 us/op | 0.79 |
proposeBlockBody type=full, size=empty | 4.9039 ms/op | 5.8381 ms/op | 0.84 |
isKnown best case - 1 super set check | 461.00 ns/op | 355.00 ns/op | 1.30 |
isKnown normal case - 2 super set checks | 452.00 ns/op | 296.00 ns/op | 1.53 |
isKnown worse case - 16 super set checks | 452.00 ns/op | 321.00 ns/op | 1.41 |
InMemoryCheckpointStateCache - add get delete | 4.4580 us/op | 5.6710 us/op | 0.79 |
validate api signedAggregateAndProof - struct | 2.3998 ms/op | 2.6959 ms/op | 0.89 |
validate gossip signedAggregateAndProof - struct | 2.4041 ms/op | 2.6845 ms/op | 0.90 |
validate gossip attestation - vc 640000 | 1.1531 ms/op | 1.3022 ms/op | 0.89 |
batch validate gossip attestation - vc 640000 - chunk 32 | 137.71 us/op | 161.12 us/op | 0.85 |
batch validate gossip attestation - vc 640000 - chunk 64 | 122.91 us/op | 142.79 us/op | 0.86 |
batch validate gossip attestation - vc 640000 - chunk 128 | 115.47 us/op | 142.90 us/op | 0.81 |
batch validate gossip attestation - vc 640000 - chunk 256 | 109.91 us/op | 132.45 us/op | 0.83 |
pickEth1Vote - no votes | 932.02 us/op | 1.2106 ms/op | 0.77 |
pickEth1Vote - max votes | 7.0171 ms/op | 10.025 ms/op | 0.70 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 12.826 ms/op | 15.612 ms/op | 0.82 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 21.132 ms/op | 22.574 ms/op | 0.94 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 414.28 us/op | 643.87 us/op | 0.64 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 4.7900 ms/op | 5.2058 ms/op | 0.92 |
bytes32 toHexString | 599.00 ns/op | 700.00 ns/op | 0.86 |
bytes32 Buffer.toString(hex) | 452.00 ns/op | 286.00 ns/op | 1.58 |
bytes32 Buffer.toString(hex) from Uint8Array | 546.00 ns/op | 496.00 ns/op | 1.10 |
bytes32 Buffer.toString(hex) + 0x | 447.00 ns/op | 291.00 ns/op | 1.54 |
Object access 1 prop | 0.32900 ns/op | 0.18900 ns/op | 1.74 |
Map access 1 prop | 0.32800 ns/op | 0.14300 ns/op | 2.29 |
Object get x1000 | 5.2540 ns/op | 6.3960 ns/op | 0.82 |
Map get x1000 | 5.7870 ns/op | 6.9480 ns/op | 0.83 |
Object set x1000 | 34.567 ns/op | 53.711 ns/op | 0.64 |
Map set x1000 | 23.501 ns/op | 34.773 ns/op | 0.68 |
Return object 10000 times | 0.31950 ns/op | 0.32040 ns/op | 1.00 |
Throw Error 10000 times | 2.9393 us/op | 3.5700 us/op | 0.82 |
fastMsgIdFn sha256 / 200 bytes | 2.2870 us/op | 2.4090 us/op | 0.95 |
fastMsgIdFn h32 xxhash / 200 bytes | 544.00 ns/op | 306.00 ns/op | 1.78 |
fastMsgIdFn h64 xxhash / 200 bytes | 560.00 ns/op | 294.00 ns/op | 1.90 |
fastMsgIdFn sha256 / 1000 bytes | 7.5800 us/op | 8.1050 us/op | 0.94 |
fastMsgIdFn h32 xxhash / 1000 bytes | 715.00 ns/op | 454.00 ns/op | 1.57 |
fastMsgIdFn h64 xxhash / 1000 bytes | 644.00 ns/op | 388.00 ns/op | 1.66 |
fastMsgIdFn sha256 / 10000 bytes | 54.481 us/op | 66.668 us/op | 0.82 |
fastMsgIdFn h32 xxhash / 10000 bytes | 2.1170 us/op | 2.0800 us/op | 1.02 |
fastMsgIdFn h64 xxhash / 10000 bytes | 1.4580 us/op | 1.3040 us/op | 1.12 |
send data - 1000 256B messages | 18.539 ms/op | 12.648 ms/op | 1.47 |
send data - 1000 512B messages | 23.715 ms/op | 17.773 ms/op | 1.33 |
send data - 1000 1024B messages | 36.938 ms/op | 28.092 ms/op | 1.31 |
send data - 1000 1200B messages | 36.956 ms/op | 27.149 ms/op | 1.36 |
send data - 1000 2048B messages | 52.858 ms/op | 31.741 ms/op | 1.67 |
send data - 1000 4096B messages | 45.622 ms/op | 32.462 ms/op | 1.41 |
send data - 1000 16384B messages | 141.22 ms/op | 71.741 ms/op | 1.97 |
send data - 1000 65536B messages | 500.39 ms/op | 213.51 ms/op | 2.34 |
enrSubnets - fastDeserialize 64 bits | 1.9510 us/op | 1.0710 us/op | 1.82 |
enrSubnets - ssz BitVector 64 bits | 700.00 ns/op | 361.00 ns/op | 1.94 |
enrSubnets - fastDeserialize 4 bits | 441.00 ns/op | 148.00 ns/op | 2.98 |
enrSubnets - ssz BitVector 4 bits | 708.00 ns/op | 359.00 ns/op | 1.97 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 253.49 us/op | 146.66 us/op | 1.73 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 271.96 us/op | 175.03 us/op | 1.55 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 449.13 us/op | 274.67 us/op | 1.64 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 623.31 us/op | 420.55 us/op | 1.48 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 1.1558 ms/op | 652.89 us/op | 1.77 |
array of 16000 items push then shift | 1.4023 us/op | 1.6942 us/op | 0.83 |
LinkedList of 16000 items push then shift | 10.084 ns/op | 7.1530 ns/op | 1.41 |
array of 16000 items push then pop | 145.72 ns/op | 111.00 ns/op | 1.31 |
LinkedList of 16000 items push then pop | 6.9470 ns/op | 7.0670 ns/op | 0.98 |
array of 24000 items push then shift | 2.0477 us/op | 2.4405 us/op | 0.84 |
LinkedList of 24000 items push then shift | 7.5570 ns/op | 7.1840 ns/op | 1.05 |
array of 24000 items push then pop | 193.98 ns/op | 144.15 ns/op | 1.35 |
LinkedList of 24000 items push then pop | 6.6750 ns/op | 7.2900 ns/op | 0.92 |
intersect bitArray bitLen 8 | 6.2110 ns/op | 6.6120 ns/op | 0.94 |
intersect array and set length 8 | 41.343 ns/op | 49.492 ns/op | 0.84 |
intersect bitArray bitLen 128 | 27.882 ns/op | 30.603 ns/op | 0.91 |
intersect array and set length 128 | 656.70 ns/op | 682.29 ns/op | 0.96 |
bitArray.getTrueBitIndexes() bitLen 128 | 2.7550 us/op | 1.6170 us/op | 1.70 |
bitArray.getTrueBitIndexes() bitLen 248 | 4.6090 us/op | 2.8230 us/op | 1.63 |
bitArray.getTrueBitIndexes() bitLen 512 | 10.355 us/op | 7.5890 us/op | 1.36 |
Buffer.concat 32 items | 1.1680 us/op | 977.00 ns/op | 1.20 |
Uint8Array.set 32 items | 2.0030 us/op | 1.5420 us/op | 1.30 |
Buffer.copy | 2.3440 us/op | 1.8440 us/op | 1.27 |
Uint8Array.set - with subarray | 3.7020 us/op | 2.5500 us/op | 1.45 |
Uint8Array.set - without subarray | 2.2380 us/op | 1.4640 us/op | 1.53 |
getUint32 - dataview | 520.00 ns/op | 244.00 ns/op | 2.13 |
getUint32 - manual | 512.00 ns/op | 156.00 ns/op | 3.28 |
Set add up to 64 items then delete first | 2.1333 us/op | 2.1851 us/op | 0.98 |
OrderedSet add up to 64 items then delete first | 3.5101 us/op | 3.3374 us/op | 1.05 |
Set add up to 64 items then delete last | 3.0347 us/op | 2.5728 us/op | 1.18 |
OrderedSet add up to 64 items then delete last | 3.5788 us/op | 4.0152 us/op | 0.89 |
Set add up to 64 items then delete middle | 2.3708 us/op | 2.5769 us/op | 0.92 |
OrderedSet add up to 64 items then delete middle | 5.2488 us/op | 5.3106 us/op | 0.99 |
Set add up to 128 items then delete first | 4.4507 us/op | 5.1419 us/op | 0.87 |
OrderedSet add up to 128 items then delete first | 6.5131 us/op | 8.5503 us/op | 0.76 |
Set add up to 128 items then delete last | 7.0299 us/op | 5.3408 us/op | 1.32 |
OrderedSet add up to 128 items then delete last | 7.1802 us/op | 8.8372 us/op | 0.81 |
Set add up to 128 items then delete middle | 4.4487 us/op | 5.0311 us/op | 0.88 |
OrderedSet add up to 128 items then delete middle | 15.332 us/op | 13.886 us/op | 1.10 |
Set add up to 256 items then delete first | 9.3426 us/op | 9.9022 us/op | 0.94 |
OrderedSet add up to 256 items then delete first | 14.061 us/op | 14.861 us/op | 0.95 |
Set add up to 256 items then delete last | 9.0940 us/op | 10.138 us/op | 0.90 |
OrderedSet add up to 256 items then delete last | 14.228 us/op | 15.722 us/op | 0.90 |
Set add up to 256 items then delete middle | 8.8695 us/op | 10.576 us/op | 0.84 |
OrderedSet add up to 256 items then delete middle | 44.733 us/op | 40.974 us/op | 1.09 |
transfer serialized Status (84 B) | 1.6660 us/op | 1.3940 us/op | 1.20 |
copy serialized Status (84 B) | 1.6860 us/op | 1.1320 us/op | 1.49 |
transfer serialized SignedVoluntaryExit (112 B) | 1.8220 us/op | 1.5010 us/op | 1.21 |
copy serialized SignedVoluntaryExit (112 B) | 1.7040 us/op | 1.1630 us/op | 1.47 |
transfer serialized ProposerSlashing (416 B) | 2.0360 us/op | 1.6530 us/op | 1.23 |
copy serialized ProposerSlashing (416 B) | 2.1810 us/op | 1.3400 us/op | 1.63 |
transfer serialized Attestation (485 B) | 1.9530 us/op | 1.6310 us/op | 1.20 |
copy serialized Attestation (485 B) | 2.1070 us/op | 1.3570 us/op | 1.55 |
transfer serialized AttesterSlashing (33232 B) | 1.7760 us/op | 1.7760 us/op | 1.00 |
copy serialized AttesterSlashing (33232 B) | 6.0860 us/op | 5.0890 us/op | 1.20 |
transfer serialized Small SignedBeaconBlock (128000 B) | 3.2010 us/op | 2.3470 us/op | 1.36 |
copy serialized Small SignedBeaconBlock (128000 B) | 16.917 us/op | 13.409 us/op | 1.26 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 2.1670 us/op | 2.8540 us/op | 0.76 |
copy serialized Avg SignedBeaconBlock (200000 B) | 18.235 us/op | 19.676 us/op | 0.93 |
transfer serialized BlobsSidecar (524380 B) | 3.3020 us/op | 3.0400 us/op | 1.09 |
copy serialized BlobsSidecar (524380 B) | 152.99 us/op | 77.948 us/op | 1.96 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 3.2600 us/op | 2.6900 us/op | 1.21 |
copy serialized Big SignedBeaconBlock (1000000 B) | 172.24 us/op | 151.14 us/op | 1.14 |
pass gossip attestations to forkchoice per slot | 3.2209 ms/op | 3.3441 ms/op | 0.96 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 448.39 us/op | 602.88 us/op | 0.74 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 2.6728 ms/op | 3.1633 ms/op | 0.84 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 4.9689 ms/op | 5.3248 ms/op | 0.93 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 2.8797 ms/op | 3.1444 ms/op | 0.92 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 4.8911 ms/op | 3.2180 ms/op | 1.52 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 4.9321 ms/op | 4.0588 ms/op | 1.22 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 11.080 ms/op | 10.792 ms/op | 1.03 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 13.923 ms/op | 10.868 ms/op | 1.28 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 42.510 ms/op | 14.866 ms/op | 2.86 |
computeDeltas 500000 validators 300 proto nodes | 3.0566 ms/op | 3.6931 ms/op | 0.83 |
computeDeltas 500000 validators 1200 proto nodes | 3.0080 ms/op | 3.6716 ms/op | 0.82 |
computeDeltas 500000 validators 7200 proto nodes | 3.0524 ms/op | 3.5459 ms/op | 0.86 |
computeDeltas 750000 validators 300 proto nodes | 4.4543 ms/op | 5.1892 ms/op | 0.86 |
computeDeltas 750000 validators 1200 proto nodes | 4.4505 ms/op | 5.2317 ms/op | 0.85 |
computeDeltas 750000 validators 7200 proto nodes | 4.3507 ms/op | 5.2396 ms/op | 0.83 |
computeDeltas 1400000 validators 300 proto nodes | 8.0757 ms/op | 10.110 ms/op | 0.80 |
computeDeltas 1400000 validators 1200 proto nodes | 8.1703 ms/op | 9.9715 ms/op | 0.82 |
computeDeltas 1400000 validators 7200 proto nodes | 8.1134 ms/op | 9.6925 ms/op | 0.84 |
computeDeltas 2100000 validators 300 proto nodes | 12.233 ms/op | 14.700 ms/op | 0.83 |
computeDeltas 2100000 validators 1200 proto nodes | 12.131 ms/op | 14.840 ms/op | 0.82 |
computeDeltas 2100000 validators 7200 proto nodes | 12.083 ms/op | 15.388 ms/op | 0.79 |
altair processAttestation - 250000 vs - 7PWei normalcase | 1.3775 ms/op | 1.7485 ms/op | 0.79 |
altair processAttestation - 250000 vs - 7PWei worstcase | 1.9891 ms/op | 2.7461 ms/op | 0.72 |
altair processAttestation - setStatus - 1/6 committees join | 70.821 us/op | 87.153 us/op | 0.81 |
altair processAttestation - setStatus - 1/3 committees join | 139.02 us/op | 182.82 us/op | 0.76 |
altair processAttestation - setStatus - 1/2 committees join | 180.22 us/op | 246.47 us/op | 0.73 |
altair processAttestation - setStatus - 2/3 committees join | 272.55 us/op | 323.40 us/op | 0.84 |
altair processAttestation - setStatus - 4/5 committees join | 382.74 us/op | 486.93 us/op | 0.79 |
altair processAttestation - setStatus - 100% committees join | 464.86 us/op | 590.70 us/op | 0.79 |
altair processBlock - 250000 vs - 7PWei normalcase | 3.3656 ms/op | 5.9852 ms/op | 0.56 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 23.762 ms/op | 26.568 ms/op | 0.89 |
altair processBlock - 250000 vs - 7PWei worstcase | 40.045 ms/op | 41.584 ms/op | 0.96 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 73.484 ms/op | 88.771 ms/op | 0.83 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 1.8341 ms/op | 1.9756 ms/op | 0.93 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 25.104 ms/op | 27.557 ms/op | 0.91 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 241.45 us/op | 297.31 us/op | 0.81 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 4.5140 us/op | 5.9250 us/op | 0.76 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 16.874 us/op | 29.619 us/op | 0.57 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 6.7280 us/op | 11.253 us/op | 0.60 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 5.1980 us/op | 7.0060 us/op | 0.74 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 45.248 us/op | 101.86 us/op | 0.44 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 454.39 us/op | 681.08 us/op | 0.67 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.0397 ms/op | 955.28 us/op | 1.09 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 1.0216 ms/op | 939.35 us/op | 1.09 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 2.0047 ms/op | 2.5951 ms/op | 0.77 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 1.2369 ms/op | 1.6398 ms/op | 0.75 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 3.0872 ms/op | 3.9464 ms/op | 0.78 |
Tree 40 250000 create | 201.38 ms/op | 227.09 ms/op | 0.89 |
Tree 40 250000 get(125000) | 116.80 ns/op | 160.87 ns/op | 0.73 |
Tree 40 250000 set(125000) | 529.50 ns/op | 744.43 ns/op | 0.71 |
Tree 40 250000 toArray() | 9.6575 ms/op | 21.404 ms/op | 0.45 |
Tree 40 250000 iterate all - toArray() + loop | 9.7112 ms/op | 20.363 ms/op | 0.48 |
Tree 40 250000 iterate all - get(i) | 40.359 ms/op | 55.730 ms/op | 0.72 |
MutableVector 250000 create | 6.1251 ms/op | 8.1651 ms/op | 0.75 |
MutableVector 250000 get(125000) | 6.2370 ns/op | 6.5140 ns/op | 0.96 |
MutableVector 250000 set(125000) | 182.03 ns/op | 221.67 ns/op | 0.82 |
MutableVector 250000 toArray() | 2.6192 ms/op | 4.4699 ms/op | 0.59 |
MutableVector 250000 iterate all - toArray() + loop | 2.7461 ms/op | 5.2339 ms/op | 0.52 |
MutableVector 250000 iterate all - get(i) | 1.4515 ms/op | 1.8875 ms/op | 0.77 |
Array 250000 create | 2.3782 ms/op | 3.4868 ms/op | 0.68 |
Array 250000 clone - spread | 1.2744 ms/op | 1.5019 ms/op | 0.85 |
Array 250000 get(125000) | 0.59600 ns/op | 0.42200 ns/op | 1.41 |
Array 250000 set(125000) | 0.59700 ns/op | 0.44500 ns/op | 1.34 |
Array 250000 iterate all - loop | 76.826 us/op | 85.809 us/op | 0.90 |
effectiveBalanceIncrements clone Uint8Array 300000 | 13.794 us/op | 112.03 us/op | 0.12 |
effectiveBalanceIncrements clone MutableVector 300000 | 308.00 ns/op | 126.00 ns/op | 2.44 |
effectiveBalanceIncrements rw all Uint8Array 300000 | 165.96 us/op | 201.92 us/op | 0.82 |
effectiveBalanceIncrements rw all MutableVector 300000 | 56.448 ms/op | 67.491 ms/op | 0.84 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 76.548 ms/op | 88.709 ms/op | 0.86 |
Array.fill - length 1000000 | 2.5611 ms/op | 3.5252 ms/op | 0.73 |
Array push - length 1000000 | 14.421 ms/op | 16.241 ms/op | 0.89 |
Array.get | 0.26660 ns/op | 0.29509 ns/op | 0.90 |
Uint8Array.get | 0.34603 ns/op | 0.44563 ns/op | 0.78 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 17.580 ms/op | 23.847 ms/op | 0.74 |
altair processEpoch - mainnet_e81889 | 284.29 ms/op | 357.30 ms/op | 0.80 |
mainnet_e81889 - altair beforeProcessEpoch | 31.190 ms/op | 27.615 ms/op | 1.13 |
mainnet_e81889 - altair processJustificationAndFinalization | 12.136 us/op | 12.923 us/op | 0.94 |
mainnet_e81889 - altair processInactivityUpdates | 4.9484 ms/op | 6.0616 ms/op | 0.82 |
mainnet_e81889 - altair processRewardsAndPenalties | 41.629 ms/op | 49.333 ms/op | 0.84 |
mainnet_e81889 - altair processRegistryUpdates | 5.0900 us/op | 2.3620 us/op | 2.15 |
mainnet_e81889 - altair processSlashings | 1.1940 us/op | 532.00 ns/op | 2.24 |
mainnet_e81889 - altair processEth1DataReset | 1.1130 us/op | 513.00 ns/op | 2.17 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.4628 ms/op | 1.1564 ms/op | 1.26 |
mainnet_e81889 - altair processSlashingsReset | 5.5550 us/op | 3.1490 us/op | 1.76 |
mainnet_e81889 - altair processRandaoMixesReset | 10.940 us/op | 4.8640 us/op | 2.25 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 928.00 ns/op | 817.00 ns/op | 1.14 |
mainnet_e81889 - altair processParticipationFlagUpdates | 2.2340 us/op | 1.7350 us/op | 1.29 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 934.00 ns/op | 455.00 ns/op | 2.05 |
mainnet_e81889 - altair afterProcessEpoch | 80.621 ms/op | 87.549 ms/op | 0.92 |
capella processEpoch - mainnet_e217614 | 1.1765 s/op | 1.1259 s/op | 1.05 |
mainnet_e217614 - capella beforeProcessEpoch | 119.21 ms/op | 117.44 ms/op | 1.02 |
mainnet_e217614 - capella processJustificationAndFinalization | 11.998 us/op | 19.002 us/op | 0.63 |
mainnet_e217614 - capella processInactivityUpdates | 14.856 ms/op | 21.157 ms/op | 0.70 |
mainnet_e217614 - capella processRewardsAndPenalties | 223.07 ms/op | 322.72 ms/op | 0.69 |
mainnet_e217614 - capella processRegistryUpdates | 11.503 us/op | 22.410 us/op | 0.51 |
mainnet_e217614 - capella processSlashings | 772.00 ns/op | 824.00 ns/op | 0.94 |
mainnet_e217614 - capella processEth1DataReset | 734.00 ns/op | 798.00 ns/op | 0.92 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 7.0804 ms/op | 18.302 ms/op | 0.39 |
mainnet_e217614 - capella processSlashingsReset | 2.8210 us/op | 6.6080 us/op | 0.43 |
mainnet_e217614 - capella processRandaoMixesReset | 2.7650 us/op | 6.7790 us/op | 0.41 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 748.00 ns/op | 1.1970 us/op | 0.62 |
mainnet_e217614 - capella processParticipationFlagUpdates | 4.8330 us/op | 4.6910 us/op | 1.03 |
mainnet_e217614 - capella afterProcessEpoch | 244.39 ms/op | 302.47 ms/op | 0.81 |
phase0 processEpoch - mainnet_e58758 | 344.14 ms/op | 415.23 ms/op | 0.83 |
mainnet_e58758 - phase0 beforeProcessEpoch | 77.352 ms/op | 103.53 ms/op | 0.75 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 13.212 us/op | 25.577 us/op | 0.52 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 30.516 ms/op | 33.006 ms/op | 0.92 |
mainnet_e58758 - phase0 processRegistryUpdates | 4.2510 us/op | 18.915 us/op | 0.22 |
mainnet_e58758 - phase0 processSlashings | 774.00 ns/op | 870.00 ns/op | 0.89 |
mainnet_e58758 - phase0 processEth1DataReset | 687.00 ns/op | 888.00 ns/op | 0.77 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.1767 ms/op | 1.8211 ms/op | 0.65 |
mainnet_e58758 - phase0 processSlashingsReset | 3.2060 us/op | 9.3360 us/op | 0.34 |
mainnet_e58758 - phase0 processRandaoMixesReset | 3.7080 us/op | 8.3490 us/op | 0.44 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 793.00 ns/op | 1.7240 us/op | 0.46 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 3.2870 us/op | 6.0080 us/op | 0.55 |
mainnet_e58758 - phase0 afterProcessEpoch | 68.371 ms/op | 94.006 ms/op | 0.73 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.4373 ms/op | 1.5347 ms/op | 0.94 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 1.5521 ms/op | 3.3349 ms/op | 0.47 |
altair processInactivityUpdates - 250000 normalcase | 19.418 ms/op | 20.924 ms/op | 0.93 |
altair processInactivityUpdates - 250000 worstcase | 17.599 ms/op | 18.983 ms/op | 0.93 |
phase0 processRegistryUpdates - 250000 normalcase | 5.3400 us/op | 12.544 us/op | 0.43 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 328.40 us/op | 308.28 us/op | 1.07 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 122.00 ms/op | 124.18 ms/op | 0.98 |
altair processRewardsAndPenalties - 250000 normalcase | 39.897 ms/op | 50.250 ms/op | 0.79 |
altair processRewardsAndPenalties - 250000 worstcase | 37.047 ms/op | 56.332 ms/op | 0.66 |
phase0 getAttestationDeltas - 250000 normalcase | 5.8406 ms/op | 11.530 ms/op | 0.51 |
phase0 getAttestationDeltas - 250000 worstcase | 5.8707 ms/op | 12.163 ms/op | 0.48 |
phase0 processSlashings - 250000 worstcase | 87.058 us/op | 119.67 us/op | 0.73 |
altair processSyncCommitteeUpdates - 250000 | 90.220 ms/op | 146.28 ms/op | 0.62 |
BeaconState.hashTreeRoot - No change | 480.00 ns/op | 426.00 ns/op | 1.13 |
BeaconState.hashTreeRoot - 1 full validator | 71.282 us/op | 121.11 us/op | 0.59 |
BeaconState.hashTreeRoot - 32 full validator | 817.28 us/op | 1.6756 ms/op | 0.49 |
BeaconState.hashTreeRoot - 512 full validator | 8.6344 ms/op | 15.716 ms/op | 0.55 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 102.13 us/op | 155.45 us/op | 0.66 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 1.5374 ms/op | 2.0251 ms/op | 0.76 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 18.976 ms/op | 31.703 ms/op | 0.60 |
BeaconState.hashTreeRoot - 1 balances | 76.224 us/op | 132.65 us/op | 0.57 |
BeaconState.hashTreeRoot - 32 balances | 697.74 us/op | 1.4074 ms/op | 0.50 |
BeaconState.hashTreeRoot - 512 balances | 8.6281 ms/op | 13.116 ms/op | 0.66 |
BeaconState.hashTreeRoot - 250000 balances | 185.74 ms/op | 201.02 ms/op | 0.92 |
aggregationBits - 2048 els - zipIndexesInBitList | 19.197 us/op | 25.267 us/op | 0.76 |
byteArrayEquals 32 | 49.480 ns/op | 55.421 ns/op | 0.89 |
Buffer.compare 32 | 15.681 ns/op | 18.146 ns/op | 0.86 |
byteArrayEquals 1024 | 1.2555 us/op | 1.6391 us/op | 0.77 |
Buffer.compare 1024 | 24.119 ns/op | 26.626 ns/op | 0.91 |
byteArrayEquals 16384 | 19.978 us/op | 26.752 us/op | 0.75 |
Buffer.compare 16384 | 199.57 ns/op | 187.19 ns/op | 1.07 |
byteArrayEquals 123687377 | 152.61 ms/op | 201.12 ms/op | 0.76 |
Buffer.compare 123687377 | 5.2335 ms/op | 7.2142 ms/op | 0.73 |
byteArrayEquals 32 - diff last byte | 47.045 ns/op | 54.816 ns/op | 0.86 |
Buffer.compare 32 - diff last byte | 16.096 ns/op | 18.979 ns/op | 0.85 |
byteArrayEquals 1024 - diff last byte | 1.2785 us/op | 1.6576 us/op | 0.77 |
Buffer.compare 1024 - diff last byte | 24.466 ns/op | 27.825 ns/op | 0.88 |
byteArrayEquals 16384 - diff last byte | 20.381 us/op | 25.728 us/op | 0.79 |
Buffer.compare 16384 - diff last byte | 182.94 ns/op | 198.88 ns/op | 0.92 |
byteArrayEquals 123687377 - diff last byte | 151.11 ms/op | 195.92 ms/op | 0.77 |
Buffer.compare 123687377 - diff last byte | 6.3760 ms/op | 6.7384 ms/op | 0.95 |
byteArrayEquals 32 - random bytes | 4.7360 ns/op | 5.3210 ns/op | 0.89 |
Buffer.compare 32 - random bytes | 15.147 ns/op | 17.565 ns/op | 0.86 |
byteArrayEquals 1024 - random bytes | 4.8000 ns/op | 5.2660 ns/op | 0.91 |
Buffer.compare 1024 - random bytes | 15.816 ns/op | 18.188 ns/op | 0.87 |
byteArrayEquals 16384 - random bytes | 5.0410 ns/op | 5.2770 ns/op | 0.96 |
Buffer.compare 16384 - random bytes | 15.854 ns/op | 17.891 ns/op | 0.89 |
byteArrayEquals 123687377 - random bytes | 7.9100 ns/op | 6.6500 ns/op | 1.19 |
Buffer.compare 123687377 - random bytes | 20.670 ns/op | 19.060 ns/op | 1.08 |
regular array get 100000 times | 31.585 us/op | 43.907 us/op | 0.72 |
wrappedArray get 100000 times | 31.864 us/op | 34.512 us/op | 0.92 |
arrayWithProxy get 100000 times | 9.8341 ms/op | 13.914 ms/op | 0.71 |
ssz.Root.equals | 44.036 ns/op | 47.177 ns/op | 0.93 |
byteArrayEquals | 42.136 ns/op | 46.118 ns/op | 0.91 |
Buffer.compare | 8.9360 ns/op | 10.644 ns/op | 0.84 |
shuffle list - 16384 els | 5.6099 ms/op | 6.6042 ms/op | 0.85 |
shuffle list - 250000 els | 82.566 ms/op | 95.412 ms/op | 0.87 |
processSlot - 1 slots | 14.814 us/op | 15.403 us/op | 0.96 |
processSlot - 32 slots | 3.0684 ms/op | 3.2198 ms/op | 0.95 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 38.839 ms/op | 37.024 ms/op | 1.05 |
getCommitteeAssignments - req 1 vs - 250000 vc | 1.7804 ms/op | 2.2011 ms/op | 0.81 |
getCommitteeAssignments - req 100 vs - 250000 vc | 3.5066 ms/op | 4.2546 ms/op | 0.82 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 3.7485 ms/op | 4.5410 ms/op | 0.83 |
findModifiedValidators - 10000 modified validators | 258.74 ms/op | 259.52 ms/op | 1.00 |
findModifiedValidators - 1000 modified validators | 166.24 ms/op | 194.29 ms/op | 0.86 |
findModifiedValidators - 100 modified validators | 143.45 ms/op | 189.37 ms/op | 0.76 |
findModifiedValidators - 10 modified validators | 142.07 ms/op | 193.41 ms/op | 0.73 |
findModifiedValidators - 1 modified validators | 145.62 ms/op | 191.89 ms/op | 0.76 |
findModifiedValidators - no difference | 152.81 ms/op | 171.91 ms/op | 0.89 |
compare ViewDUs | 3.0255 s/op | 3.0150 s/op | 1.00 |
compare each validator Uint8Array | 1.9514 s/op | 1.4152 s/op | 1.38 |
compare ViewDU to Uint8Array | 814.56 ms/op | 1.0076 s/op | 0.81 |
migrate state 1000000 validators, 24 modified, 0 new | 578.90 ms/op | 618.82 ms/op | 0.94 |
migrate state 1000000 validators, 1700 modified, 1000 new | 848.46 ms/op | 989.33 ms/op | 0.86 |
migrate state 1000000 validators, 3400 modified, 2000 new | 1.1082 s/op | 1.4645 s/op | 0.76 |
migrate state 1500000 validators, 24 modified, 0 new | 618.04 ms/op | 750.28 ms/op | 0.82 |
migrate state 1500000 validators, 1700 modified, 1000 new | 979.05 ms/op | 1.0186 s/op | 0.96 |
migrate state 1500000 validators, 3400 modified, 2000 new | 1.2277 s/op | 1.3974 s/op | 0.88 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 6.7600 ns/op | 5.6100 ns/op | 1.20 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 710.04 ns/op | 881.02 ns/op | 0.81 |
computeProposers - vc 250000 | 6.8560 ms/op | 9.1962 ms/op | 0.75 |
computeEpochShuffling - vc 250000 | 85.560 ms/op | 101.85 ms/op | 0.84 |
getNextSyncCommittee - vc 250000 | 134.60 ms/op | 140.99 ms/op | 0.95 |
computeSigningRoot for AttestationData | 23.533 us/op | 29.370 us/op | 0.80 |
hash AttestationData serialized data then Buffer.toString(base64) | 1.2371 us/op | 1.6503 us/op | 0.75 |
toHexString serialized data | 973.05 ns/op | 979.69 ns/op | 0.99 |
Buffer.toString(base64) | 145.87 ns/op | 202.22 ns/op | 0.72 |
by benchmarkbot/action
🎉 This PR is included in v1.21.0 🎉 |
Motivation
Disable the lightclient server in situations where needed.
Description
Closes #6800
Steps to test or reproduce
Run all tests