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

feat: implement peerDAS on electra #6353

Draft
wants to merge 9 commits into
base: unstable
Choose a base branch
from
Draft

feat: implement peerDAS on electra #6353

wants to merge 9 commits into from

Conversation

Copy link
Contributor

github-actions bot commented Jun 22, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: d920f6e Previous: 8cb08ff Ratio
getSlashingsAndExits - default max 69.496 us/op 229.04 us/op 0.30
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 2.5320 us/op 7.7250 us/op 0.33
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.3833 ms/op 5.5777 ms/op 0.25
Full benchmark results
Benchmark suite Current: d920f6e Previous: 8cb08ff Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 376.21 us/op 512.16 us/op 0.73
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 38.444 us/op 52.922 us/op 0.73
BLS verify - blst-native 1.1377 ms/op 1.2685 ms/op 0.90
BLS verifyMultipleSignatures 3 - blst-native 2.4157 ms/op 2.7120 ms/op 0.89
BLS verifyMultipleSignatures 8 - blst-native 5.3575 ms/op 6.2377 ms/op 0.86
BLS verifyMultipleSignatures 32 - blst-native 19.576 ms/op 21.928 ms/op 0.89
BLS verifyMultipleSignatures 64 - blst-native 38.760 ms/op 43.220 ms/op 0.90
BLS verifyMultipleSignatures 128 - blst-native 76.626 ms/op 85.380 ms/op 0.90
BLS deserializing 10000 signatures 788.52 ms/op 880.27 ms/op 0.90
BLS deserializing 100000 signatures 7.8174 s/op 9.1411 s/op 0.86
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1256 ms/op 1.4734 ms/op 0.76
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.2763 ms/op 1.4626 ms/op 0.87
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.1269 ms/op 2.2858 ms/op 0.93
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.5188 ms/op 3.3979 ms/op 1.04
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.0466 ms/op 5.6372 ms/op 0.90
BLS aggregatePubkeys 32 - blst-native 22.944 us/op 27.246 us/op 0.84
BLS aggregatePubkeys 128 - blst-native 89.932 us/op 104.98 us/op 0.86
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 64.172 ms/op 117.82 ms/op 0.54
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 52.133 ms/op 88.175 ms/op 0.59
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 28.174 ms/op 48.857 ms/op 0.58
getSlashingsAndExits - default max 69.496 us/op 229.04 us/op 0.30
getSlashingsAndExits - 2k 268.73 us/op 329.09 us/op 0.82
proposeBlockBody type=full, size=empty 5.0225 ms/op 5.9373 ms/op 0.85
isKnown best case - 1 super set check 471.00 ns/op 358.00 ns/op 1.32
isKnown normal case - 2 super set checks 477.00 ns/op 364.00 ns/op 1.31
isKnown worse case - 16 super set checks 465.00 ns/op 431.00 ns/op 1.08
InMemoryCheckpointStateCache - add get delete 4.4590 us/op 6.2000 us/op 0.72
validate api signedAggregateAndProof - struct 2.3653 ms/op 2.7497 ms/op 0.86
validate gossip signedAggregateAndProof - struct 2.3732 ms/op 2.7804 ms/op 0.85
validate gossip attestation - vc 640000 1.1187 ms/op 1.3453 ms/op 0.83
batch validate gossip attestation - vc 640000 - chunk 32 127.82 us/op 168.19 us/op 0.76
batch validate gossip attestation - vc 640000 - chunk 64 117.15 us/op 142.56 us/op 0.82
batch validate gossip attestation - vc 640000 - chunk 128 107.55 us/op 129.18 us/op 0.83
batch validate gossip attestation - vc 640000 - chunk 256 105.97 us/op 130.02 us/op 0.82
pickEth1Vote - no votes 851.99 us/op 1.1812 ms/op 0.72
pickEth1Vote - max votes 8.2517 ms/op 9.4035 ms/op 0.88
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.105 ms/op 14.288 ms/op 0.99
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.555 ms/op 19.294 ms/op 1.01
pickEth1Vote - Eth1Data fastSerialize value x2048 378.17 us/op 506.48 us/op 0.75
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.7828 ms/op 3.9629 ms/op 1.71
bytes32 toHexString 562.00 ns/op 482.00 ns/op 1.17
bytes32 Buffer.toString(hex) 425.00 ns/op 256.00 ns/op 1.66
bytes32 Buffer.toString(hex) from Uint8Array 523.00 ns/op 429.00 ns/op 1.22
bytes32 Buffer.toString(hex) + 0x 428.00 ns/op 259.00 ns/op 1.65
Object access 1 prop 0.32500 ns/op 0.15000 ns/op 2.17
Map access 1 prop 0.29800 ns/op 0.14800 ns/op 2.01
Object get x1000 4.8930 ns/op 6.2920 ns/op 0.78
Map get x1000 5.4130 ns/op 6.6470 ns/op 0.81
Object set x1000 22.244 ns/op 40.221 ns/op 0.55
Map set x1000 18.090 ns/op 24.523 ns/op 0.74
Return object 10000 times 0.27680 ns/op 0.31090 ns/op 0.89
Throw Error 10000 times 2.5828 us/op 3.5789 us/op 0.72
fastMsgIdFn sha256 / 200 bytes 1.8240 us/op 2.4260 us/op 0.75
fastMsgIdFn h32 xxhash / 200 bytes 385.00 ns/op 300.00 ns/op 1.28
fastMsgIdFn h64 xxhash / 200 bytes 423.00 ns/op 280.00 ns/op 1.51
fastMsgIdFn sha256 / 1000 bytes 5.7030 us/op 7.7530 us/op 0.74
fastMsgIdFn h32 xxhash / 1000 bytes 493.00 ns/op 430.00 ns/op 1.15
fastMsgIdFn h64 xxhash / 1000 bytes 480.00 ns/op 355.00 ns/op 1.35
fastMsgIdFn sha256 / 10000 bytes 47.290 us/op 67.572 us/op 0.70
fastMsgIdFn h32 xxhash / 10000 bytes 1.8540 us/op 1.9540 us/op 0.95
fastMsgIdFn h64 xxhash / 10000 bytes 1.2840 us/op 1.2440 us/op 1.03
send data - 1000 256B messages 10.729 ms/op 14.346 ms/op 0.75
send data - 1000 512B messages 15.000 ms/op 19.241 ms/op 0.78
send data - 1000 1024B messages 24.854 ms/op 27.767 ms/op 0.90
send data - 1000 1200B messages 23.052 ms/op 29.112 ms/op 0.79
send data - 1000 2048B messages 27.956 ms/op 35.354 ms/op 0.79
send data - 1000 4096B messages 26.066 ms/op 34.994 ms/op 0.74
send data - 1000 16384B messages 62.305 ms/op 77.988 ms/op 0.80
send data - 1000 65536B messages 235.43 ms/op 214.44 ms/op 1.10
enrSubnets - fastDeserialize 64 bits 1.0910 us/op 1.2640 us/op 0.86
enrSubnets - ssz BitVector 64 bits 532.00 ns/op 419.00 ns/op 1.27
enrSubnets - fastDeserialize 4 bits 337.00 ns/op 194.00 ns/op 1.74
enrSubnets - ssz BitVector 4 bits 529.00 ns/op 417.00 ns/op 1.27
prioritizePeers score -10:0 att 32-0.1 sync 2-0 119.71 us/op 159.58 us/op 0.75
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 138.02 us/op 189.04 us/op 0.73
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 215.27 us/op 279.24 us/op 0.77
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 526.57 us/op 452.19 us/op 1.16
prioritizePeers score 0:0 att 64-1 sync 4-1 625.71 us/op 653.60 us/op 0.96
array of 16000 items push then shift 1.2198 us/op 1.6961 us/op 0.72
LinkedList of 16000 items push then shift 7.2100 ns/op 7.4700 ns/op 0.97
array of 16000 items push then pop 99.566 ns/op 125.73 ns/op 0.79
LinkedList of 16000 items push then pop 6.1110 ns/op 7.4480 ns/op 0.82
array of 24000 items push then shift 1.7563 us/op 2.5110 us/op 0.70
LinkedList of 24000 items push then shift 6.6720 ns/op 7.5860 ns/op 0.88
array of 24000 items push then pop 110.48 ns/op 168.94 ns/op 0.65
LinkedList of 24000 items push then pop 5.9720 ns/op 8.5620 ns/op 0.70
intersect bitArray bitLen 8 5.2770 ns/op 7.1940 ns/op 0.73
intersect array and set length 8 38.264 ns/op 50.250 ns/op 0.76
intersect bitArray bitLen 128 25.005 ns/op 32.219 ns/op 0.78
intersect array and set length 128 545.87 ns/op 804.14 ns/op 0.68
bitArray.getTrueBitIndexes() bitLen 128 2.3100 us/op 1.6680 us/op 1.38
bitArray.getTrueBitIndexes() bitLen 248 3.1880 us/op 2.8610 us/op 1.11
bitArray.getTrueBitIndexes() bitLen 512 6.4850 us/op 5.6520 us/op 1.15
Buffer.concat 32 items 974.00 ns/op 1.0530 us/op 0.92
Uint8Array.set 32 items 1.7470 us/op 1.6480 us/op 1.06
Buffer.copy 1.9560 us/op 2.0870 us/op 0.94
Uint8Array.set - with subarray 2.3810 us/op 3.1450 us/op 0.76
Uint8Array.set - without subarray 1.7510 us/op 2.1470 us/op 0.82
Set add up to 64 items then delete first 1.8146 us/op 2.4040 us/op 0.75
OrderedSet add up to 64 items then delete first 2.8307 us/op 3.8233 us/op 0.74
Set add up to 64 items then delete last 2.0665 us/op 2.8666 us/op 0.72
OrderedSet add up to 64 items then delete last 3.1129 us/op 4.0678 us/op 0.77
Set add up to 64 items then delete middle 2.0672 us/op 2.9891 us/op 0.69
OrderedSet add up to 64 items then delete middle 4.3411 us/op 5.5580 us/op 0.78
Set add up to 128 items then delete first 3.8882 us/op 6.1967 us/op 0.63
OrderedSet add up to 128 items then delete first 5.9861 us/op 9.2171 us/op 0.65
Set add up to 128 items then delete last 3.8386 us/op 5.9352 us/op 0.65
OrderedSet add up to 128 items then delete last 6.2914 us/op 9.9482 us/op 0.63
Set add up to 128 items then delete middle 3.9840 us/op 6.5788 us/op 0.61
OrderedSet add up to 128 items then delete middle 12.558 us/op 16.918 us/op 0.74
Set add up to 256 items then delete first 8.0141 us/op 13.968 us/op 0.57
OrderedSet add up to 256 items then delete first 12.605 us/op 18.672 us/op 0.68
Set add up to 256 items then delete last 7.7440 us/op 12.917 us/op 0.60
OrderedSet add up to 256 items then delete last 11.915 us/op 18.707 us/op 0.64
Set add up to 256 items then delete middle 7.7019 us/op 12.528 us/op 0.61
OrderedSet add up to 256 items then delete middle 34.276 us/op 46.636 us/op 0.73
transfer serialized Status (84 B) 1.4880 us/op 1.6150 us/op 0.92
copy serialized Status (84 B) 1.2550 us/op 1.3580 us/op 0.92
transfer serialized SignedVoluntaryExit (112 B) 1.6830 us/op 1.7250 us/op 0.98
copy serialized SignedVoluntaryExit (112 B) 1.3090 us/op 1.3390 us/op 0.98
transfer serialized ProposerSlashing (416 B) 2.2720 us/op 2.5470 us/op 0.89
copy serialized ProposerSlashing (416 B) 1.9240 us/op 2.7390 us/op 0.70
transfer serialized Attestation (485 B) 2.1970 us/op 2.4160 us/op 0.91
copy serialized Attestation (485 B) 1.9180 us/op 2.5210 us/op 0.76
transfer serialized AttesterSlashing (33232 B) 2.5380 us/op 2.3410 us/op 1.08
copy serialized AttesterSlashing (33232 B) 4.4430 us/op 7.8020 us/op 0.57
transfer serialized Small SignedBeaconBlock (128000 B) 2.9180 us/op 3.0030 us/op 0.97
copy serialized Small SignedBeaconBlock (128000 B) 9.9380 us/op 22.073 us/op 0.45
transfer serialized Avg SignedBeaconBlock (200000 B) 3.1880 us/op 3.9160 us/op 0.81
copy serialized Avg SignedBeaconBlock (200000 B) 13.984 us/op 29.607 us/op 0.47
transfer serialized BlobsSidecar (524380 B) 3.1950 us/op 3.7580 us/op 0.85
copy serialized BlobsSidecar (524380 B) 78.066 us/op 140.72 us/op 0.55
transfer serialized Big SignedBeaconBlock (1000000 B) 3.4410 us/op 4.4420 us/op 0.77
copy serialized Big SignedBeaconBlock (1000000 B) 147.54 us/op 210.33 us/op 0.70
pass gossip attestations to forkchoice per slot 2.6555 ms/op 3.2589 ms/op 0.81
forkChoice updateHead vc 100000 bc 64 eq 0 417.98 us/op 521.16 us/op 0.80
forkChoice updateHead vc 600000 bc 64 eq 0 2.5998 ms/op 4.1609 ms/op 0.62
forkChoice updateHead vc 1000000 bc 64 eq 0 4.2622 ms/op 6.1514 ms/op 0.69
forkChoice updateHead vc 600000 bc 320 eq 0 2.5394 ms/op 3.3919 ms/op 0.75
forkChoice updateHead vc 600000 bc 1200 eq 0 2.7553 ms/op 3.5644 ms/op 0.77
forkChoice updateHead vc 600000 bc 7200 eq 0 3.0550 ms/op 4.0178 ms/op 0.76
forkChoice updateHead vc 600000 bc 64 eq 1000 9.7410 ms/op 11.662 ms/op 0.84
forkChoice updateHead vc 600000 bc 64 eq 10000 9.6036 ms/op 11.331 ms/op 0.85
forkChoice updateHead vc 600000 bc 64 eq 300000 12.064 ms/op 23.090 ms/op 0.52
computeDeltas 500000 validators 300 proto nodes 3.0957 ms/op 4.3691 ms/op 0.71
computeDeltas 500000 validators 1200 proto nodes 3.1013 ms/op 4.7592 ms/op 0.65
computeDeltas 500000 validators 7200 proto nodes 3.0012 ms/op 4.4505 ms/op 0.67
computeDeltas 750000 validators 300 proto nodes 4.4328 ms/op 5.5877 ms/op 0.79
computeDeltas 750000 validators 1200 proto nodes 4.4308 ms/op 5.7548 ms/op 0.77
computeDeltas 750000 validators 7200 proto nodes 4.4095 ms/op 5.8303 ms/op 0.76
computeDeltas 1400000 validators 300 proto nodes 8.2211 ms/op 10.517 ms/op 0.78
computeDeltas 1400000 validators 1200 proto nodes 8.0416 ms/op 10.867 ms/op 0.74
computeDeltas 1400000 validators 7200 proto nodes 8.3287 ms/op 11.474 ms/op 0.73
computeDeltas 2100000 validators 300 proto nodes 12.014 ms/op 18.107 ms/op 0.66
computeDeltas 2100000 validators 1200 proto nodes 12.283 ms/op 20.169 ms/op 0.61
computeDeltas 2100000 validators 7200 proto nodes 12.316 ms/op 18.247 ms/op 0.67
altair processAttestation - 250000 vs - 7PWei normalcase 1.4273 ms/op 2.8655 ms/op 0.50
altair processAttestation - 250000 vs - 7PWei worstcase 2.1514 ms/op 3.4938 ms/op 0.62
altair processAttestation - setStatus - 1/6 committees join 88.652 us/op 142.64 us/op 0.62
altair processAttestation - setStatus - 1/3 committees join 181.52 us/op 259.36 us/op 0.70
altair processAttestation - setStatus - 1/2 committees join 245.44 us/op 378.15 us/op 0.65
altair processAttestation - setStatus - 2/3 committees join 326.24 us/op 460.29 us/op 0.71
altair processAttestation - setStatus - 4/5 committees join 442.77 us/op 657.73 us/op 0.67
altair processAttestation - setStatus - 100% committees join 523.27 us/op 792.31 us/op 0.66
altair processBlock - 250000 vs - 7PWei normalcase 3.4666 ms/op 4.7554 ms/op 0.73
altair processBlock - 250000 vs - 7PWei normalcase hashState 26.788 ms/op 30.897 ms/op 0.87
altair processBlock - 250000 vs - 7PWei worstcase 39.766 ms/op 48.156 ms/op 0.83
altair processBlock - 250000 vs - 7PWei worstcase hashState 80.519 ms/op 88.419 ms/op 0.91
phase0 processBlock - 250000 vs - 7PWei normalcase 1.7460 ms/op 2.8621 ms/op 0.61
phase0 processBlock - 250000 vs - 7PWei worstcase 23.547 ms/op 30.536 ms/op 0.77
altair processEth1Data - 250000 vs - 7PWei normalcase 233.06 us/op 391.14 us/op 0.60
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 2.5320 us/op 7.7250 us/op 0.33
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 17.457 us/op 27.056 us/op 0.65
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 6.9350 us/op 12.743 us/op 0.54
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.0610 us/op 9.2640 us/op 0.55
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 75.818 us/op 149.26 us/op 0.51
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 773.29 us/op 798.23 us/op 0.97
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 583.86 us/op 1.1867 ms/op 0.49
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.0889 ms/op 1.1645 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 1.7479 ms/op 2.5502 ms/op 0.69
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.0199 ms/op 2.0610 ms/op 0.49
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.6437 ms/op 4.5036 ms/op 0.59
Tree 40 250000 create 185.45 ms/op 260.90 ms/op 0.71
Tree 40 250000 get(125000) 116.21 ns/op 166.49 ns/op 0.70
Tree 40 250000 set(125000) 552.94 ns/op 768.87 ns/op 0.72
Tree 40 250000 toArray() 9.7858 ms/op 21.085 ms/op 0.46
Tree 40 250000 iterate all - toArray() + loop 9.9811 ms/op 19.344 ms/op 0.52
Tree 40 250000 iterate all - get(i) 39.783 ms/op 58.681 ms/op 0.68
MutableVector 250000 create 9.2735 ms/op 10.160 ms/op 0.91
MutableVector 250000 get(125000) 5.7580 ns/op 11.924 ns/op 0.48
MutableVector 250000 set(125000) 181.51 ns/op 212.76 ns/op 0.85
MutableVector 250000 toArray() 2.5489 ms/op 3.9661 ms/op 0.64
MutableVector 250000 iterate all - toArray() + loop 2.6364 ms/op 3.9903 ms/op 0.66
MutableVector 250000 iterate all - get(i) 1.2546 ms/op 1.6893 ms/op 0.74
Array 250000 create 2.2549 ms/op 3.1815 ms/op 0.71
Array 250000 clone - spread 1.2045 ms/op 1.3949 ms/op 0.86
Array 250000 get(125000) 0.52500 ns/op 0.42600 ns/op 1.23
Array 250000 set(125000) 0.52500 ns/op 0.44300 ns/op 1.19
Array 250000 iterate all - loop 67.739 us/op 86.300 us/op 0.78
effectiveBalanceIncrements clone Uint8Array 300000 18.629 us/op 36.500 us/op 0.51
effectiveBalanceIncrements clone MutableVector 300000 273.00 ns/op 126.00 ns/op 2.17
effectiveBalanceIncrements rw all Uint8Array 300000 153.74 us/op 204.11 us/op 0.75
effectiveBalanceIncrements rw all MutableVector 300000 54.850 ms/op 80.371 ms/op 0.68
phase0 afterProcessEpoch - 250000 vs - 7PWei 72.466 ms/op 92.844 ms/op 0.78
phase0 beforeProcessEpoch - 250000 vs - 7PWei 34.420 ms/op 42.567 ms/op 0.81
altair processEpoch - mainnet_e81889 347.39 ms/op 453.51 ms/op 0.77
mainnet_e81889 - altair beforeProcessEpoch 56.204 ms/op 71.026 ms/op 0.79
mainnet_e81889 - altair processJustificationAndFinalization 9.8850 us/op 19.023 us/op 0.52
mainnet_e81889 - altair processInactivityUpdates 4.9927 ms/op 7.4185 ms/op 0.67
mainnet_e81889 - altair processRewardsAndPenalties 55.926 ms/op 54.610 ms/op 1.02
mainnet_e81889 - altair processRegistryUpdates 2.0000 us/op 2.6370 us/op 0.76
mainnet_e81889 - altair processSlashings 812.00 ns/op 658.00 ns/op 1.23
mainnet_e81889 - altair processEth1DataReset 720.00 ns/op 587.00 ns/op 1.23
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2077 ms/op 2.2126 ms/op 0.55
mainnet_e81889 - altair processSlashingsReset 2.1470 us/op 3.9370 us/op 0.55
mainnet_e81889 - altair processRandaoMixesReset 2.6420 us/op 7.2480 us/op 0.36
mainnet_e81889 - altair processHistoricalRootsUpdate 740.00 ns/op 634.00 ns/op 1.17
mainnet_e81889 - altair processParticipationFlagUpdates 1.3910 us/op 3.0200 us/op 0.46
mainnet_e81889 - altair processSyncCommitteeUpdates 619.00 ns/op 422.00 ns/op 1.47
mainnet_e81889 - altair afterProcessEpoch 79.268 ms/op 95.619 ms/op 0.83
capella processEpoch - mainnet_e217614 1.2145 s/op 1.5241 s/op 0.80
mainnet_e217614 - capella beforeProcessEpoch 229.79 ms/op 307.40 ms/op 0.75
mainnet_e217614 - capella processJustificationAndFinalization 11.700 us/op 24.349 us/op 0.48
mainnet_e217614 - capella processInactivityUpdates 14.759 ms/op 20.315 ms/op 0.73
mainnet_e217614 - capella processRewardsAndPenalties 238.32 ms/op 253.57 ms/op 0.94
mainnet_e217614 - capella processRegistryUpdates 13.723 us/op 27.355 us/op 0.50
mainnet_e217614 - capella processSlashings 780.00 ns/op 862.00 ns/op 0.90
mainnet_e217614 - capella processEth1DataReset 713.00 ns/op 1.1810 us/op 0.60
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.9365 ms/op 4.3216 ms/op 1.14
mainnet_e217614 - capella processSlashingsReset 3.5170 us/op 6.7000 us/op 0.52
mainnet_e217614 - capella processRandaoMixesReset 5.3000 us/op 8.4330 us/op 0.63
mainnet_e217614 - capella processHistoricalRootsUpdate 1.8610 us/op 1.2130 us/op 1.53
mainnet_e217614 - capella processParticipationFlagUpdates 3.1390 us/op 5.0960 us/op 0.62
mainnet_e217614 - capella afterProcessEpoch 236.74 ms/op 364.51 ms/op 0.65
phase0 processEpoch - mainnet_e58758 307.75 ms/op 519.46 ms/op 0.59
mainnet_e58758 - phase0 beforeProcessEpoch 98.682 ms/op 180.67 ms/op 0.55
mainnet_e58758 - phase0 processJustificationAndFinalization 16.771 us/op 35.434 us/op 0.47
mainnet_e58758 - phase0 processRewardsAndPenalties 36.014 ms/op 46.268 ms/op 0.78
mainnet_e58758 - phase0 processRegistryUpdates 8.5110 us/op 21.155 us/op 0.40
mainnet_e58758 - phase0 processSlashings 982.00 ns/op 1.1210 us/op 0.88
mainnet_e58758 - phase0 processEth1DataReset 770.00 ns/op 1.1960 us/op 0.64
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 701.32 us/op 1.4624 ms/op 0.48
mainnet_e58758 - phase0 processSlashingsReset 4.4630 us/op 7.5180 us/op 0.59
mainnet_e58758 - phase0 processRandaoMixesReset 6.1700 us/op 17.020 us/op 0.36
mainnet_e58758 - phase0 processHistoricalRootsUpdate 833.00 ns/op 1.8460 us/op 0.45
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.8870 us/op 7.8430 us/op 0.50
mainnet_e58758 - phase0 afterProcessEpoch 71.228 ms/op 97.829 ms/op 0.73
phase0 processEffectiveBalanceUpdates - 250000 normalcase 896.10 us/op 2.1485 ms/op 0.42
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.3833 ms/op 5.5777 ms/op 0.25
altair processInactivityUpdates - 250000 normalcase 18.387 ms/op 44.582 ms/op 0.41
altair processInactivityUpdates - 250000 worstcase 17.658 ms/op 41.648 ms/op 0.42
phase0 processRegistryUpdates - 250000 normalcase 7.5600 us/op 24.392 us/op 0.31
phase0 processRegistryUpdates - 250000 badcase_full_deposits 326.78 us/op 575.85 us/op 0.57
phase0 processRegistryUpdates - 250000 worstcase 0.5 94.106 ms/op 248.18 ms/op 0.38
altair processRewardsAndPenalties - 250000 normalcase 47.273 ms/op 69.419 ms/op 0.68
altair processRewardsAndPenalties - 250000 worstcase 35.504 ms/op 62.825 ms/op 0.57
phase0 getAttestationDeltas - 250000 normalcase 6.4644 ms/op 9.0118 ms/op 0.72
phase0 getAttestationDeltas - 250000 worstcase 6.0206 ms/op 12.416 ms/op 0.48
phase0 processSlashings - 250000 worstcase 90.257 us/op 143.38 us/op 0.63
altair processSyncCommitteeUpdates - 250000 107.76 ms/op 165.87 ms/op 0.65
BeaconState.hashTreeRoot - No change 582.00 ns/op 550.00 ns/op 1.06
BeaconState.hashTreeRoot - 1 full validator 100.55 us/op 171.25 us/op 0.59
BeaconState.hashTreeRoot - 32 full validator 773.95 us/op 1.6724 ms/op 0.46
BeaconState.hashTreeRoot - 512 full validator 8.7493 ms/op 16.993 ms/op 0.51
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 121.64 us/op 197.98 us/op 0.61
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8790 ms/op 3.1747 ms/op 0.59
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.470 ms/op 42.084 ms/op 0.61
BeaconState.hashTreeRoot - 1 balances 117.70 us/op 168.96 us/op 0.70
BeaconState.hashTreeRoot - 32 balances 744.10 us/op 1.3825 ms/op 0.54
BeaconState.hashTreeRoot - 512 balances 6.0140 ms/op 13.760 ms/op 0.44
BeaconState.hashTreeRoot - 250000 balances 169.96 ms/op 259.23 ms/op 0.66
aggregationBits - 2048 els - zipIndexesInBitList 30.836 us/op 52.278 us/op 0.59
byteArrayEquals 32 48.505 ns/op 72.331 ns/op 0.67
Buffer.compare 32 15.255 ns/op 20.177 ns/op 0.76
byteArrayEquals 1024 1.2658 us/op 1.8296 us/op 0.69
Buffer.compare 1024 23.658 ns/op 33.251 ns/op 0.71
byteArrayEquals 16384 19.831 us/op 34.748 us/op 0.57
Buffer.compare 16384 203.70 ns/op 238.54 ns/op 0.85
byteArrayEquals 123687377 151.08 ms/op 221.47 ms/op 0.68
Buffer.compare 123687377 4.2622 ms/op 10.757 ms/op 0.40
byteArrayEquals 32 - diff last byte 47.631 ns/op 64.749 ns/op 0.74
Buffer.compare 32 - diff last byte 16.053 ns/op 21.449 ns/op 0.75
byteArrayEquals 1024 - diff last byte 1.2731 us/op 1.8331 us/op 0.69
Buffer.compare 1024 - diff last byte 24.594 ns/op 31.130 ns/op 0.79
byteArrayEquals 16384 - diff last byte 20.269 us/op 28.638 us/op 0.71
Buffer.compare 16384 - diff last byte 199.72 ns/op 251.13 ns/op 0.80
byteArrayEquals 123687377 - diff last byte 154.12 ms/op 222.92 ms/op 0.69
Buffer.compare 123687377 - diff last byte 5.3488 ms/op 10.907 ms/op 0.49
byteArrayEquals 32 - random bytes 4.6780 ns/op 5.8090 ns/op 0.81
Buffer.compare 32 - random bytes 14.911 ns/op 19.579 ns/op 0.76
byteArrayEquals 1024 - random bytes 4.7210 ns/op 5.7900 ns/op 0.82
Buffer.compare 1024 - random bytes 14.679 ns/op 19.606 ns/op 0.75
byteArrayEquals 16384 - random bytes 4.7130 ns/op 6.3260 ns/op 0.75
Buffer.compare 16384 - random bytes 14.662 ns/op 21.721 ns/op 0.68
byteArrayEquals 123687377 - random bytes 7.4900 ns/op 7.6200 ns/op 0.98
Buffer.compare 123687377 - random bytes 26.700 ns/op 23.150 ns/op 1.15
regular array get 100000 times 29.391 us/op 51.564 us/op 0.57
wrappedArray get 100000 times 29.388 us/op 48.475 us/op 0.61
arrayWithProxy get 100000 times 10.300 ms/op 14.610 ms/op 0.70
ssz.Root.equals 44.085 ns/op 61.906 ns/op 0.71
byteArrayEquals 43.280 ns/op 60.564 ns/op 0.71
Buffer.compare 8.7700 ns/op 11.986 ns/op 0.73
shuffle list - 16384 els 5.2646 ms/op 7.4740 ms/op 0.70
shuffle list - 250000 els 76.141 ms/op 107.55 ms/op 0.71
processSlot - 1 slots 9.3090 us/op 17.694 us/op 0.53
processSlot - 32 slots 1.7249 ms/op 4.2606 ms/op 0.40
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 41.166 ms/op 45.651 ms/op 0.90
getCommitteeAssignments - req 1 vs - 250000 vc 1.7786 ms/op 2.4114 ms/op 0.74
getCommitteeAssignments - req 100 vs - 250000 vc 3.4985 ms/op 4.7120 ms/op 0.74
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7553 ms/op 5.1846 ms/op 0.72
findModifiedValidators - 10000 modified validators 227.49 ms/op 402.36 ms/op 0.57
findModifiedValidators - 1000 modified validators 154.40 ms/op 274.93 ms/op 0.56
findModifiedValidators - 100 modified validators 146.92 ms/op 273.87 ms/op 0.54
findModifiedValidators - 10 modified validators 151.24 ms/op 300.46 ms/op 0.50
findModifiedValidators - 1 modified validators 162.38 ms/op 293.70 ms/op 0.55
findModifiedValidators - no difference 127.21 ms/op 251.25 ms/op 0.51
compare ViewDUs 3.0717 s/op 3.7823 s/op 0.81
compare each validator Uint8Array 1.5808 s/op 1.4968 s/op 1.06
compare ViewDU to Uint8Array 689.31 ms/op 1.3891 s/op 0.50
migrate state 1000000 validators, 24 modified, 0 new 568.37 ms/op 644.09 ms/op 0.88
migrate state 1000000 validators, 1700 modified, 1000 new 805.58 ms/op 940.56 ms/op 0.86
migrate state 1000000 validators, 3400 modified, 2000 new 1.0121 s/op 1.1098 s/op 0.91
migrate state 1500000 validators, 24 modified, 0 new 594.97 ms/op 666.40 ms/op 0.89
migrate state 1500000 validators, 1700 modified, 1000 new 796.29 ms/op 875.14 ms/op 0.91
migrate state 1500000 validators, 3400 modified, 2000 new 962.70 ms/op 1.1537 s/op 0.83
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.8900 ns/op 5.4900 ns/op 1.07
state getBlockRootAtSlot - 250000 vs - 7PWei 661.58 ns/op 925.59 ns/op 0.71
computeProposers - vc 250000 5.9719 ms/op 9.4029 ms/op 0.64
computeEpochShuffling - vc 250000 75.444 ms/op 99.655 ms/op 0.76
getNextSyncCommittee - vc 250000 101.03 ms/op 143.49 ms/op 0.70
computeSigningRoot for AttestationData 21.206 us/op 24.238 us/op 0.87
hash AttestationData serialized data then Buffer.toString(base64) 1.1486 us/op 1.6802 us/op 0.68
toHexString serialized data 766.09 ns/op 1.1644 us/op 0.66
Buffer.toString(base64) 137.57 ns/op 229.40 ns/op 0.60

by benchmarkbot/action

g11tech and others added 4 commits June 25, 2024 18:57
add types stub and epoch config

fix types
add some presets

add further params and types

add data column to types repo and network

move to max request data columns to preset

add the datacolumns data in blockinput and fix breaking errors in seen gossip blockinput

handle data columns in gossip and the seengossip

further propagate forkaware blockdata and resolve build/type issues

further handle datacolumns sync by range by root and forkaware data handling

fix issues

chore: update c-kzg to peerDas version

feat: add peerDas ckzg functions to interface

fix the lookups

handle the publishing flow

various sync try fixes

fixes

compute blob side car

various misl debuggings and fixes

debug and apply fixes and get range and by root sync to work will full custody

enable syncing with lower custody requirement

use node peerid rather than a dummy string

get and use the nodeid from enr and correctly compute subnets and column indexes

filterout and connect to peers only matching out custody requiremnt

try adding custody requirement

add protection for subnet calc

get the sync working with devnet 0

correctly set the enr with custody subnet info

rebase fixes

small refactor
wip: REPLACE THIS COMMIT

commit yarn lock
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

2 participants