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: add devnet-5 support #7246

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

feat: add devnet-5 support #7246

wants to merge 15 commits into from

Conversation

ensi321
Copy link
Contributor

@ensi321 ensi321 commented Nov 26, 2024

No description provided.

Copy link
Contributor

github-actions bot commented Nov 26, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 256ee8a Previous: 690ee6a Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8220 ms/op 1.7291 ms/op 1.05
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 53.800 us/op 52.374 us/op 1.03
BLS verify - blst 910.86 us/op 883.68 us/op 1.03
BLS verifyMultipleSignatures 3 - blst 1.2356 ms/op 2.2717 ms/op 0.54
BLS verifyMultipleSignatures 8 - blst 2.0190 ms/op 2.4446 ms/op 0.83
BLS verifyMultipleSignatures 32 - blst 5.7437 ms/op 7.2707 ms/op 0.79
BLS verifyMultipleSignatures 64 - blst 10.839 ms/op 10.443 ms/op 1.04
BLS verifyMultipleSignatures 128 - blst 17.747 ms/op 16.954 ms/op 1.05
BLS deserializing 10000 signatures 714.75 ms/op 684.40 ms/op 1.04
BLS deserializing 100000 signatures 7.0439 s/op 7.0004 s/op 1.01
BLS verifyMultipleSignatures - same message - 3 - blst 895.97 us/op 1.2390 ms/op 0.72
BLS verifyMultipleSignatures - same message - 8 - blst 1.0662 ms/op 1.0910 ms/op 0.98
BLS verifyMultipleSignatures - same message - 32 - blst 1.7653 ms/op 1.8352 ms/op 0.96
BLS verifyMultipleSignatures - same message - 64 - blst 2.7400 ms/op 2.6251 ms/op 1.04
BLS verifyMultipleSignatures - same message - 128 - blst 4.4512 ms/op 4.5909 ms/op 0.97
BLS aggregatePubkeys 32 - blst 19.991 us/op 19.406 us/op 1.03
BLS aggregatePubkeys 128 - blst 71.569 us/op 68.450 us/op 1.05
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 68.608 ms/op 65.332 ms/op 1.05
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 56.222 ms/op 58.406 ms/op 0.96
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 50.157 ms/op 55.808 ms/op 0.90
getSlashingsAndExits - default max 148.19 us/op 113.90 us/op 1.30
getSlashingsAndExits - 2k 545.87 us/op 368.23 us/op 1.48
proposeBlockBody type=full, size=empty 6.8018 ms/op 5.6299 ms/op 1.21
isKnown best case - 1 super set check 325.00 ns/op 271.00 ns/op 1.20
isKnown normal case - 2 super set checks 359.00 ns/op 259.00 ns/op 1.39
isKnown worse case - 16 super set checks 314.00 ns/op 260.00 ns/op 1.21
InMemoryCheckpointStateCache - add get delete 3.5670 us/op 3.0720 us/op 1.16
validate api signedAggregateAndProof - struct 1.5349 ms/op 1.8516 ms/op 0.83
validate gossip signedAggregateAndProof - struct 1.4803 ms/op 1.9038 ms/op 0.78
batch validate gossip attestation - vc 640000 - chunk 32 140.33 us/op 133.90 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 64 123.31 us/op 113.07 us/op 1.09
batch validate gossip attestation - vc 640000 - chunk 128 113.70 us/op 107.83 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 256 120.20 us/op 103.21 us/op 1.16
pickEth1Vote - no votes 1.2305 ms/op 1.0397 ms/op 1.18
pickEth1Vote - max votes 8.8070 ms/op 6.7298 ms/op 1.31
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.725 ms/op 11.939 ms/op 1.32
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 25.114 ms/op 19.215 ms/op 1.31
pickEth1Vote - Eth1Data fastSerialize value x2048 554.77 us/op 498.50 us/op 1.11
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.2129 ms/op 2.6588 ms/op 1.58
bytes32 toHexString 544.00 ns/op 444.00 ns/op 1.23
bytes32 Buffer.toString(hex) 248.00 ns/op 236.00 ns/op 1.05
bytes32 Buffer.toString(hex) from Uint8Array 449.00 ns/op 367.00 ns/op 1.22
bytes32 Buffer.toString(hex) + 0x 257.00 ns/op 230.00 ns/op 1.12
Object access 1 prop 0.16500 ns/op 0.13600 ns/op 1.21
Map access 1 prop 0.13700 ns/op 0.13700 ns/op 1.00
Object get x1000 6.1580 ns/op 6.0830 ns/op 1.01
Map get x1000 6.6300 ns/op 6.5260 ns/op 1.02
Object set x1000 45.950 ns/op 35.205 ns/op 1.31
Map set x1000 31.691 ns/op 23.420 ns/op 1.35
Return object 10000 times 0.31050 ns/op 0.29830 ns/op 1.04
Throw Error 10000 times 3.6232 us/op 3.3718 us/op 1.07
toHex 174.92 ns/op 157.14 ns/op 1.11
Buffer.from 155.97 ns/op 139.86 ns/op 1.12
shared Buffer 100.08 ns/op 84.440 ns/op 1.19
fastMsgIdFn sha256 / 200 bytes 2.3990 us/op 2.3110 us/op 1.04
fastMsgIdFn h32 xxhash / 200 bytes 313.00 ns/op 246.00 ns/op 1.27
fastMsgIdFn h64 xxhash / 200 bytes 292.00 ns/op 278.00 ns/op 1.05
fastMsgIdFn sha256 / 1000 bytes 8.0610 us/op 7.6160 us/op 1.06
fastMsgIdFn h32 xxhash / 1000 bytes 483.00 ns/op 383.00 ns/op 1.26
fastMsgIdFn h64 xxhash / 1000 bytes 372.00 ns/op 349.00 ns/op 1.07
fastMsgIdFn sha256 / 10000 bytes 66.802 us/op 66.638 us/op 1.00
fastMsgIdFn h32 xxhash / 10000 bytes 2.0270 us/op 1.9220 us/op 1.05
fastMsgIdFn h64 xxhash / 10000 bytes 1.3120 us/op 1.2400 us/op 1.06
send data - 1000 256B messages 14.626 ms/op 13.233 ms/op 1.11
send data - 1000 512B messages 19.247 ms/op 18.511 ms/op 1.04
send data - 1000 1024B messages 33.393 ms/op 27.497 ms/op 1.21
send data - 1000 1200B messages 32.163 ms/op 25.380 ms/op 1.27
send data - 1000 2048B messages 34.940 ms/op 31.285 ms/op 1.12
send data - 1000 4096B messages 38.054 ms/op 30.208 ms/op 1.26
send data - 1000 16384B messages 84.752 ms/op 71.144 ms/op 1.19
send data - 1000 65536B messages 245.84 ms/op 199.69 ms/op 1.23
enrSubnets - fastDeserialize 64 bits 1.3760 us/op 1.0120 us/op 1.36
enrSubnets - ssz BitVector 64 bits 394.00 ns/op 351.00 ns/op 1.12
enrSubnets - fastDeserialize 4 bits 165.00 ns/op 138.00 ns/op 1.20
enrSubnets - ssz BitVector 4 bits 456.00 ns/op 349.00 ns/op 1.31
prioritizePeers score -10:0 att 32-0.1 sync 2-0 189.22 us/op 128.44 us/op 1.47
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 224.00 us/op 158.55 us/op 1.41
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 327.47 us/op 227.12 us/op 1.44
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 583.04 us/op 413.55 us/op 1.41
prioritizePeers score 0:0 att 64-1 sync 4-1 721.35 us/op 507.36 us/op 1.42
array of 16000 items push then shift 1.7257 us/op 1.6519 us/op 1.04
LinkedList of 16000 items push then shift 8.6630 ns/op 7.3180 ns/op 1.18
array of 16000 items push then pop 134.27 ns/op 110.06 ns/op 1.22
LinkedList of 16000 items push then pop 8.0200 ns/op 6.6160 ns/op 1.21
array of 24000 items push then shift 2.5704 us/op 2.4900 us/op 1.03
LinkedList of 24000 items push then shift 8.7790 ns/op 7.2950 ns/op 1.20
array of 24000 items push then pop 189.49 ns/op 133.86 ns/op 1.42
LinkedList of 24000 items push then pop 7.9710 ns/op 7.2530 ns/op 1.10
intersect bitArray bitLen 8 6.8210 ns/op 6.5830 ns/op 1.04
intersect array and set length 8 61.111 ns/op 45.353 ns/op 1.35
intersect bitArray bitLen 128 32.127 ns/op 31.059 ns/op 1.03
intersect array and set length 128 875.01 ns/op 676.70 ns/op 1.29
bitArray.getTrueBitIndexes() bitLen 128 1.8200 us/op 1.2930 us/op 1.41
bitArray.getTrueBitIndexes() bitLen 248 2.9260 us/op 2.1350 us/op 1.37
bitArray.getTrueBitIndexes() bitLen 512 5.8360 us/op 4.2990 us/op 1.36
Buffer.concat 32 items 969.00 ns/op 821.00 ns/op 1.18
Uint8Array.set 32 items 1.9800 us/op 1.7630 us/op 1.12
Buffer.copy 3.0780 us/op 2.7670 us/op 1.11
Uint8Array.set - with subarray 2.7460 us/op 2.2150 us/op 1.24
Uint8Array.set - without subarray 1.7240 us/op 1.7640 us/op 0.98
getUint32 - dataview 286.00 ns/op 214.00 ns/op 1.34
getUint32 - manual 226.00 ns/op 142.00 ns/op 1.59
Set add up to 64 items then delete first 2.9836 us/op 2.0726 us/op 1.44
OrderedSet add up to 64 items then delete first 4.1263 us/op 3.0696 us/op 1.34
Set add up to 64 items then delete last 3.1454 us/op 2.3636 us/op 1.33
OrderedSet add up to 64 items then delete last 4.5707 us/op 3.4129 us/op 1.34
Set add up to 64 items then delete middle 3.2063 us/op 2.3759 us/op 1.35
OrderedSet add up to 64 items then delete middle 6.5462 us/op 4.9337 us/op 1.33
Set add up to 128 items then delete first 6.2920 us/op 4.9025 us/op 1.28
OrderedSet add up to 128 items then delete first 9.7970 us/op 7.5699 us/op 1.29
Set add up to 128 items then delete last 6.2686 us/op 4.6663 us/op 1.34
OrderedSet add up to 128 items then delete last 9.8285 us/op 6.9071 us/op 1.42
Set add up to 128 items then delete middle 6.2769 us/op 4.6592 us/op 1.35
OrderedSet add up to 128 items then delete middle 16.827 us/op 13.005 us/op 1.29
Set add up to 256 items then delete first 12.802 us/op 10.102 us/op 1.27
OrderedSet add up to 256 items then delete first 20.889 us/op 15.411 us/op 1.36
Set add up to 256 items then delete last 12.331 us/op 9.2307 us/op 1.34
OrderedSet add up to 256 items then delete last 18.599 us/op 13.729 us/op 1.35
Set add up to 256 items then delete middle 12.809 us/op 9.2079 us/op 1.39
OrderedSet add up to 256 items then delete middle 48.290 us/op 39.276 us/op 1.23
transfer serialized Status (84 B) 3.0240 us/op 2.3590 us/op 1.28
copy serialized Status (84 B) 1.5310 us/op 1.2510 us/op 1.22
transfer serialized SignedVoluntaryExit (112 B) 3.0630 us/op 2.5060 us/op 1.22
copy serialized SignedVoluntaryExit (112 B) 1.6370 us/op 1.3050 us/op 1.25
transfer serialized ProposerSlashing (416 B) 3.4400 us/op 3.0110 us/op 1.14
copy serialized ProposerSlashing (416 B) 2.0460 us/op 2.2450 us/op 0.91
transfer serialized Attestation (485 B) 3.5070 us/op 3.2470 us/op 1.08
copy serialized Attestation (485 B) 2.0280 us/op 2.2080 us/op 0.92
transfer serialized AttesterSlashing (33232 B) 3.6560 us/op 3.8240 us/op 0.96
copy serialized AttesterSlashing (33232 B) 8.5840 us/op 5.5160 us/op 1.56
transfer serialized Small SignedBeaconBlock (128000 B) 5.5540 us/op 4.4940 us/op 1.24
copy serialized Small SignedBeaconBlock (128000 B) 27.386 us/op 14.093 us/op 1.94
transfer serialized Avg SignedBeaconBlock (200000 B) 5.5620 us/op 4.9090 us/op 1.13
copy serialized Avg SignedBeaconBlock (200000 B) 35.532 us/op 19.653 us/op 1.81
transfer serialized BlobsSidecar (524380 B) 6.4840 us/op 4.2470 us/op 1.53
copy serialized BlobsSidecar (524380 B) 119.48 us/op 84.766 us/op 1.41
transfer serialized Big SignedBeaconBlock (1000000 B) 6.3140 us/op 4.2350 us/op 1.49
copy serialized Big SignedBeaconBlock (1000000 B) 208.78 us/op 146.54 us/op 1.42
pass gossip attestations to forkchoice per slot 3.0802 ms/op 2.7622 ms/op 1.12
forkChoice updateHead vc 100000 bc 64 eq 0 525.32 us/op 502.60 us/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 0 4.1409 ms/op 3.4683 ms/op 1.19
forkChoice updateHead vc 1000000 bc 64 eq 0 6.7979 ms/op 4.5407 ms/op 1.50
forkChoice updateHead vc 600000 bc 320 eq 0 3.1624 ms/op 2.5747 ms/op 1.23
forkChoice updateHead vc 600000 bc 1200 eq 0 3.5634 ms/op 2.6802 ms/op 1.33
forkChoice updateHead vc 600000 bc 7200 eq 0 4.2581 ms/op 3.1642 ms/op 1.35
forkChoice updateHead vc 600000 bc 64 eq 1000 10.947 ms/op 10.363 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 10000 10.882 ms/op 10.110 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 300000 16.074 ms/op 13.652 ms/op 1.18
computeDeltas 500000 validators 300 proto nodes 4.6359 ms/op 4.1873 ms/op 1.11
computeDeltas 500000 validators 1200 proto nodes 4.4470 ms/op 4.1886 ms/op 1.06
computeDeltas 500000 validators 7200 proto nodes 4.9249 ms/op 4.1525 ms/op 1.19
computeDeltas 750000 validators 300 proto nodes 6.6177 ms/op 6.3313 ms/op 1.05
computeDeltas 750000 validators 1200 proto nodes 6.8293 ms/op 6.8755 ms/op 0.99
computeDeltas 750000 validators 7200 proto nodes 7.0118 ms/op 6.5720 ms/op 1.07
computeDeltas 1400000 validators 300 proto nodes 12.565 ms/op 12.123 ms/op 1.04
computeDeltas 1400000 validators 1200 proto nodes 12.890 ms/op 11.735 ms/op 1.10
computeDeltas 1400000 validators 7200 proto nodes 13.195 ms/op 12.184 ms/op 1.08
computeDeltas 2100000 validators 300 proto nodes 20.551 ms/op 18.076 ms/op 1.14
computeDeltas 2100000 validators 1200 proto nodes 19.763 ms/op 18.331 ms/op 1.08
computeDeltas 2100000 validators 7200 proto nodes 19.180 ms/op 17.885 ms/op 1.07
altair processAttestation - 250000 vs - 7PWei normalcase 2.7700 ms/op 2.1718 ms/op 1.28
altair processAttestation - 250000 vs - 7PWei worstcase 3.6788 ms/op 2.9673 ms/op 1.24
altair processAttestation - setStatus - 1/6 committees join 112.65 us/op 140.23 us/op 0.80
altair processAttestation - setStatus - 1/3 committees join 214.04 us/op 248.23 us/op 0.86
altair processAttestation - setStatus - 1/2 committees join 303.54 us/op 355.89 us/op 0.85
altair processAttestation - setStatus - 2/3 committees join 386.89 us/op 471.86 us/op 0.82
altair processAttestation - setStatus - 4/5 committees join 546.66 us/op 635.11 us/op 0.86
altair processAttestation - setStatus - 100% committees join 663.18 us/op 793.03 us/op 0.84
altair processBlock - 250000 vs - 7PWei normalcase 5.3659 ms/op 5.7080 ms/op 0.94
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.826 ms/op 28.462 ms/op 1.01
altair processBlock - 250000 vs - 7PWei worstcase 38.630 ms/op 41.532 ms/op 0.93
altair processBlock - 250000 vs - 7PWei worstcase hashState 86.776 ms/op 87.345 ms/op 0.99
phase0 processBlock - 250000 vs - 7PWei normalcase 2.9262 ms/op 2.7929 ms/op 1.05
phase0 processBlock - 250000 vs - 7PWei worstcase 26.455 ms/op 27.392 ms/op 0.97
altair processEth1Data - 250000 vs - 7PWei normalcase 513.66 us/op 397.05 us/op 1.29
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 11.369 us/op 8.1550 us/op 1.39
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 70.099 us/op 71.384 us/op 0.98
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 19.333 us/op 18.585 us/op 1.04
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.4000 us/op 10.839 us/op 0.68
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 216.65 us/op 194.79 us/op 1.11
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.4089 ms/op 1.3246 ms/op 1.06
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.0974 ms/op 1.7925 ms/op 1.17
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.2593 ms/op 1.5090 ms/op 1.50
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.9303 ms/op 5.4447 ms/op 0.91
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.8902 ms/op 1.8360 ms/op 1.03
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.5824 ms/op 5.1712 ms/op 1.08
Tree 40 250000 create 340.16 ms/op 321.55 ms/op 1.06
Tree 40 250000 get(125000) 161.36 ns/op 164.90 ns/op 0.98
Tree 40 250000 set(125000) 709.91 ns/op 1.0440 us/op 0.68
Tree 40 250000 toArray() 20.471 ms/op 24.902 ms/op 0.82
Tree 40 250000 iterate all - toArray() + loop 20.814 ms/op 23.885 ms/op 0.87
Tree 40 250000 iterate all - get(i) 60.273 ms/op 61.801 ms/op 0.98
Array 250000 create 3.7845 ms/op 4.0321 ms/op 0.94
Array 250000 clone - spread 1.4597 ms/op 1.8620 ms/op 0.78
Array 250000 get(125000) 0.44000 ns/op 0.45700 ns/op 0.96
Array 250000 set(125000) 0.46200 ns/op 0.48000 ns/op 0.96
Array 250000 iterate all - loop 108.72 us/op 88.612 us/op 1.23
phase0 afterProcessEpoch - 250000 vs - 7PWei 57.580 ms/op 57.248 ms/op 1.01
Array.fill - length 1000000 6.7313 ms/op 5.1827 ms/op 1.30
Array push - length 1000000 21.427 ms/op 27.457 ms/op 0.78
Array.get 0.30339 ns/op 0.29290 ns/op 1.04
Uint8Array.get 0.45483 ns/op 0.46483 ns/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 19.943 ms/op 24.657 ms/op 0.81
altair processEpoch - mainnet_e81889 319.73 ms/op 341.42 ms/op 0.94
mainnet_e81889 - altair beforeProcessEpoch 19.971 ms/op 26.214 ms/op 0.76
mainnet_e81889 - altair processJustificationAndFinalization 17.534 us/op 24.204 us/op 0.72
mainnet_e81889 - altair processInactivityUpdates 6.5488 ms/op 7.3829 ms/op 0.89
mainnet_e81889 - altair processRewardsAndPenalties 51.804 ms/op 56.691 ms/op 0.91
mainnet_e81889 - altair processRegistryUpdates 4.5570 us/op 6.9500 us/op 0.66
mainnet_e81889 - altair processSlashings 595.00 ns/op 492.00 ns/op 1.21
mainnet_e81889 - altair processEth1DataReset 829.00 ns/op 824.00 ns/op 1.01
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.7625 ms/op 1.8464 ms/op 0.95
mainnet_e81889 - altair processSlashingsReset 4.4010 us/op 7.0400 us/op 0.63
mainnet_e81889 - altair processRandaoMixesReset 5.6960 us/op 6.6480 us/op 0.86
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0230 us/op 1.2680 us/op 0.81
mainnet_e81889 - altair processParticipationFlagUpdates 2.1130 us/op 2.2290 us/op 0.95
mainnet_e81889 - altair processSyncCommitteeUpdates 648.00 ns/op 807.00 ns/op 0.80
mainnet_e81889 - altair afterProcessEpoch 52.906 ms/op 50.144 ms/op 1.06
capella processEpoch - mainnet_e217614 1.1792 s/op 1.1645 s/op 1.01
mainnet_e217614 - capella beforeProcessEpoch 70.328 ms/op 64.701 ms/op 1.09
mainnet_e217614 - capella processJustificationAndFinalization 16.586 us/op 16.909 us/op 0.98
mainnet_e217614 - capella processInactivityUpdates 18.240 ms/op 16.488 ms/op 1.11
mainnet_e217614 - capella processRewardsAndPenalties 233.35 ms/op 242.62 ms/op 0.96
mainnet_e217614 - capella processRegistryUpdates 19.317 us/op 19.243 us/op 1.00
mainnet_e217614 - capella processSlashings 560.00 ns/op 974.00 ns/op 0.57
mainnet_e217614 - capella processEth1DataReset 620.00 ns/op 658.00 ns/op 0.94
mainnet_e217614 - capella processEffectiveBalanceUpdates 9.0742 ms/op 11.324 ms/op 0.80
mainnet_e217614 - capella processSlashingsReset 2.9970 us/op 4.5240 us/op 0.66
mainnet_e217614 - capella processRandaoMixesReset 5.1020 us/op 5.3770 us/op 0.95
mainnet_e217614 - capella processHistoricalRootsUpdate 682.00 ns/op 465.00 ns/op 1.47
mainnet_e217614 - capella processParticipationFlagUpdates 2.0720 us/op 2.2740 us/op 0.91
mainnet_e217614 - capella afterProcessEpoch 123.04 ms/op 123.32 ms/op 1.00
phase0 processEpoch - mainnet_e58758 317.28 ms/op 337.20 ms/op 0.94
mainnet_e58758 - phase0 beforeProcessEpoch 78.421 ms/op 81.289 ms/op 0.96
mainnet_e58758 - phase0 processJustificationAndFinalization 14.452 us/op 19.401 us/op 0.74
mainnet_e58758 - phase0 processRewardsAndPenalties 31.872 ms/op 35.508 ms/op 0.90
mainnet_e58758 - phase0 processRegistryUpdates 12.426 us/op 18.029 us/op 0.69
mainnet_e58758 - phase0 processSlashings 1.0590 us/op 923.00 ns/op 1.15
mainnet_e58758 - phase0 processEth1DataReset 411.00 ns/op 701.00 ns/op 0.59
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3750 ms/op 2.1149 ms/op 0.65
mainnet_e58758 - phase0 processSlashingsReset 2.9070 us/op 3.8020 us/op 0.76
mainnet_e58758 - phase0 processRandaoMixesReset 5.7970 us/op 6.2430 us/op 0.93
mainnet_e58758 - phase0 processHistoricalRootsUpdate 849.00 ns/op 944.00 ns/op 0.90
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.8710 us/op 4.2610 us/op 1.14
mainnet_e58758 - phase0 afterProcessEpoch 45.911 ms/op 43.322 ms/op 1.06
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2630 ms/op 1.3589 ms/op 0.93
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.5646 ms/op 2.1497 ms/op 1.19
altair processInactivityUpdates - 250000 normalcase 18.054 ms/op 18.427 ms/op 0.98
altair processInactivityUpdates - 250000 worstcase 18.889 ms/op 20.035 ms/op 0.94
phase0 processRegistryUpdates - 250000 normalcase 12.685 us/op 15.145 us/op 0.84
phase0 processRegistryUpdates - 250000 badcase_full_deposits 422.38 us/op 519.04 us/op 0.81
phase0 processRegistryUpdates - 250000 worstcase 0.5 104.98 ms/op 129.15 ms/op 0.81
altair processRewardsAndPenalties - 250000 normalcase 42.620 ms/op 49.173 ms/op 0.87
altair processRewardsAndPenalties - 250000 worstcase 39.287 ms/op 40.992 ms/op 0.96
phase0 getAttestationDeltas - 250000 normalcase 10.925 ms/op 7.4761 ms/op 1.46
phase0 getAttestationDeltas - 250000 worstcase 8.2337 ms/op 7.2158 ms/op 1.14
phase0 processSlashings - 250000 worstcase 110.64 us/op 123.78 us/op 0.89
altair processSyncCommitteeUpdates - 250000 137.84 ms/op 124.21 ms/op 1.11
BeaconState.hashTreeRoot - No change 344.00 ns/op 239.00 ns/op 1.44
BeaconState.hashTreeRoot - 1 full validator 119.74 us/op 132.12 us/op 0.91
BeaconState.hashTreeRoot - 32 full validator 1.4162 ms/op 1.1972 ms/op 1.18
BeaconState.hashTreeRoot - 512 full validator 13.071 ms/op 11.745 ms/op 1.11
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 176.37 us/op 147.96 us/op 1.19
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.1365 ms/op 2.1888 ms/op 0.98
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 26.056 ms/op 28.061 ms/op 0.93
BeaconState.hashTreeRoot - 1 balances 131.60 us/op 115.89 us/op 1.14
BeaconState.hashTreeRoot - 32 balances 1.1408 ms/op 990.57 us/op 1.15
BeaconState.hashTreeRoot - 512 balances 8.9660 ms/op 8.5852 ms/op 1.04
BeaconState.hashTreeRoot - 250000 balances 163.03 ms/op 192.42 ms/op 0.85
aggregationBits - 2048 els - zipIndexesInBitList 31.969 us/op 22.222 us/op 1.44
byteArrayEquals 32 56.371 ns/op 51.846 ns/op 1.09
Buffer.compare 32 17.842 ns/op 16.806 ns/op 1.06
byteArrayEquals 1024 1.6626 us/op 1.5305 us/op 1.09
Buffer.compare 1024 26.514 ns/op 24.643 ns/op 1.08
byteArrayEquals 16384 26.681 us/op 24.368 us/op 1.09
Buffer.compare 16384 213.26 ns/op 192.94 ns/op 1.11
byteArrayEquals 123687377 194.92 ms/op 192.82 ms/op 1.01
Buffer.compare 123687377 6.6357 ms/op 6.4064 ms/op 1.04
byteArrayEquals 32 - diff last byte 56.874 ns/op 51.790 ns/op 1.10
Buffer.compare 32 - diff last byte 17.395 ns/op 17.090 ns/op 1.02
byteArrayEquals 1024 - diff last byte 1.5985 us/op 1.6035 us/op 1.00
Buffer.compare 1024 - diff last byte 25.209 ns/op 24.884 ns/op 1.01
byteArrayEquals 16384 - diff last byte 25.695 us/op 25.142 us/op 1.02
Buffer.compare 16384 - diff last byte 209.14 ns/op 181.00 ns/op 1.16
byteArrayEquals 123687377 - diff last byte 194.66 ms/op 187.10 ms/op 1.04
Buffer.compare 123687377 - diff last byte 6.9317 ms/op 6.1648 ms/op 1.12
byteArrayEquals 32 - random bytes 5.0880 ns/op 5.0480 ns/op 1.01
Buffer.compare 32 - random bytes 16.924 ns/op 16.911 ns/op 1.00
byteArrayEquals 1024 - random bytes 5.1160 ns/op 5.0120 ns/op 1.02
Buffer.compare 1024 - random bytes 16.958 ns/op 16.906 ns/op 1.00
byteArrayEquals 16384 - random bytes 5.0820 ns/op 5.0360 ns/op 1.01
Buffer.compare 16384 - random bytes 16.961 ns/op 16.879 ns/op 1.00
byteArrayEquals 123687377 - random bytes 6.4600 ns/op 6.3500 ns/op 1.02
Buffer.compare 123687377 - random bytes 18.220 ns/op 18.220 ns/op 1.00
regular array get 100000 times 37.388 us/op 32.319 us/op 1.16
wrappedArray get 100000 times 33.149 us/op 34.844 us/op 0.95
arrayWithProxy get 100000 times 12.621 ms/op 12.398 ms/op 1.02
ssz.Root.equals 45.985 ns/op 45.000 ns/op 1.02
byteArrayEquals 45.745 ns/op 44.373 ns/op 1.03
Buffer.compare 10.451 ns/op 12.246 ns/op 0.85
processSlot - 1 slots 14.265 us/op 14.862 us/op 0.96
processSlot - 32 slots 3.0647 ms/op 3.7872 ms/op 0.81
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.490 ms/op 39.691 ms/op 0.92
getCommitteeAssignments - req 1 vs - 250000 vc 2.1704 ms/op 2.0380 ms/op 1.06
getCommitteeAssignments - req 100 vs - 250000 vc 4.2052 ms/op 3.9191 ms/op 1.07
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5316 ms/op 4.2011 ms/op 1.08
findModifiedValidators - 10000 modified validators 234.28 ms/op 255.43 ms/op 0.92
findModifiedValidators - 1000 modified validators 173.79 ms/op 175.15 ms/op 0.99
findModifiedValidators - 100 modified validators 148.86 ms/op 153.35 ms/op 0.97
findModifiedValidators - 10 modified validators 141.42 ms/op 175.33 ms/op 0.81
findModifiedValidators - 1 modified validators 135.69 ms/op 152.28 ms/op 0.89
findModifiedValidators - no difference 144.52 ms/op 160.10 ms/op 0.90
compare ViewDUs 3.0907 s/op 3.1939 s/op 0.97
compare each validator Uint8Array 1.3867 s/op 1.4234 s/op 0.97
compare ViewDU to Uint8Array 983.48 ms/op 952.05 ms/op 1.03
migrate state 1000000 validators, 24 modified, 0 new 711.43 ms/op 704.15 ms/op 1.01
migrate state 1000000 validators, 1700 modified, 1000 new 1.0057 s/op 986.90 ms/op 1.02
migrate state 1000000 validators, 3400 modified, 2000 new 1.2718 s/op 1.2846 s/op 0.99
migrate state 1500000 validators, 24 modified, 0 new 828.08 ms/op 825.34 ms/op 1.00
migrate state 1500000 validators, 1700 modified, 1000 new 1.0433 s/op 1.1039 s/op 0.95
migrate state 1500000 validators, 3400 modified, 2000 new 1.1466 s/op 1.2711 s/op 0.90
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.6800 ns/op 4.3300 ns/op 1.08
state getBlockRootAtSlot - 250000 vs - 7PWei 477.74 ns/op 600.86 ns/op 0.80
computeProposers - vc 250000 6.8726 ms/op 8.2980 ms/op 0.83
computeEpochShuffling - vc 250000 41.824 ms/op 42.178 ms/op 0.99
getNextSyncCommittee - vc 250000 122.45 ms/op 125.96 ms/op 0.97
computeSigningRoot for AttestationData 16.930 us/op 28.720 us/op 0.59
hash AttestationData serialized data then Buffer.toString(base64) 1.6140 us/op 1.5566 us/op 1.04
toHexString serialized data 887.30 ns/op 897.19 ns/op 0.99
Buffer.toString(base64) 173.89 ns/op 185.18 ns/op 0.94
nodejs block root to RootHex using toHex 152.00 ns/op 150.73 ns/op 1.01
nodejs block root to RootHex using toRootHex 90.879 ns/op 87.410 ns/op 1.04
browser block root to RootHex using the deprecated toHexString 229.58 ns/op 232.25 ns/op 0.99
browser block root to RootHex using toHex 183.48 ns/op 185.47 ns/op 0.99
browser block root to RootHex using toRootHex 162.91 ns/op 162.77 ns/op 1.00

by benchmarkbot/action

Copy link

codecov bot commented Nov 27, 2024

Codecov Report

Attention: Patch coverage is 22.84946% with 287 lines in your changes missing coverage. Please review.

Project coverage is 48.61%. Comparing base (8c7eaf8) to head (265579f).
Report is 9 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7246      +/-   ##
============================================
- Coverage     48.75%   48.61%   -0.14%     
============================================
  Files           601      603       +2     
  Lines         40222    40457     +235     
  Branches       2061     2065       +4     
============================================
+ Hits          19609    19667      +58     
- Misses        20575    20752     +177     
  Partials         38       38              

twoeths and others added 10 commits December 16, 2024 22:21
* feat: refactor SeenAttestationDatas for SinlgeAttestation

* feat: add SingleAttestation type

* feat: ssz utils for SingleAttestation

* feat: implement SingleAttestation for network processor and gossip queue

* fix: add SingleAttestation for phase0 and altair

* fix: define and publish SingleAttestation for all forks

* Fix electra SingleAttestation type mapping

* Update api and eventstream

* Update validator client

* Update attestation unit test variables

* chore: SeenAttestationDatas unit tests

* chore: sszBytes unit tests

* Use CommitteeIndex type

* refactor: get/set functions of SeenAttestationDatas

* Always emit single_attestation event

* Validation use new SeenAttDataKey

* validateAttestationNoSignatureCheck first draft

* Add aggregation and committee bits to cache

* AttestationPool accepts SingleAttestation

* Update SingleAttestation event stream

* Update aggregate validation

* Polish

* Lint

* fix check-types

* Remove committee bit cache

* Update attestation pool unit tests

* Lint

* Remove unused committeeBits from attestation data cache

* Fix spec reference comment

* fix: getSeenAttDataKeyFromSignedAggregateAndProof

* Update beacon-api spec tests to run against v3.0.0-alpha.9

---------

Co-authored-by: Nico Flaig <[email protected]>
Co-authored-by: NC <[email protected]>
…7256)

* fix: select correct gossip type when publishing single attestation

* Add SingleAttestation as alias to phase0 ssz types
* fix: remove aggregation bits from seen attestation cache

* Allow passing null as aggregationBits to test pre-electra case

* Only create aggregationBits once for the first attestation

* Avoid second getSingleTrueBit call
…#7261)

* fix: return correct type from attestation validation when using cache

* Remove type casts

* Remove unused import

* Use ternary operator instead of if-else

* Fix aggregationBits type issue

* Add comment
* initial commit

* Address comment

* Lint
* Rename PartialPendingWithdrawal field

* do not change creds type on consolidation

* Use validator EB to process pending consolidation

* lint
nflaig and others added 5 commits December 18, 2024 13:32
* Fix execution request parsing

* lint

* Rename type

---------

Co-authored-by: Nico Flaig <[email protected]>
…685 (#7330)

* test: ensure execution requests are de-/serialized according to EIP-7685

* Fix format

* Add test case where deposits, withdrawals and consolidations are all empty

* Remove map
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.

3 participants