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 14 commits into
base: unstable
Choose a base branch
from
Draft

feat: add devnet-5 support #7246

wants to merge 14 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: 2db1e14 Previous: 8c7eaf8 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.9447 ms/op 1.8074 ms/op 1.08
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 47.707 us/op 38.990 us/op 1.22
BLS verify - blst 898.99 us/op 890.64 us/op 1.01
BLS verifyMultipleSignatures 3 - blst 1.3251 ms/op 1.3164 ms/op 1.01
BLS verifyMultipleSignatures 8 - blst 2.2163 ms/op 1.5055 ms/op 1.47
BLS verifyMultipleSignatures 32 - blst 4.5066 ms/op 4.5042 ms/op 1.00
BLS verifyMultipleSignatures 64 - blst 8.2932 ms/op 8.3678 ms/op 0.99
BLS verifyMultipleSignatures 128 - blst 16.078 ms/op 16.133 ms/op 1.00
BLS deserializing 10000 signatures 624.01 ms/op 621.87 ms/op 1.00
BLS deserializing 100000 signatures 6.3965 s/op 6.3319 s/op 1.01
BLS verifyMultipleSignatures - same message - 3 - blst 949.20 us/op 1.0087 ms/op 0.94
BLS verifyMultipleSignatures - same message - 8 - blst 1.0971 ms/op 1.1079 ms/op 0.99
BLS verifyMultipleSignatures - same message - 32 - blst 1.6983 ms/op 1.7670 ms/op 0.96
BLS verifyMultipleSignatures - same message - 64 - blst 2.5107 ms/op 2.4694 ms/op 1.02
BLS verifyMultipleSignatures - same message - 128 - blst 4.0414 ms/op 4.1264 ms/op 0.98
BLS aggregatePubkeys 32 - blst 17.484 us/op 18.352 us/op 0.95
BLS aggregatePubkeys 128 - blst 60.601 us/op 63.289 us/op 0.96
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 98.416 ms/op 96.685 ms/op 1.02
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 72.935 ms/op 51.215 ms/op 1.42
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 45.011 ms/op 39.351 ms/op 1.14
getSlashingsAndExits - default max 118.60 us/op 90.377 us/op 1.31
getSlashingsAndExits - 2k 324.50 us/op 323.01 us/op 1.00
proposeBlockBody type=full, size=empty 6.1532 ms/op 5.8224 ms/op 1.06
isKnown best case - 1 super set check 536.00 ns/op 520.00 ns/op 1.03
isKnown normal case - 2 super set checks 499.00 ns/op 490.00 ns/op 1.02
isKnown worse case - 16 super set checks 574.00 ns/op 493.00 ns/op 1.16
InMemoryCheckpointStateCache - add get delete 3.7800 us/op 3.0460 us/op 1.24
validate api signedAggregateAndProof - struct 1.6494 ms/op 2.1584 ms/op 0.76
validate gossip signedAggregateAndProof - struct 1.5597 ms/op 1.6121 ms/op 0.97
batch validate gossip attestation - vc 640000 - chunk 32 136.67 us/op 135.44 us/op 1.01
batch validate gossip attestation - vc 640000 - chunk 64 119.54 us/op 116.98 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 128 108.20 us/op 104.77 us/op 1.03
batch validate gossip attestation - vc 640000 - chunk 256 104.77 us/op 97.351 us/op 1.08
pickEth1Vote - no votes 871.25 us/op 853.22 us/op 1.02
pickEth1Vote - max votes 5.8439 ms/op 4.9477 ms/op 1.18
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.101 ms/op 12.384 ms/op 0.82
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.201 ms/op 18.687 ms/op 1.19
pickEth1Vote - Eth1Data fastSerialize value x2048 454.40 us/op 354.70 us/op 1.28
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.1533 ms/op 2.5529 ms/op 1.24
bytes32 toHexString 788.00 ns/op 571.00 ns/op 1.38
bytes32 Buffer.toString(hex) 455.00 ns/op 430.00 ns/op 1.06
bytes32 Buffer.toString(hex) from Uint8Array 663.00 ns/op 519.00 ns/op 1.28
bytes32 Buffer.toString(hex) + 0x 494.00 ns/op 426.00 ns/op 1.16
Object access 1 prop 0.36500 ns/op 0.30700 ns/op 1.19
Map access 1 prop 0.32000 ns/op 0.31500 ns/op 1.02
Object get x1000 5.0250 ns/op 4.8800 ns/op 1.03
Map get x1000 5.8260 ns/op 5.5960 ns/op 1.04
Object set x1000 43.447 ns/op 22.748 ns/op 1.91
Map set x1000 23.050 ns/op 19.035 ns/op 1.21
Return object 10000 times 0.31540 ns/op 0.28900 ns/op 1.09
Throw Error 10000 times 2.8574 us/op 2.6490 us/op 1.08
toHex 141.75 ns/op 102.02 ns/op 1.39
Buffer.from 128.58 ns/op 95.163 ns/op 1.35
shared Buffer 77.151 ns/op 64.194 ns/op 1.20
fastMsgIdFn sha256 / 200 bytes 2.2490 us/op 1.9510 us/op 1.15
fastMsgIdFn h32 xxhash / 200 bytes 500.00 ns/op 397.00 ns/op 1.26
fastMsgIdFn h64 xxhash / 200 bytes 477.00 ns/op 437.00 ns/op 1.09
fastMsgIdFn sha256 / 1000 bytes 5.9460 us/op 5.6870 us/op 1.05
fastMsgIdFn h32 xxhash / 1000 bytes 615.00 ns/op 569.00 ns/op 1.08
fastMsgIdFn h64 xxhash / 1000 bytes 561.00 ns/op 563.00 ns/op 1.00
fastMsgIdFn sha256 / 10000 bytes 49.376 us/op 47.149 us/op 1.05
fastMsgIdFn h32 xxhash / 10000 bytes 2.0050 us/op 1.9320 us/op 1.04
fastMsgIdFn h64 xxhash / 10000 bytes 1.3590 us/op 1.3560 us/op 1.00
send data - 1000 256B messages 12.551 ms/op 10.216 ms/op 1.23
send data - 1000 512B messages 16.891 ms/op 13.910 ms/op 1.21
send data - 1000 1024B messages 28.590 ms/op 21.078 ms/op 1.36
send data - 1000 1200B messages 27.809 ms/op 22.076 ms/op 1.26
send data - 1000 2048B messages 35.213 ms/op 30.762 ms/op 1.14
send data - 1000 4096B messages 29.770 ms/op 27.743 ms/op 1.07
send data - 1000 16384B messages 74.638 ms/op 63.125 ms/op 1.18
send data - 1000 65536B messages 273.49 ms/op 235.85 ms/op 1.16
enrSubnets - fastDeserialize 64 bits 1.5850 us/op 1.1670 us/op 1.36
enrSubnets - ssz BitVector 64 bits 624.00 ns/op 524.00 ns/op 1.19
enrSubnets - fastDeserialize 4 bits 389.00 ns/op 332.00 ns/op 1.17
enrSubnets - ssz BitVector 4 bits 634.00 ns/op 513.00 ns/op 1.24
prioritizePeers score -10:0 att 32-0.1 sync 2-0 203.17 us/op 124.02 us/op 1.64
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 176.57 us/op 155.85 us/op 1.13
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 316.31 us/op 274.98 us/op 1.15
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 482.51 us/op 424.34 us/op 1.14
prioritizePeers score 0:0 att 64-1 sync 4-1 963.39 us/op 549.54 us/op 1.75
array of 16000 items push then shift 1.3472 us/op 1.3904 us/op 0.97
LinkedList of 16000 items push then shift 7.0660 ns/op 6.5810 ns/op 1.07
array of 16000 items push then pop 135.31 ns/op 98.578 ns/op 1.37
LinkedList of 16000 items push then pop 6.5960 ns/op 6.2500 ns/op 1.06
array of 24000 items push then shift 2.0124 us/op 1.8311 us/op 1.10
LinkedList of 24000 items push then shift 6.8230 ns/op 7.0260 ns/op 0.97
array of 24000 items push then pop 146.34 ns/op 129.74 ns/op 1.13
LinkedList of 24000 items push then pop 6.6310 ns/op 6.0400 ns/op 1.10
intersect bitArray bitLen 8 5.3810 ns/op 5.2430 ns/op 1.03
intersect array and set length 8 42.990 ns/op 38.226 ns/op 1.12
intersect bitArray bitLen 128 26.603 ns/op 26.689 ns/op 1.00
intersect array and set length 128 840.41 ns/op 573.04 ns/op 1.47
bitArray.getTrueBitIndexes() bitLen 128 2.9540 us/op 2.2160 us/op 1.33
bitArray.getTrueBitIndexes() bitLen 248 4.2860 us/op 3.6210 us/op 1.18
bitArray.getTrueBitIndexes() bitLen 512 8.7000 us/op 7.9820 us/op 1.09
Buffer.concat 32 items 1.0900 us/op 964.00 ns/op 1.13
Uint8Array.set 32 items 2.1440 us/op 1.3530 us/op 1.58
Buffer.copy 2.1030 us/op 1.5720 us/op 1.34
Uint8Array.set - with subarray 2.6330 us/op 1.9570 us/op 1.35
Uint8Array.set - without subarray 1.9520 us/op 1.5350 us/op 1.27
getUint32 - dataview 477.00 ns/op 450.00 ns/op 1.06
getUint32 - manual 422.00 ns/op 358.00 ns/op 1.18
Set add up to 64 items then delete first 1.8118 us/op 1.8245 us/op 0.99
OrderedSet add up to 64 items then delete first 2.8618 us/op 2.8003 us/op 1.02
Set add up to 64 items then delete last 2.0902 us/op 2.0301 us/op 1.03
OrderedSet add up to 64 items then delete last 3.2366 us/op 3.1031 us/op 1.04
Set add up to 64 items then delete middle 2.1187 us/op 2.0396 us/op 1.04
OrderedSet add up to 64 items then delete middle 4.8551 us/op 4.4775 us/op 1.08
Set add up to 128 items then delete first 4.0674 us/op 4.0060 us/op 1.02
OrderedSet add up to 128 items then delete first 6.1310 us/op 6.2874 us/op 0.98
Set add up to 128 items then delete last 4.0299 us/op 3.8592 us/op 1.04
OrderedSet add up to 128 items then delete last 6.3717 us/op 6.0305 us/op 1.06
Set add up to 128 items then delete middle 4.0390 us/op 3.8805 us/op 1.04
OrderedSet add up to 128 items then delete middle 12.032 us/op 11.534 us/op 1.04
Set add up to 256 items then delete first 7.8639 us/op 8.0104 us/op 0.98
OrderedSet add up to 256 items then delete first 12.141 us/op 12.505 us/op 0.97
Set add up to 256 items then delete last 8.3048 us/op 8.5727 us/op 0.97
OrderedSet add up to 256 items then delete last 13.584 us/op 11.648 us/op 1.17
Set add up to 256 items then delete middle 8.1554 us/op 7.6783 us/op 1.06
OrderedSet add up to 256 items then delete middle 37.318 us/op 34.725 us/op 1.07
transfer serialized Status (84 B) 1.5580 us/op 1.5190 us/op 1.03
copy serialized Status (84 B) 1.4270 us/op 1.4350 us/op 0.99
transfer serialized SignedVoluntaryExit (112 B) 1.7780 us/op 1.6000 us/op 1.11
copy serialized SignedVoluntaryExit (112 B) 1.6070 us/op 1.3290 us/op 1.21
transfer serialized ProposerSlashing (416 B) 2.6010 us/op 2.0600 us/op 1.26
copy serialized ProposerSlashing (416 B) 2.7940 us/op 2.2270 us/op 1.25
transfer serialized Attestation (485 B) 2.0850 us/op 2.1620 us/op 0.96
copy serialized Attestation (485 B) 1.9320 us/op 2.0100 us/op 0.96
transfer serialized AttesterSlashing (33232 B) 1.7040 us/op 2.2100 us/op 0.77
copy serialized AttesterSlashing (33232 B) 6.5470 us/op 4.5100 us/op 1.45
transfer serialized Small SignedBeaconBlock (128000 B) 3.5110 us/op 2.9600 us/op 1.19
copy serialized Small SignedBeaconBlock (128000 B) 23.809 us/op 14.949 us/op 1.59
transfer serialized Avg SignedBeaconBlock (200000 B) 3.6640 us/op 2.6950 us/op 1.36
copy serialized Avg SignedBeaconBlock (200000 B) 29.323 us/op 13.482 us/op 2.17
transfer serialized BlobsSidecar (524380 B) 3.9100 us/op 2.6850 us/op 1.46
copy serialized BlobsSidecar (524380 B) 169.57 us/op 129.67 us/op 1.31
transfer serialized Big SignedBeaconBlock (1000000 B) 4.4290 us/op 3.1780 us/op 1.39
copy serialized Big SignedBeaconBlock (1000000 B) 225.12 us/op 149.69 us/op 1.50
pass gossip attestations to forkchoice per slot 2.5352 ms/op 2.4587 ms/op 1.03
forkChoice updateHead vc 100000 bc 64 eq 0 382.60 us/op 518.44 us/op 0.74
forkChoice updateHead vc 600000 bc 64 eq 0 2.2661 ms/op 2.2432 ms/op 1.01
forkChoice updateHead vc 1000000 bc 64 eq 0 3.7652 ms/op 3.8635 ms/op 0.97
forkChoice updateHead vc 600000 bc 320 eq 0 2.1770 ms/op 2.3178 ms/op 0.94
forkChoice updateHead vc 600000 bc 1200 eq 0 2.2812 ms/op 2.3608 ms/op 0.97
forkChoice updateHead vc 600000 bc 7200 eq 0 2.6156 ms/op 2.7528 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 1000 10.065 ms/op 9.4366 ms/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 10000 9.4505 ms/op 9.2592 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 300000 11.663 ms/op 11.551 ms/op 1.01
computeDeltas 500000 validators 300 proto nodes 3.3837 ms/op 3.3517 ms/op 1.01
computeDeltas 500000 validators 1200 proto nodes 3.4545 ms/op 3.3651 ms/op 1.03
computeDeltas 500000 validators 7200 proto nodes 3.4300 ms/op 3.3389 ms/op 1.03
computeDeltas 750000 validators 300 proto nodes 5.3976 ms/op 5.2220 ms/op 1.03
computeDeltas 750000 validators 1200 proto nodes 5.0506 ms/op 5.1024 ms/op 0.99
computeDeltas 750000 validators 7200 proto nodes 4.8371 ms/op 4.9943 ms/op 0.97
computeDeltas 1400000 validators 300 proto nodes 8.9722 ms/op 9.5915 ms/op 0.94
computeDeltas 1400000 validators 1200 proto nodes 9.2079 ms/op 9.6614 ms/op 0.95
computeDeltas 1400000 validators 7200 proto nodes 9.1392 ms/op 9.5961 ms/op 0.95
computeDeltas 2100000 validators 300 proto nodes 13.878 ms/op 14.242 ms/op 0.97
computeDeltas 2100000 validators 1200 proto nodes 14.141 ms/op 14.796 ms/op 0.96
computeDeltas 2100000 validators 7200 proto nodes 13.876 ms/op 14.877 ms/op 0.93
altair processAttestation - 250000 vs - 7PWei normalcase 1.7270 ms/op 1.8411 ms/op 0.94
altair processAttestation - 250000 vs - 7PWei worstcase 2.4597 ms/op 2.1901 ms/op 1.12
altair processAttestation - setStatus - 1/6 committees join 70.564 us/op 67.230 us/op 1.05
altair processAttestation - setStatus - 1/3 committees join 138.55 us/op 157.84 us/op 0.88
altair processAttestation - setStatus - 1/2 committees join 202.20 us/op 204.17 us/op 0.99
altair processAttestation - setStatus - 2/3 committees join 276.51 us/op 288.70 us/op 0.96
altair processAttestation - setStatus - 4/5 committees join 408.04 us/op 423.14 us/op 0.96
altair processAttestation - setStatus - 100% committees join 485.05 us/op 506.92 us/op 0.96
altair processBlock - 250000 vs - 7PWei normalcase 3.9722 ms/op 5.0832 ms/op 0.78
altair processBlock - 250000 vs - 7PWei normalcase hashState 23.240 ms/op 26.437 ms/op 0.88
altair processBlock - 250000 vs - 7PWei worstcase 36.805 ms/op 37.118 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase hashState 62.584 ms/op 62.806 ms/op 1.00
phase0 processBlock - 250000 vs - 7PWei normalcase 1.4114 ms/op 1.9635 ms/op 0.72
phase0 processBlock - 250000 vs - 7PWei worstcase 24.489 ms/op 27.800 ms/op 0.88
altair processEth1Data - 250000 vs - 7PWei normalcase 264.87 us/op 462.41 us/op 0.57
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.0500 us/op 6.1870 us/op 0.82
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 35.510 us/op 36.872 us/op 0.96
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 9.7320 us/op 9.4070 us/op 1.03
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.6650 us/op 6.7300 us/op 0.84
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 142.78 us/op 129.39 us/op 1.10
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0029 ms/op 808.11 us/op 1.24
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.3010 ms/op 1.2812 ms/op 1.02
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.3103 ms/op 1.2599 ms/op 1.04
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.1285 ms/op 2.9031 ms/op 1.08
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.2942 ms/op 1.1961 ms/op 1.08
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.3079 ms/op 3.3097 ms/op 1.00
Tree 40 250000 create 182.28 ms/op 239.82 ms/op 0.76
Tree 40 250000 get(125000) 115.59 ns/op 119.59 ns/op 0.97
Tree 40 250000 set(125000) 502.77 ns/op 533.30 ns/op 0.94
Tree 40 250000 toArray() 16.048 ms/op 19.577 ms/op 0.82
Tree 40 250000 iterate all - toArray() + loop 16.058 ms/op 18.418 ms/op 0.87
Tree 40 250000 iterate all - get(i) 42.779 ms/op 50.839 ms/op 0.84
Array 250000 create 2.6096 ms/op 3.1098 ms/op 0.84
Array 250000 clone - spread 1.1075 ms/op 1.5000 ms/op 0.74
Array 250000 get(125000) 0.56500 ns/op 0.65300 ns/op 0.87
Array 250000 set(125000) 0.56600 ns/op 0.60700 ns/op 0.93
Array 250000 iterate all - loop 74.421 us/op 78.603 us/op 0.95
phase0 afterProcessEpoch - 250000 vs - 7PWei 42.858 ms/op 44.404 ms/op 0.97
Array.fill - length 1000000 2.3225 ms/op 2.5870 ms/op 0.90
Array push - length 1000000 15.506 ms/op 17.249 ms/op 0.90
Array.get 0.25025 ns/op 0.26988 ns/op 0.93
Uint8Array.get 0.33000 ns/op 0.35595 ns/op 0.93
phase0 beforeProcessEpoch - 250000 vs - 7PWei 16.019 ms/op 20.321 ms/op 0.79
altair processEpoch - mainnet_e81889 239.70 ms/op 274.53 ms/op 0.87
mainnet_e81889 - altair beforeProcessEpoch 18.124 ms/op 16.793 ms/op 1.08
mainnet_e81889 - altair processJustificationAndFinalization 5.4210 us/op 12.407 us/op 0.44
mainnet_e81889 - altair processInactivityUpdates 4.2443 ms/op 4.1056 ms/op 1.03
mainnet_e81889 - altair processRewardsAndPenalties 42.898 ms/op 48.959 ms/op 0.88
mainnet_e81889 - altair processRegistryUpdates 1.8750 us/op 3.3690 us/op 0.56
mainnet_e81889 - altair processSlashings 730.00 ns/op 805.00 ns/op 0.91
mainnet_e81889 - altair processEth1DataReset 683.00 ns/op 720.00 ns/op 0.95
mainnet_e81889 - altair processEffectiveBalanceUpdates 968.58 us/op 1.0525 ms/op 0.92
mainnet_e81889 - altair processSlashingsReset 1.1720 us/op 2.2660 us/op 0.52
mainnet_e81889 - altair processRandaoMixesReset 2.6820 us/op 3.3610 us/op 0.80
mainnet_e81889 - altair processHistoricalRootsUpdate 635.00 ns/op 824.00 ns/op 0.77
mainnet_e81889 - altair processParticipationFlagUpdates 1.4450 us/op 2.0040 us/op 0.72
mainnet_e81889 - altair processSyncCommitteeUpdates 705.00 ns/op 807.00 ns/op 0.87
mainnet_e81889 - altair afterProcessEpoch 42.657 ms/op 44.114 ms/op 0.97
capella processEpoch - mainnet_e217614 978.02 ms/op 857.44 ms/op 1.14
mainnet_e217614 - capella beforeProcessEpoch 66.736 ms/op 69.073 ms/op 0.97
mainnet_e217614 - capella processJustificationAndFinalization 6.6110 us/op 14.894 us/op 0.44
mainnet_e217614 - capella processInactivityUpdates 14.125 ms/op 15.669 ms/op 0.90
mainnet_e217614 - capella processRewardsAndPenalties 246.83 ms/op 241.16 ms/op 1.02
mainnet_e217614 - capella processRegistryUpdates 11.394 us/op 12.026 us/op 0.95
mainnet_e217614 - capella processSlashings 765.00 ns/op 885.00 ns/op 0.86
mainnet_e217614 - capella processEth1DataReset 687.00 ns/op 838.00 ns/op 0.82
mainnet_e217614 - capella processEffectiveBalanceUpdates 11.805 ms/op 17.048 ms/op 0.69
mainnet_e217614 - capella processSlashingsReset 2.6730 us/op 3.4970 us/op 0.76
mainnet_e217614 - capella processRandaoMixesReset 3.4820 us/op 3.2770 us/op 1.06
mainnet_e217614 - capella processHistoricalRootsUpdate 701.00 ns/op 781.00 ns/op 0.90
mainnet_e217614 - capella processParticipationFlagUpdates 1.2640 us/op 3.2320 us/op 0.39
mainnet_e217614 - capella afterProcessEpoch 91.259 ms/op 107.33 ms/op 0.85
phase0 processEpoch - mainnet_e58758 305.46 ms/op 336.53 ms/op 0.91
mainnet_e58758 - phase0 beforeProcessEpoch 78.343 ms/op 84.862 ms/op 0.92
mainnet_e58758 - phase0 processJustificationAndFinalization 12.488 us/op 14.617 us/op 0.85
mainnet_e58758 - phase0 processRewardsAndPenalties 25.416 ms/op 29.164 ms/op 0.87
mainnet_e58758 - phase0 processRegistryUpdates 6.7670 us/op 7.9410 us/op 0.85
mainnet_e58758 - phase0 processSlashings 699.00 ns/op 864.00 ns/op 0.81
mainnet_e58758 - phase0 processEth1DataReset 710.00 ns/op 733.00 ns/op 0.97
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.4738 ms/op 885.61 us/op 1.66
mainnet_e58758 - phase0 processSlashingsReset 2.5180 us/op 5.1440 us/op 0.49
mainnet_e58758 - phase0 processRandaoMixesReset 3.7370 us/op 6.6790 us/op 0.56
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.5080 us/op 837.00 ns/op 1.80
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.8340 us/op 5.0730 us/op 0.56
mainnet_e58758 - phase0 afterProcessEpoch 34.080 ms/op 36.951 ms/op 0.92
phase0 processEffectiveBalanceUpdates - 250000 normalcase 926.32 us/op 1.0552 ms/op 0.88
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.7118 ms/op 1.7294 ms/op 0.99
altair processInactivityUpdates - 250000 normalcase 15.724 ms/op 19.652 ms/op 0.80
altair processInactivityUpdates - 250000 worstcase 17.753 ms/op 16.325 ms/op 1.09
phase0 processRegistryUpdates - 250000 normalcase 5.9460 us/op 8.7310 us/op 0.68
phase0 processRegistryUpdates - 250000 badcase_full_deposits 322.97 us/op 330.40 us/op 0.98
phase0 processRegistryUpdates - 250000 worstcase 0.5 101.13 ms/op 128.63 ms/op 0.79
altair processRewardsAndPenalties - 250000 normalcase 30.627 ms/op 42.273 ms/op 0.72
altair processRewardsAndPenalties - 250000 worstcase 37.266 ms/op 43.271 ms/op 0.86
phase0 getAttestationDeltas - 250000 normalcase 6.4278 ms/op 10.615 ms/op 0.61
phase0 getAttestationDeltas - 250000 worstcase 5.9513 ms/op 7.3619 ms/op 0.81
phase0 processSlashings - 250000 worstcase 89.163 us/op 100.31 us/op 0.89
altair processSyncCommitteeUpdates - 250000 104.45 ms/op 95.554 ms/op 1.09
BeaconState.hashTreeRoot - No change 409.00 ns/op 451.00 ns/op 0.91
BeaconState.hashTreeRoot - 1 full validator 120.39 us/op 77.757 us/op 1.55
BeaconState.hashTreeRoot - 32 full validator 1.4718 ms/op 752.97 us/op 1.95
BeaconState.hashTreeRoot - 512 full validator 9.4661 ms/op 7.9461 ms/op 1.19
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 127.00 us/op 93.834 us/op 1.35
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.6296 ms/op 1.3775 ms/op 1.18
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 18.762 ms/op 17.669 ms/op 1.06
BeaconState.hashTreeRoot - 1 balances 130.46 us/op 71.615 us/op 1.82
BeaconState.hashTreeRoot - 32 balances 947.07 us/op 824.58 us/op 1.15
BeaconState.hashTreeRoot - 512 balances 7.2514 ms/op 5.9507 ms/op 1.22
BeaconState.hashTreeRoot - 250000 balances 119.88 ms/op 167.62 ms/op 0.72
aggregationBits - 2048 els - zipIndexesInBitList 19.340 us/op 20.996 us/op 0.92
byteArrayEquals 32 46.550 ns/op 48.955 ns/op 0.95
Buffer.compare 32 14.696 ns/op 15.748 ns/op 0.93
byteArrayEquals 1024 1.1904 us/op 1.2795 us/op 0.93
Buffer.compare 1024 22.648 ns/op 32.330 ns/op 0.70
byteArrayEquals 16384 19.167 us/op 20.470 us/op 0.94
Buffer.compare 16384 178.16 ns/op 206.52 ns/op 0.86
byteArrayEquals 123687377 139.61 ms/op 154.50 ms/op 0.90
Buffer.compare 123687377 4.2777 ms/op 4.9327 ms/op 0.87
byteArrayEquals 32 - diff last byte 47.603 ns/op 47.594 ns/op 1.00
Buffer.compare 32 - diff last byte 15.939 ns/op 16.083 ns/op 0.99
byteArrayEquals 1024 - diff last byte 1.2776 us/op 1.2720 us/op 1.00
Buffer.compare 1024 - diff last byte 24.970 ns/op 24.469 ns/op 1.02
byteArrayEquals 16384 - diff last byte 20.302 us/op 20.210 us/op 1.00
Buffer.compare 16384 - diff last byte 202.19 ns/op 210.05 ns/op 0.96
byteArrayEquals 123687377 - diff last byte 153.04 ms/op 151.06 ms/op 1.01
Buffer.compare 123687377 - diff last byte 3.8079 ms/op 6.0088 ms/op 0.63
byteArrayEquals 32 - random bytes 4.9250 ns/op 5.1680 ns/op 0.95
Buffer.compare 32 - random bytes 16.474 ns/op 16.160 ns/op 1.02
byteArrayEquals 1024 - random bytes 4.9070 ns/op 4.9180 ns/op 1.00
Buffer.compare 1024 - random bytes 16.171 ns/op 15.565 ns/op 1.04
byteArrayEquals 16384 - random bytes 5.0750 ns/op 5.0190 ns/op 1.01
Buffer.compare 16384 - random bytes 16.226 ns/op 16.303 ns/op 1.00
byteArrayEquals 123687377 - random bytes 7.7600 ns/op 8.2400 ns/op 0.94
Buffer.compare 123687377 - random bytes 19.490 ns/op 18.870 ns/op 1.03
regular array get 100000 times 31.142 us/op 32.271 us/op 0.97
wrappedArray get 100000 times 31.133 us/op 31.798 us/op 0.98
arrayWithProxy get 100000 times 9.5657 ms/op 10.165 ms/op 0.94
ssz.Root.equals 40.323 ns/op 40.224 ns/op 1.00
byteArrayEquals 39.366 ns/op 39.673 ns/op 0.99
Buffer.compare 8.1610 ns/op 9.4440 ns/op 0.86
processSlot - 1 slots 17.501 us/op 12.445 us/op 1.41
processSlot - 32 slots 2.7619 ms/op 2.0863 ms/op 1.32
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 41.762 ms/op 36.866 ms/op 1.13
getCommitteeAssignments - req 1 vs - 250000 vc 1.6169 ms/op 1.8504 ms/op 0.87
getCommitteeAssignments - req 100 vs - 250000 vc 3.1958 ms/op 3.6544 ms/op 0.87
getCommitteeAssignments - req 1000 vs - 250000 vc 3.4322 ms/op 3.8666 ms/op 0.89
findModifiedValidators - 10000 modified validators 229.64 ms/op 266.98 ms/op 0.86
findModifiedValidators - 1000 modified validators 134.17 ms/op 160.04 ms/op 0.84
findModifiedValidators - 100 modified validators 135.15 ms/op 168.06 ms/op 0.80
findModifiedValidators - 10 modified validators 125.06 ms/op 179.50 ms/op 0.70
findModifiedValidators - 1 modified validators 114.64 ms/op 144.64 ms/op 0.79
findModifiedValidators - no difference 135.61 ms/op 178.82 ms/op 0.76
compare ViewDUs 3.3368 s/op 3.1810 s/op 1.05
compare each validator Uint8Array 1.8394 s/op 1.5973 s/op 1.15
compare ViewDU to Uint8Array 648.08 ms/op 1.0046 s/op 0.65
migrate state 1000000 validators, 24 modified, 0 new 657.04 ms/op 692.54 ms/op 0.95
migrate state 1000000 validators, 1700 modified, 1000 new 885.06 ms/op 1.0279 s/op 0.86
migrate state 1000000 validators, 3400 modified, 2000 new 1.0997 s/op 1.0738 s/op 1.02
migrate state 1500000 validators, 24 modified, 0 new 713.78 ms/op 642.40 ms/op 1.11
migrate state 1500000 validators, 1700 modified, 1000 new 1.0589 s/op 971.10 ms/op 1.09
migrate state 1500000 validators, 3400 modified, 2000 new 1.2405 s/op 1.0123 s/op 1.23
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 7.0300 ns/op 6.1400 ns/op 1.14
state getBlockRootAtSlot - 250000 vs - 7PWei 972.13 ns/op 865.08 ns/op 1.12
computeProposers - vc 250000 8.0531 ms/op 7.1492 ms/op 1.13
computeEpochShuffling - vc 250000 36.451 ms/op 35.602 ms/op 1.02
getNextSyncCommittee - vc 250000 146.92 ms/op 108.38 ms/op 1.36
computeSigningRoot for AttestationData 33.228 us/op 18.244 us/op 1.82
hash AttestationData serialized data then Buffer.toString(base64) 1.2163 us/op 1.1824 us/op 1.03
toHexString serialized data 801.54 ns/op 762.56 ns/op 1.05
Buffer.toString(base64) 145.57 ns/op 149.81 ns/op 0.97
nodejs block root to RootHex using toHex 110.27 ns/op 116.07 ns/op 0.95
nodejs block root to RootHex using toRootHex 73.921 ns/op 76.338 ns/op 0.97
browser block root to RootHex using the deprecated toHexString 201.23 ns/op 206.19 ns/op 0.98
browser block root to RootHex using toHex 162.86 ns/op 161.97 ns/op 1.01
browser block root to RootHex using toRootHex 162.15 ns/op 150.17 ns/op 1.08

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 (4b8de08).

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
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