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

chore: clean up from electra review #7102

Merged
merged 1 commit into from
Sep 23, 2024
Merged

chore: clean up from electra review #7102

merged 1 commit into from
Sep 23, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Sep 23, 2024

Motivation

Address some of the open remarks on #6986

Description

Just a bit of clean up

@nflaig nflaig requested a review from a team as a code owner September 23, 2024 10:53
Copy link
Contributor

github-actions bot commented Sep 23, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: b358b7f Previous: cd98c23 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8473 ms/op 1.8504 ms/op 1.00
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 44.042 us/op 38.162 us/op 1.15
BLS verify - blst 903.77 us/op 881.84 us/op 1.02
BLS verifyMultipleSignatures 3 - blst 1.3514 ms/op 1.2653 ms/op 1.07
BLS verifyMultipleSignatures 8 - blst 2.0970 ms/op 2.2057 ms/op 0.95
BLS verifyMultipleSignatures 32 - blst 4.5231 ms/op 4.4707 ms/op 1.01
BLS verifyMultipleSignatures 64 - blst 8.3696 ms/op 8.2785 ms/op 1.01
BLS verifyMultipleSignatures 128 - blst 15.973 ms/op 15.960 ms/op 1.00
BLS deserializing 10000 signatures 616.87 ms/op 628.39 ms/op 0.98
BLS deserializing 100000 signatures 6.2733 s/op 6.2640 s/op 1.00
BLS verifyMultipleSignatures - same message - 3 - blst 865.98 us/op 834.37 us/op 1.04
BLS verifyMultipleSignatures - same message - 8 - blst 1.0841 ms/op 1.1042 ms/op 0.98
BLS verifyMultipleSignatures - same message - 32 - blst 1.7344 ms/op 1.7002 ms/op 1.02
BLS verifyMultipleSignatures - same message - 64 - blst 2.4812 ms/op 2.5742 ms/op 0.96
BLS verifyMultipleSignatures - same message - 128 - blst 4.1536 ms/op 4.1876 ms/op 0.99
BLS aggregatePubkeys 32 - blst 17.623 us/op 18.278 us/op 0.96
BLS aggregatePubkeys 128 - blst 61.425 us/op 63.653 us/op 0.96
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 66.343 ms/op 45.506 ms/op 1.46
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 43.481 ms/op 38.289 ms/op 1.14
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 34.033 ms/op 30.478 ms/op 1.12
getSlashingsAndExits - default max 84.609 us/op 69.209 us/op 1.22
getSlashingsAndExits - 2k 264.58 us/op 236.00 us/op 1.12
proposeBlockBody type=full, size=empty 5.0852 ms/op 4.9830 ms/op 1.02
isKnown best case - 1 super set check 614.00 ns/op 487.00 ns/op 1.26
isKnown normal case - 2 super set checks 736.00 ns/op 468.00 ns/op 1.57
isKnown worse case - 16 super set checks 651.00 ns/op 473.00 ns/op 1.38
InMemoryCheckpointStateCache - add get delete 3.2080 us/op 2.6330 us/op 1.22
updateUnfinalizedPubkeys - updating 10 pubkeys 865.45 us/op 568.65 us/op 1.52
updateUnfinalizedPubkeys - updating 100 pubkeys 4.3084 ms/op 2.5670 ms/op 1.68
updateUnfinalizedPubkeys - updating 1000 pubkeys 43.392 ms/op 38.027 ms/op 1.14
validate api signedAggregateAndProof - struct 2.0767 ms/op 1.8025 ms/op 1.15
validate gossip signedAggregateAndProof - struct 1.9753 ms/op 1.9103 ms/op 1.03
validate gossip attestation - vc 640000 1.0175 ms/op 985.22 us/op 1.03
batch validate gossip attestation - vc 640000 - chunk 32 134.54 us/op 117.14 us/op 1.15
batch validate gossip attestation - vc 640000 - chunk 64 122.43 us/op 105.41 us/op 1.16
batch validate gossip attestation - vc 640000 - chunk 128 104.96 us/op 100.21 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 256 100.81 us/op 97.151 us/op 1.04
pickEth1Vote - no votes 989.46 us/op 930.13 us/op 1.06
pickEth1Vote - max votes 4.9419 ms/op 9.2127 ms/op 0.54
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.944 ms/op 18.737 ms/op 0.58
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 14.396 ms/op 26.059 ms/op 0.55
pickEth1Vote - Eth1Data fastSerialize value x2048 385.31 us/op 368.10 us/op 1.05
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.4252 ms/op 4.2315 ms/op 0.81
bytes32 toHexString 653.00 ns/op 556.00 ns/op 1.17
bytes32 Buffer.toString(hex) 461.00 ns/op 418.00 ns/op 1.10
bytes32 Buffer.toString(hex) from Uint8Array 689.00 ns/op 522.00 ns/op 1.32
bytes32 Buffer.toString(hex) + 0x 515.00 ns/op 418.00 ns/op 1.23
Object access 1 prop 0.34600 ns/op 0.30800 ns/op 1.12
Map access 1 prop 0.32700 ns/op 0.30900 ns/op 1.06
Object get x1000 5.2950 ns/op 4.8930 ns/op 1.08
Map get x1000 6.0790 ns/op 5.5820 ns/op 1.09
Object set x1000 22.797 ns/op 26.472 ns/op 0.86
Map set x1000 22.944 ns/op 18.790 ns/op 1.22
Return object 10000 times 0.32730 ns/op 0.28140 ns/op 1.16
Throw Error 10000 times 2.7599 us/op 2.5401 us/op 1.09
toHex 114.25 ns/op 103.41 ns/op 1.10
Buffer.from 106.43 ns/op 93.817 ns/op 1.13
shared Buffer 72.811 ns/op 64.011 ns/op 1.14
fastMsgIdFn sha256 / 200 bytes 2.3280 us/op 1.9020 us/op 1.22
fastMsgIdFn h32 xxhash / 200 bytes 490.00 ns/op 387.00 ns/op 1.27
fastMsgIdFn h64 xxhash / 200 bytes 517.00 ns/op 447.00 ns/op 1.16
fastMsgIdFn sha256 / 1000 bytes 6.4400 us/op 5.8110 us/op 1.11
fastMsgIdFn h32 xxhash / 1000 bytes 665.00 ns/op 517.00 ns/op 1.29
fastMsgIdFn h64 xxhash / 1000 bytes 658.00 ns/op 498.00 ns/op 1.32
fastMsgIdFn sha256 / 10000 bytes 52.380 us/op 48.720 us/op 1.08
fastMsgIdFn h32 xxhash / 10000 bytes 2.0500 us/op 1.8810 us/op 1.09
fastMsgIdFn h64 xxhash / 10000 bytes 1.3700 us/op 1.3070 us/op 1.05
send data - 1000 256B messages 12.901 ms/op 10.639 ms/op 1.21
send data - 1000 512B messages 16.659 ms/op 12.658 ms/op 1.32
send data - 1000 1024B messages 26.283 ms/op 20.930 ms/op 1.26
send data - 1000 1200B messages 26.805 ms/op 12.899 ms/op 2.08
send data - 1000 2048B messages 31.208 ms/op 27.732 ms/op 1.13
send data - 1000 4096B messages 31.234 ms/op 24.031 ms/op 1.30
send data - 1000 16384B messages 71.087 ms/op 64.315 ms/op 1.11
send data - 1000 65536B messages 259.30 ms/op 247.31 ms/op 1.05
enrSubnets - fastDeserialize 64 bits 1.1580 us/op 1.2150 us/op 0.95
enrSubnets - ssz BitVector 64 bits 614.00 ns/op 512.00 ns/op 1.20
enrSubnets - fastDeserialize 4 bits 377.00 ns/op 323.00 ns/op 1.17
enrSubnets - ssz BitVector 4 bits 622.00 ns/op 499.00 ns/op 1.25
prioritizePeers score -10:0 att 32-0.1 sync 2-0 120.34 us/op 117.19 us/op 1.03
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 154.21 us/op 149.43 us/op 1.03
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 257.72 us/op 197.07 us/op 1.31
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 474.92 us/op 319.34 us/op 1.49
prioritizePeers score 0:0 att 64-1 sync 4-1 831.95 us/op 446.28 us/op 1.86
array of 16000 items push then shift 1.3630 us/op 1.2813 us/op 1.06
LinkedList of 16000 items push then shift 6.7890 ns/op 6.5920 ns/op 1.03
array of 16000 items push then pop 138.60 ns/op 65.339 ns/op 2.12
LinkedList of 16000 items push then pop 6.5230 ns/op 6.4510 ns/op 1.01
array of 24000 items push then shift 1.9855 us/op 1.8914 us/op 1.05
LinkedList of 24000 items push then shift 7.4480 ns/op 6.5360 ns/op 1.14
array of 24000 items push then pop 173.81 ns/op 136.73 ns/op 1.27
LinkedList of 24000 items push then pop 8.3560 ns/op 6.4370 ns/op 1.30
intersect bitArray bitLen 8 6.1110 ns/op 5.4530 ns/op 1.12
intersect array and set length 8 58.945 ns/op 40.600 ns/op 1.45
intersect bitArray bitLen 128 27.517 ns/op 26.640 ns/op 1.03
intersect array and set length 128 865.83 ns/op 591.97 ns/op 1.46
bitArray.getTrueBitIndexes() bitLen 128 2.6680 us/op 1.5280 us/op 1.75
bitArray.getTrueBitIndexes() bitLen 248 3.3990 us/op 3.0990 us/op 1.10
bitArray.getTrueBitIndexes() bitLen 512 8.4410 us/op 7.1400 us/op 1.18
Buffer.concat 32 items 1.0790 us/op 1.0190 us/op 1.06
Uint8Array.set 32 items 1.6700 us/op 2.2020 us/op 0.76
Buffer.copy 1.9650 us/op 2.3710 us/op 0.83
Uint8Array.set - with subarray 2.1540 us/op 2.9220 us/op 0.74
Uint8Array.set - without subarray 1.5380 us/op 2.1660 us/op 0.71
getUint32 - dataview 465.00 ns/op 400.00 ns/op 1.16
getUint32 - manual 470.00 ns/op 338.00 ns/op 1.39
Set add up to 64 items then delete first 1.8690 us/op 1.8062 us/op 1.03
OrderedSet add up to 64 items then delete first 2.8895 us/op 2.7996 us/op 1.03
Set add up to 64 items then delete last 2.1499 us/op 2.0487 us/op 1.05
OrderedSet add up to 64 items then delete last 3.2799 us/op 3.1410 us/op 1.04
Set add up to 64 items then delete middle 2.1349 us/op 2.0586 us/op 1.04
OrderedSet add up to 64 items then delete middle 4.7201 us/op 4.4819 us/op 1.05
Set add up to 128 items then delete first 4.1106 us/op 4.0249 us/op 1.02
OrderedSet add up to 128 items then delete first 6.2252 us/op 6.3124 us/op 0.99
Set add up to 128 items then delete last 4.1141 us/op 3.8805 us/op 1.06
OrderedSet add up to 128 items then delete last 6.4013 us/op 5.9322 us/op 1.08
Set add up to 128 items then delete middle 4.0902 us/op 3.8867 us/op 1.05
OrderedSet add up to 128 items then delete middle 14.142 us/op 11.930 us/op 1.19
Set add up to 256 items then delete first 8.0698 us/op 7.8725 us/op 1.03
OrderedSet add up to 256 items then delete first 12.550 us/op 12.624 us/op 0.99
Set add up to 256 items then delete last 8.0941 us/op 7.6494 us/op 1.06
OrderedSet add up to 256 items then delete last 12.827 us/op 11.767 us/op 1.09
Set add up to 256 items then delete middle 8.1994 us/op 7.6054 us/op 1.08
OrderedSet add up to 256 items then delete middle 40.463 us/op 34.698 us/op 1.17
transfer serialized Status (84 B) 1.4920 us/op 1.3660 us/op 1.09
copy serialized Status (84 B) 1.4230 us/op 1.2750 us/op 1.12
transfer serialized SignedVoluntaryExit (112 B) 1.6500 us/op 1.6670 us/op 0.99
copy serialized SignedVoluntaryExit (112 B) 1.5310 us/op 1.3480 us/op 1.14
transfer serialized ProposerSlashing (416 B) 1.8610 us/op 2.0090 us/op 0.93
copy serialized ProposerSlashing (416 B) 1.9790 us/op 1.9000 us/op 1.04
transfer serialized Attestation (485 B) 2.3680 us/op 2.0880 us/op 1.13
copy serialized Attestation (485 B) 2.6290 us/op 2.0440 us/op 1.29
transfer serialized AttesterSlashing (33232 B) 3.3440 us/op 2.1590 us/op 1.55
copy serialized AttesterSlashing (33232 B) 11.183 us/op 4.5730 us/op 2.45
transfer serialized Small SignedBeaconBlock (128000 B) 3.1050 us/op 3.1140 us/op 1.00
copy serialized Small SignedBeaconBlock (128000 B) 31.221 us/op 11.335 us/op 2.75
transfer serialized Avg SignedBeaconBlock (200000 B) 3.6230 us/op 3.8590 us/op 0.94
copy serialized Avg SignedBeaconBlock (200000 B) 16.330 us/op 16.335 us/op 1.00
transfer serialized BlobsSidecar (524380 B) 3.3920 us/op 3.8800 us/op 0.87
copy serialized BlobsSidecar (524380 B) 80.102 us/op 81.961 us/op 0.98
transfer serialized Big SignedBeaconBlock (1000000 B) 3.9070 us/op 3.4240 us/op 1.14
copy serialized Big SignedBeaconBlock (1000000 B) 181.65 us/op 366.92 us/op 0.50
pass gossip attestations to forkchoice per slot 3.2813 ms/op 2.8942 ms/op 1.13
forkChoice updateHead vc 100000 bc 64 eq 0 417.23 us/op 613.26 us/op 0.68
forkChoice updateHead vc 600000 bc 64 eq 0 2.6987 ms/op 2.5123 ms/op 1.07
forkChoice updateHead vc 1000000 bc 64 eq 0 4.4433 ms/op 4.1537 ms/op 1.07
forkChoice updateHead vc 600000 bc 320 eq 0 2.5123 ms/op 2.5116 ms/op 1.00
forkChoice updateHead vc 600000 bc 1200 eq 0 2.6296 ms/op 2.6132 ms/op 1.01
forkChoice updateHead vc 600000 bc 7200 eq 0 3.0275 ms/op 3.0073 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 1000 10.227 ms/op 9.9439 ms/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 10000 10.359 ms/op 9.5763 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 300000 14.498 ms/op 11.895 ms/op 1.22
computeDeltas 500000 validators 300 proto nodes 3.3732 ms/op 2.9949 ms/op 1.13
computeDeltas 500000 validators 1200 proto nodes 3.4101 ms/op 2.8998 ms/op 1.18
computeDeltas 500000 validators 7200 proto nodes 3.1333 ms/op 2.9031 ms/op 1.08
computeDeltas 750000 validators 300 proto nodes 4.7413 ms/op 4.2027 ms/op 1.13
computeDeltas 750000 validators 1200 proto nodes 4.6425 ms/op 4.2632 ms/op 1.09
computeDeltas 750000 validators 7200 proto nodes 4.4837 ms/op 4.2885 ms/op 1.05
computeDeltas 1400000 validators 300 proto nodes 8.2827 ms/op 8.3256 ms/op 0.99
computeDeltas 1400000 validators 1200 proto nodes 8.3649 ms/op 8.3951 ms/op 1.00
computeDeltas 1400000 validators 7200 proto nodes 8.2793 ms/op 8.2188 ms/op 1.01
computeDeltas 2100000 validators 300 proto nodes 12.644 ms/op 12.432 ms/op 1.02
computeDeltas 2100000 validators 1200 proto nodes 12.712 ms/op 12.772 ms/op 1.00
computeDeltas 2100000 validators 7200 proto nodes 13.043 ms/op 12.687 ms/op 1.03
altair processAttestation - 250000 vs - 7PWei normalcase 2.4823 ms/op 2.4128 ms/op 1.03
altair processAttestation - 250000 vs - 7PWei worstcase 2.2482 ms/op 2.1688 ms/op 1.04
altair processAttestation - setStatus - 1/6 committees join 74.933 us/op 71.702 us/op 1.05
altair processAttestation - setStatus - 1/3 committees join 151.64 us/op 295.54 us/op 0.51
altair processAttestation - setStatus - 1/2 committees join 216.45 us/op 180.42 us/op 1.20
altair processAttestation - setStatus - 2/3 committees join 280.31 us/op 383.77 us/op 0.73
altair processAttestation - setStatus - 4/5 committees join 421.19 us/op 377.16 us/op 1.12
altair processAttestation - setStatus - 100% committees join 486.22 us/op 461.75 us/op 1.05
altair processBlock - 250000 vs - 7PWei normalcase 5.1313 ms/op 4.6896 ms/op 1.09
altair processBlock - 250000 vs - 7PWei normalcase hashState 25.011 ms/op 26.495 ms/op 0.94
altair processBlock - 250000 vs - 7PWei worstcase 37.211 ms/op 33.838 ms/op 1.10
altair processBlock - 250000 vs - 7PWei worstcase hashState 67.255 ms/op 64.807 ms/op 1.04
phase0 processBlock - 250000 vs - 7PWei normalcase 1.8660 ms/op 1.7563 ms/op 1.06
phase0 processBlock - 250000 vs - 7PWei worstcase 21.026 ms/op 21.313 ms/op 0.99
altair processEth1Data - 250000 vs - 7PWei normalcase 237.69 us/op 233.09 us/op 1.02
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.7040 us/op 4.4050 us/op 1.07
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 32.566 us/op 28.457 us/op 1.14
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 10.772 us/op 7.7580 us/op 1.39
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.2480 us/op 5.2310 us/op 1.39
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 130.71 us/op 124.94 us/op 1.05
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 872.76 us/op 854.68 us/op 1.02
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.2158 ms/op 1.0833 ms/op 1.12
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.2188 ms/op 1.1467 ms/op 1.06
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.2439 ms/op 2.7043 ms/op 1.20
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.3356 ms/op 1.1882 ms/op 1.12
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.3627 ms/op 2.7366 ms/op 1.23
Tree 40 250000 create 228.85 ms/op 176.86 ms/op 1.29
Tree 40 250000 get(125000) 125.43 ns/op 106.59 ns/op 1.18
Tree 40 250000 set(125000) 598.46 ns/op 512.85 ns/op 1.17
Tree 40 250000 toArray() 20.552 ms/op 11.794 ms/op 1.74
Tree 40 250000 iterate all - toArray() + loop 21.275 ms/op 12.681 ms/op 1.68
Tree 40 250000 iterate all - get(i) 51.399 ms/op 40.093 ms/op 1.28
Array 250000 create 2.8026 ms/op 2.5364 ms/op 1.10
Array 250000 clone - spread 1.1888 ms/op 1.2515 ms/op 0.95
Array 250000 get(125000) 0.59000 ns/op 0.56300 ns/op 1.05
Array 250000 set(125000) 0.59300 ns/op 0.60700 ns/op 0.98
Array 250000 iterate all - loop 78.506 us/op 77.053 us/op 1.02
phase0 afterProcessEpoch - 250000 vs - 7PWei 77.274 ms/op 74.660 ms/op 1.04
Array.fill - length 1000000 2.4899 ms/op 2.4610 ms/op 1.01
Array push - length 1000000 20.931 ms/op 14.302 ms/op 1.46
Array.get 0.26672 ns/op 0.25061 ns/op 1.06
Uint8Array.get 0.35045 ns/op 0.33016 ns/op 1.06
phase0 beforeProcessEpoch - 250000 vs - 7PWei 20.621 ms/op 16.156 ms/op 1.28
altair processEpoch - mainnet_e81889 334.03 ms/op 282.40 ms/op 1.18
mainnet_e81889 - altair beforeProcessEpoch 22.594 ms/op 18.445 ms/op 1.22
mainnet_e81889 - altair processJustificationAndFinalization 17.254 us/op 9.7680 us/op 1.77
mainnet_e81889 - altair processInactivityUpdates 5.9979 ms/op 4.1268 ms/op 1.45
mainnet_e81889 - altair processRewardsAndPenalties 55.807 ms/op 46.934 ms/op 1.19
mainnet_e81889 - altair processRegistryUpdates 2.8710 us/op 1.9450 us/op 1.48
mainnet_e81889 - altair processSlashings 977.00 ns/op 737.00 ns/op 1.33
mainnet_e81889 - altair processEth1DataReset 821.00 ns/op 684.00 ns/op 1.20
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.0828 ms/op 992.58 us/op 1.09
mainnet_e81889 - altair processSlashingsReset 4.7660 us/op 2.1260 us/op 2.24
mainnet_e81889 - altair processRandaoMixesReset 6.9310 us/op 2.5490 us/op 2.72
mainnet_e81889 - altair processHistoricalRootsUpdate 1.7410 us/op 664.00 ns/op 2.62
mainnet_e81889 - altair processParticipationFlagUpdates 3.5660 us/op 1.5560 us/op 2.29
mainnet_e81889 - altair processSyncCommitteeUpdates 990.00 ns/op 651.00 ns/op 1.52
mainnet_e81889 - altair afterProcessEpoch 83.155 ms/op 72.806 ms/op 1.14
capella processEpoch - mainnet_e217614 1.2138 s/op 1.1971 s/op 1.01
mainnet_e217614 - capella beforeProcessEpoch 78.607 ms/op 64.615 ms/op 1.22
mainnet_e217614 - capella processJustificationAndFinalization 18.059 us/op 12.091 us/op 1.49
mainnet_e217614 - capella processInactivityUpdates 15.568 ms/op 11.824 ms/op 1.32
mainnet_e217614 - capella processRewardsAndPenalties 246.13 ms/op 258.78 ms/op 0.95
mainnet_e217614 - capella processRegistryUpdates 14.340 us/op 11.294 us/op 1.27
mainnet_e217614 - capella processSlashings 881.00 ns/op 779.00 ns/op 1.13
mainnet_e217614 - capella processEth1DataReset 791.00 ns/op 753.00 ns/op 1.05
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.8566 ms/op 3.2673 ms/op 1.18
mainnet_e217614 - capella processSlashingsReset 4.1560 us/op 1.4090 us/op 2.95
mainnet_e217614 - capella processRandaoMixesReset 5.0780 us/op 3.0300 us/op 1.68
mainnet_e217614 - capella processHistoricalRootsUpdate 815.00 ns/op 698.00 ns/op 1.17
mainnet_e217614 - capella processParticipationFlagUpdates 3.1900 us/op 1.7280 us/op 1.85
mainnet_e217614 - capella afterProcessEpoch 204.49 ms/op 187.65 ms/op 1.09
phase0 processEpoch - mainnet_e58758 362.34 ms/op 339.02 ms/op 1.07
mainnet_e58758 - phase0 beforeProcessEpoch 73.258 ms/op 86.057 ms/op 0.85
mainnet_e58758 - phase0 processJustificationAndFinalization 13.544 us/op 11.171 us/op 1.21
mainnet_e58758 - phase0 processRewardsAndPenalties 26.295 ms/op 36.631 ms/op 0.72
mainnet_e58758 - phase0 processRegistryUpdates 6.8010 us/op 6.1400 us/op 1.11
mainnet_e58758 - phase0 processSlashings 720.00 ns/op 763.00 ns/op 0.94
mainnet_e58758 - phase0 processEth1DataReset 728.00 ns/op 718.00 ns/op 1.01
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 834.61 us/op 1.3628 ms/op 0.61
mainnet_e58758 - phase0 processSlashingsReset 3.6760 us/op 2.8190 us/op 1.30
mainnet_e58758 - phase0 processRandaoMixesReset 4.0260 us/op 2.9030 us/op 1.39
mainnet_e58758 - phase0 processHistoricalRootsUpdate 736.00 ns/op 654.00 ns/op 1.13
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.9660 us/op 2.7200 us/op 1.09
mainnet_e58758 - phase0 afterProcessEpoch 64.944 ms/op 61.266 ms/op 1.06
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0672 ms/op 937.30 us/op 1.14
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4049 ms/op 1.4955 ms/op 0.94
altair processInactivityUpdates - 250000 normalcase 17.677 ms/op 16.347 ms/op 1.08
altair processInactivityUpdates - 250000 worstcase 17.854 ms/op 15.919 ms/op 1.12
phase0 processRegistryUpdates - 250000 normalcase 5.6890 us/op 5.1620 us/op 1.10
phase0 processRegistryUpdates - 250000 badcase_full_deposits 300.71 us/op 289.32 us/op 1.04
phase0 processRegistryUpdates - 250000 worstcase 0.5 100.22 ms/op 107.16 ms/op 0.94
altair processRewardsAndPenalties - 250000 normalcase 40.473 ms/op 43.265 ms/op 0.94
altair processRewardsAndPenalties - 250000 worstcase 35.739 ms/op 36.257 ms/op 0.99
phase0 getAttestationDeltas - 250000 normalcase 5.9006 ms/op 5.8463 ms/op 1.01
phase0 getAttestationDeltas - 250000 worstcase 6.5466 ms/op 6.3152 ms/op 1.04
phase0 processSlashings - 250000 worstcase 90.684 us/op 80.421 us/op 1.13
altair processSyncCommitteeUpdates - 250000 95.079 ms/op 100.38 ms/op 0.95
BeaconState.hashTreeRoot - No change 430.00 ns/op 448.00 ns/op 0.96
BeaconState.hashTreeRoot - 1 full validator 76.883 us/op 143.56 us/op 0.54
BeaconState.hashTreeRoot - 32 full validator 1.0811 ms/op 1.4851 ms/op 0.73
BeaconState.hashTreeRoot - 512 full validator 12.360 ms/op 15.293 ms/op 0.81
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 139.93 us/op 140.58 us/op 1.00
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.1237 ms/op 1.8417 ms/op 1.15
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 30.995 ms/op 24.501 ms/op 1.27
BeaconState.hashTreeRoot - 1 balances 121.90 us/op 103.70 us/op 1.18
BeaconState.hashTreeRoot - 32 balances 1.1216 ms/op 975.06 us/op 1.15
BeaconState.hashTreeRoot - 512 balances 7.9262 ms/op 9.9586 ms/op 0.80
BeaconState.hashTreeRoot - 250000 balances 138.58 ms/op 170.44 ms/op 0.81
aggregationBits - 2048 els - zipIndexesInBitList 19.799 us/op 40.991 us/op 0.48
byteArrayEquals 32 47.718 ns/op 45.537 ns/op 1.05
Buffer.compare 32 16.191 ns/op 14.669 ns/op 1.10
byteArrayEquals 1024 1.2539 us/op 1.1987 us/op 1.05
Buffer.compare 1024 24.380 ns/op 22.981 ns/op 1.06
byteArrayEquals 16384 20.010 us/op 19.059 us/op 1.05
Buffer.compare 16384 196.11 ns/op 186.51 ns/op 1.05
byteArrayEquals 123687377 151.86 ms/op 144.50 ms/op 1.05
Buffer.compare 123687377 4.3595 ms/op 3.7482 ms/op 1.16
byteArrayEquals 32 - diff last byte 47.621 ns/op 45.659 ns/op 1.04
Buffer.compare 32 - diff last byte 16.332 ns/op 14.990 ns/op 1.09
byteArrayEquals 1024 - diff last byte 1.2640 us/op 1.2008 us/op 1.05
Buffer.compare 1024 - diff last byte 24.176 ns/op 21.624 ns/op 1.12
byteArrayEquals 16384 - diff last byte 20.123 us/op 19.065 us/op 1.06
Buffer.compare 16384 - diff last byte 202.03 ns/op 166.93 ns/op 1.21
byteArrayEquals 123687377 - diff last byte 152.25 ms/op 144.16 ms/op 1.06
Buffer.compare 123687377 - diff last byte 5.3039 ms/op 5.2920 ms/op 1.00
byteArrayEquals 32 - random bytes 4.8180 ns/op 4.7280 ns/op 1.02
Buffer.compare 32 - random bytes 16.330 ns/op 15.032 ns/op 1.09
byteArrayEquals 1024 - random bytes 5.0800 ns/op 4.7320 ns/op 1.07
Buffer.compare 1024 - random bytes 16.833 ns/op 14.850 ns/op 1.13
byteArrayEquals 16384 - random bytes 5.1360 ns/op 4.7650 ns/op 1.08
Buffer.compare 16384 - random bytes 16.355 ns/op 14.833 ns/op 1.10
byteArrayEquals 123687377 - random bytes 7.8000 ns/op 7.5300 ns/op 1.04
Buffer.compare 123687377 - random bytes 18.980 ns/op 17.610 ns/op 1.08
regular array get 100000 times 30.098 us/op 29.502 us/op 1.02
wrappedArray get 100000 times 30.071 us/op 29.508 us/op 1.02
arrayWithProxy get 100000 times 10.460 ms/op 10.295 ms/op 1.02
ssz.Root.equals 45.295 ns/op 43.730 ns/op 1.04
byteArrayEquals 43.119 ns/op 43.341 ns/op 0.99
Buffer.compare 9.5860 ns/op 9.1030 ns/op 1.05
shuffle list - 16384 els 5.5694 ms/op 5.4516 ms/op 1.02
shuffle list - 250000 els 81.492 ms/op 80.723 ms/op 1.01
processSlot - 1 slots 11.045 us/op 13.893 us/op 0.80
processSlot - 32 slots 2.1691 ms/op 2.7640 ms/op 0.78
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 38.966 ms/op 43.182 ms/op 0.90
getCommitteeAssignments - req 1 vs - 250000 vc 2.0780 ms/op 1.8163 ms/op 1.14
getCommitteeAssignments - req 100 vs - 250000 vc 3.6120 ms/op 3.5448 ms/op 1.02
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8951 ms/op 3.8255 ms/op 1.02
findModifiedValidators - 10000 modified validators 331.26 ms/op 231.90 ms/op 1.43
findModifiedValidators - 1000 modified validators 207.50 ms/op 153.61 ms/op 1.35
findModifiedValidators - 100 modified validators 214.01 ms/op 144.33 ms/op 1.48
findModifiedValidators - 10 modified validators 196.76 ms/op 138.04 ms/op 1.43
findModifiedValidators - 1 modified validators 168.13 ms/op 129.35 ms/op 1.30
findModifiedValidators - no difference 185.61 ms/op 124.53 ms/op 1.49
compare ViewDUs 3.3190 s/op 3.2207 s/op 1.03
compare each validator Uint8Array 1.2222 s/op 1.6729 s/op 0.73
compare ViewDU to Uint8Array 805.93 ms/op 679.23 ms/op 1.19
migrate state 1000000 validators, 24 modified, 0 new 811.61 ms/op 834.81 ms/op 0.97
migrate state 1000000 validators, 1700 modified, 1000 new 1.0075 s/op 1.0836 s/op 0.93
migrate state 1000000 validators, 3400 modified, 2000 new 1.1822 s/op 1.2836 s/op 0.92
migrate state 1500000 validators, 24 modified, 0 new 838.36 ms/op 853.07 ms/op 0.98
migrate state 1500000 validators, 1700 modified, 1000 new 1.0345 s/op 1.0885 s/op 0.95
migrate state 1500000 validators, 3400 modified, 2000 new 1.1890 s/op 1.2930 s/op 0.92
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.5700 ns/op 5.9300 ns/op 1.11
state getBlockRootAtSlot - 250000 vs - 7PWei 404.42 ns/op 969.78 ns/op 0.42
computeProposers - vc 250000 5.5217 ms/op 6.1903 ms/op 0.89
computeEpochShuffling - vc 250000 80.468 ms/op 75.646 ms/op 1.06
getNextSyncCommittee - vc 250000 101.31 ms/op 102.17 ms/op 0.99
computeSigningRoot for AttestationData 18.920 us/op 22.530 us/op 0.84
hash AttestationData serialized data then Buffer.toString(base64) 1.2078 us/op 1.1187 us/op 1.08
toHexString serialized data 802.38 ns/op 713.84 ns/op 1.12
Buffer.toString(base64) 130.66 ns/op 131.73 ns/op 0.99
nodejs block root to RootHex using toHex 116.93 ns/op 103.20 ns/op 1.13
nodejs block root to RootHex using toRootHex 77.850 ns/op 68.267 ns/op 1.14
browser block root to RootHex using the deprecated toHexString 200.75 ns/op 194.57 ns/op 1.03
browser block root to RootHex using toHex 164.96 ns/op 157.38 ns/op 1.05
browser block root to RootHex using toRootHex 145.48 ns/op 137.96 ns/op 1.05

by benchmarkbot/action

Copy link

codecov bot commented Sep 23, 2024

Codecov Report

Attention: Patch coverage is 0% with 3 lines in your changes missing coverage. Please review.

Project coverage is 50.84%. Comparing base (cd98c23) to head (774c39a).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7102   +/-   ##
=========================================
  Coverage     50.84%   50.84%           
=========================================
  Files           597      597           
  Lines         39835    39835           
  Branches       2069     2068    -1     
=========================================
  Hits          20256    20256           
  Misses        19579    19579           

@nflaig nflaig merged commit 0dceb83 into unstable Sep 23, 2024
20 checks passed
@nflaig nflaig deleted the nflaig/electra-review branch September 23, 2024 16:35
ensi321 pushed a commit that referenced this pull request Sep 25, 2024
philknows pushed a commit that referenced this pull request Sep 27, 2024
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.

2 participants