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

fix: update the gossip message size checks #7285

Closed
wants to merge 2 commits into from
Closed

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Dec 6, 2024

some updates

ref: ethereum/consensus-specs#4041

DONOT MERGE YET waiting on consensus
Update: 3/5 clients have agreed to increase it

@g11tech g11tech requested a review from a team as a code owner December 6, 2024 10:04
Copy link

codecov bot commented Dec 6, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 48.91%. Comparing base (cd1211f) to head (553c5f3).
Report is 4 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7285      +/-   ##
============================================
- Coverage     48.92%   48.91%   -0.01%     
============================================
  Files           601      601              
  Lines         40176    40188      +12     
  Branches       2061     2061              
============================================
+ Hits          19656    19658       +2     
- Misses        20482    20492      +10     
  Partials         38       38              

Copy link
Contributor

github-actions bot commented Dec 6, 2024

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 1d03fd3 Previous: f87eb0b Ratio
Buffer.compare 123687377 40.662 ms/op 6.5839 ms/op 6.18
Full benchmark results
Benchmark suite Current: 1d03fd3 Previous: f87eb0b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.6570 ms/op 2.0193 ms/op 0.82
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 58.513 us/op 72.523 us/op 0.81
BLS verify - blst 859.72 us/op 973.56 us/op 0.88
BLS verifyMultipleSignatures 3 - blst 1.3161 ms/op 1.3288 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst 1.9660 ms/op 1.9579 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst 5.5969 ms/op 6.0256 ms/op 0.93
BLS verifyMultipleSignatures 64 - blst 10.758 ms/op 11.363 ms/op 0.95
BLS verifyMultipleSignatures 128 - blst 17.877 ms/op 18.769 ms/op 0.95
BLS deserializing 10000 signatures 695.51 ms/op 725.23 ms/op 0.96
BLS deserializing 100000 signatures 6.7862 s/op 7.2760 s/op 0.93
BLS verifyMultipleSignatures - same message - 3 - blst 1.2551 ms/op 1.0996 ms/op 1.14
BLS verifyMultipleSignatures - same message - 8 - blst 1.1069 ms/op 1.2579 ms/op 0.88
BLS verifyMultipleSignatures - same message - 32 - blst 1.7358 ms/op 2.0688 ms/op 0.84
BLS verifyMultipleSignatures - same message - 64 - blst 2.5824 ms/op 2.9753 ms/op 0.87
BLS verifyMultipleSignatures - same message - 128 - blst 4.1985 ms/op 4.8763 ms/op 0.86
BLS aggregatePubkeys 32 - blst 19.343 us/op 21.285 us/op 0.91
BLS aggregatePubkeys 128 - blst 67.481 us/op 75.037 us/op 0.90
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 89.700 ms/op 119.99 ms/op 0.75
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 60.683 ms/op 64.914 ms/op 0.93
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 52.974 ms/op 51.071 ms/op 1.04
getSlashingsAndExits - default max 126.98 us/op 161.52 us/op 0.79
getSlashingsAndExits - 2k 434.53 us/op 500.27 us/op 0.87
proposeBlockBody type=full, size=empty 6.4956 ms/op 7.0703 ms/op 0.92
isKnown best case - 1 super set check 307.00 ns/op 457.00 ns/op 0.67
isKnown normal case - 2 super set checks 291.00 ns/op 309.00 ns/op 0.94
isKnown worse case - 16 super set checks 294.00 ns/op 287.00 ns/op 1.02
InMemoryCheckpointStateCache - add get delete 2.9290 us/op 3.6040 us/op 0.81
validate api signedAggregateAndProof - struct 1.4413 ms/op 1.4921 ms/op 0.97
validate gossip signedAggregateAndProof - struct 1.4774 ms/op 1.6001 ms/op 0.92
batch validate gossip attestation - vc 640000 - chunk 32 137.73 us/op 144.88 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 64 117.32 us/op 127.80 us/op 0.92
batch validate gossip attestation - vc 640000 - chunk 128 115.81 us/op 121.81 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 256 110.80 us/op 125.87 us/op 0.88
pickEth1Vote - no votes 1.1533 ms/op 1.2073 ms/op 0.96
pickEth1Vote - max votes 5.8300 ms/op 10.744 ms/op 0.54
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.643 ms/op 21.128 ms/op 0.65
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.087 ms/op 29.956 ms/op 0.70
pickEth1Vote - Eth1Data fastSerialize value x2048 488.56 us/op 596.62 us/op 0.82
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.5506 ms/op 4.3777 ms/op 0.58
bytes32 toHexString 438.00 ns/op 570.00 ns/op 0.77
bytes32 Buffer.toString(hex) 241.00 ns/op 274.00 ns/op 0.88
bytes32 Buffer.toString(hex) from Uint8Array 351.00 ns/op 436.00 ns/op 0.81
bytes32 Buffer.toString(hex) + 0x 246.00 ns/op 264.00 ns/op 0.93
Object access 1 prop 0.15400 ns/op 0.16500 ns/op 0.93
Map access 1 prop 0.14300 ns/op 0.13800 ns/op 1.04
Object get x1000 6.2330 ns/op 6.1980 ns/op 1.01
Map get x1000 6.6630 ns/op 6.9630 ns/op 0.96
Object set x1000 40.493 ns/op 37.474 ns/op 1.08
Map set x1000 31.929 ns/op 29.467 ns/op 1.08
Return object 10000 times 0.31140 ns/op 0.31250 ns/op 1.00
Throw Error 10000 times 3.4875 us/op 3.5077 us/op 0.99
toHex 181.00 ns/op 160.67 ns/op 1.13
Buffer.from 162.72 ns/op 152.44 ns/op 1.07
shared Buffer 90.104 ns/op 92.748 ns/op 0.97
fastMsgIdFn sha256 / 200 bytes 2.2570 us/op 2.3630 us/op 0.96
fastMsgIdFn h32 xxhash / 200 bytes 261.00 ns/op 296.00 ns/op 0.88
fastMsgIdFn h64 xxhash / 200 bytes 289.00 ns/op 332.00 ns/op 0.87
fastMsgIdFn sha256 / 1000 bytes 7.6420 us/op 7.7770 us/op 0.98
fastMsgIdFn h32 xxhash / 1000 bytes 412.00 ns/op 441.00 ns/op 0.93
fastMsgIdFn h64 xxhash / 1000 bytes 364.00 ns/op 365.00 ns/op 1.00
fastMsgIdFn sha256 / 10000 bytes 66.502 us/op 66.635 us/op 1.00
fastMsgIdFn h32 xxhash / 10000 bytes 1.9190 us/op 2.0480 us/op 0.94
fastMsgIdFn h64 xxhash / 10000 bytes 1.2440 us/op 1.2980 us/op 0.96
send data - 1000 256B messages 13.603 ms/op 15.096 ms/op 0.90
send data - 1000 512B messages 20.778 ms/op 22.652 ms/op 0.92
send data - 1000 1024B messages 27.222 ms/op 37.638 ms/op 0.72
send data - 1000 1200B messages 26.100 ms/op 30.734 ms/op 0.85
send data - 1000 2048B messages 31.973 ms/op 38.796 ms/op 0.82
send data - 1000 4096B messages 35.513 ms/op 35.355 ms/op 1.00
send data - 1000 16384B messages 72.883 ms/op 79.589 ms/op 0.92
send data - 1000 65536B messages 208.60 ms/op 257.54 ms/op 0.81
enrSubnets - fastDeserialize 64 bits 1.0680 us/op 1.3320 us/op 0.80
enrSubnets - ssz BitVector 64 bits 347.00 ns/op 452.00 ns/op 0.77
enrSubnets - fastDeserialize 4 bits 145.00 ns/op 179.00 ns/op 0.81
enrSubnets - ssz BitVector 4 bits 343.00 ns/op 446.00 ns/op 0.77
prioritizePeers score -10:0 att 32-0.1 sync 2-0 136.06 us/op 181.03 us/op 0.75
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 160.03 us/op 207.53 us/op 0.77
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 236.70 us/op 324.48 us/op 0.73
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 404.14 us/op 521.73 us/op 0.77
prioritizePeers score 0:0 att 64-1 sync 4-1 511.74 us/op 677.83 us/op 0.75
array of 16000 items push then shift 1.6542 us/op 1.7223 us/op 0.96
LinkedList of 16000 items push then shift 6.9530 ns/op 7.8830 ns/op 0.88
array of 16000 items push then pop 112.31 ns/op 132.16 ns/op 0.85
LinkedList of 16000 items push then pop 6.9350 ns/op 7.3270 ns/op 0.95
array of 24000 items push then shift 2.4708 us/op 2.5167 us/op 0.98
LinkedList of 24000 items push then shift 7.8340 ns/op 7.9700 ns/op 0.98
array of 24000 items push then pop 142.06 ns/op 148.99 ns/op 0.95
LinkedList of 24000 items push then pop 7.6460 ns/op 7.3110 ns/op 1.05
intersect bitArray bitLen 8 6.5580 ns/op 6.8590 ns/op 0.96
intersect array and set length 8 45.689 ns/op 47.896 ns/op 0.95
intersect bitArray bitLen 128 30.382 ns/op 31.795 ns/op 0.96
intersect array and set length 128 900.10 ns/op 775.52 ns/op 1.16
bitArray.getTrueBitIndexes() bitLen 128 1.4740 us/op 1.4110 us/op 1.04
bitArray.getTrueBitIndexes() bitLen 248 2.4400 us/op 2.2950 us/op 1.06
bitArray.getTrueBitIndexes() bitLen 512 4.9460 us/op 4.8390 us/op 1.02
Buffer.concat 32 items 830.00 ns/op 921.00 ns/op 0.90
Uint8Array.set 32 items 1.6400 us/op 1.6560 us/op 0.99
Buffer.copy 2.5720 us/op 2.8200 us/op 0.91
Uint8Array.set - with subarray 2.2040 us/op 2.1930 us/op 1.01
Uint8Array.set - without subarray 1.4620 us/op 1.5120 us/op 0.97
getUint32 - dataview 231.00 ns/op 260.00 ns/op 0.89
getUint32 - manual 149.00 ns/op 187.00 ns/op 0.80
Set add up to 64 items then delete first 2.4063 us/op 2.5453 us/op 0.95
OrderedSet add up to 64 items then delete first 3.2470 us/op 3.9782 us/op 0.82
Set add up to 64 items then delete last 2.5145 us/op 2.8966 us/op 0.87
OrderedSet add up to 64 items then delete last 3.7585 us/op 3.9356 us/op 0.96
Set add up to 64 items then delete middle 2.5772 us/op 2.7739 us/op 0.93
OrderedSet add up to 64 items then delete middle 5.3414 us/op 6.6059 us/op 0.81
Set add up to 128 items then delete first 5.1293 us/op 6.2502 us/op 0.82
OrderedSet add up to 128 items then delete first 7.7767 us/op 9.5870 us/op 0.81
Set add up to 128 items then delete last 5.2188 us/op 5.8173 us/op 0.90
OrderedSet add up to 128 items then delete last 7.6081 us/op 8.2397 us/op 0.92
Set add up to 128 items then delete middle 4.9483 us/op 5.4850 us/op 0.90
OrderedSet add up to 128 items then delete middle 13.792 us/op 14.596 us/op 0.94
Set add up to 256 items then delete first 10.307 us/op 10.613 us/op 0.97
OrderedSet add up to 256 items then delete first 15.741 us/op 16.311 us/op 0.97
Set add up to 256 items then delete last 10.011 us/op 9.9578 us/op 1.01
OrderedSet add up to 256 items then delete last 15.452 us/op 15.119 us/op 1.02
Set add up to 256 items then delete middle 10.165 us/op 10.139 us/op 1.00
OrderedSet add up to 256 items then delete middle 41.507 us/op 44.117 us/op 0.94
transfer serialized Status (84 B) 2.5450 us/op 2.6720 us/op 0.95
copy serialized Status (84 B) 1.3430 us/op 1.3540 us/op 0.99
transfer serialized SignedVoluntaryExit (112 B) 2.9480 us/op 2.7600 us/op 1.07
copy serialized SignedVoluntaryExit (112 B) 1.4920 us/op 1.3270 us/op 1.12
transfer serialized ProposerSlashing (416 B) 3.8010 us/op 2.9480 us/op 1.29
copy serialized ProposerSlashing (416 B) 2.0160 us/op 1.6330 us/op 1.23
transfer serialized Attestation (485 B) 3.4070 us/op 3.0800 us/op 1.11
copy serialized Attestation (485 B) 1.9240 us/op 2.0200 us/op 0.95
transfer serialized AttesterSlashing (33232 B) 3.2250 us/op 2.8920 us/op 1.12
copy serialized AttesterSlashing (33232 B) 6.4190 us/op 5.8140 us/op 1.10
transfer serialized Small SignedBeaconBlock (128000 B) 4.8720 us/op 3.6910 us/op 1.32
copy serialized Small SignedBeaconBlock (128000 B) 16.009 us/op 14.416 us/op 1.11
transfer serialized Avg SignedBeaconBlock (200000 B) 4.8940 us/op 4.1950 us/op 1.17
copy serialized Avg SignedBeaconBlock (200000 B) 26.147 us/op 21.492 us/op 1.22
transfer serialized BlobsSidecar (524380 B) 4.7880 us/op 3.9720 us/op 1.21
copy serialized BlobsSidecar (524380 B) 91.417 us/op 121.76 us/op 0.75
transfer serialized Big SignedBeaconBlock (1000000 B) 4.4920 us/op 4.0230 us/op 1.12
copy serialized Big SignedBeaconBlock (1000000 B) 146.79 us/op 145.95 us/op 1.01
pass gossip attestations to forkchoice per slot 2.9083 ms/op 2.9515 ms/op 0.99
forkChoice updateHead vc 100000 bc 64 eq 0 504.17 us/op 519.83 us/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 0 3.3891 ms/op 3.5006 ms/op 0.97
forkChoice updateHead vc 1000000 bc 64 eq 0 5.0742 ms/op 4.4390 ms/op 1.14
forkChoice updateHead vc 600000 bc 320 eq 0 2.9277 ms/op 2.6386 ms/op 1.11
forkChoice updateHead vc 600000 bc 1200 eq 0 2.9098 ms/op 2.8258 ms/op 1.03
forkChoice updateHead vc 600000 bc 7200 eq 0 3.5395 ms/op 3.5177 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 1000 10.565 ms/op 10.783 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 10000 10.622 ms/op 10.822 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 300000 13.727 ms/op 14.055 ms/op 0.98
computeDeltas 500000 validators 300 proto nodes 4.2486 ms/op 4.5389 ms/op 0.94
computeDeltas 500000 validators 1200 proto nodes 4.4477 ms/op 4.3303 ms/op 1.03
computeDeltas 500000 validators 7200 proto nodes 4.2718 ms/op 4.4770 ms/op 0.95
computeDeltas 750000 validators 300 proto nodes 6.2343 ms/op 6.3242 ms/op 0.99
computeDeltas 750000 validators 1200 proto nodes 6.2449 ms/op 6.2535 ms/op 1.00
computeDeltas 750000 validators 7200 proto nodes 6.1737 ms/op 6.3260 ms/op 0.98
computeDeltas 1400000 validators 300 proto nodes 11.613 ms/op 11.654 ms/op 1.00
computeDeltas 1400000 validators 1200 proto nodes 11.589 ms/op 11.784 ms/op 0.98
computeDeltas 1400000 validators 7200 proto nodes 11.449 ms/op 11.559 ms/op 0.99
computeDeltas 2100000 validators 300 proto nodes 17.825 ms/op 17.653 ms/op 1.01
computeDeltas 2100000 validators 1200 proto nodes 17.704 ms/op 18.238 ms/op 0.97
computeDeltas 2100000 validators 7200 proto nodes 18.156 ms/op 17.696 ms/op 1.03
altair processAttestation - 250000 vs - 7PWei normalcase 2.0892 ms/op 1.8570 ms/op 1.13
altair processAttestation - 250000 vs - 7PWei worstcase 2.9461 ms/op 2.8328 ms/op 1.04
altair processAttestation - setStatus - 1/6 committees join 128.23 us/op 129.09 us/op 0.99
altair processAttestation - setStatus - 1/3 committees join 245.62 us/op 249.87 us/op 0.98
altair processAttestation - setStatus - 1/2 committees join 341.92 us/op 347.76 us/op 0.98
altair processAttestation - setStatus - 2/3 committees join 453.01 us/op 455.51 us/op 0.99
altair processAttestation - setStatus - 4/5 committees join 621.51 us/op 626.89 us/op 0.99
altair processAttestation - setStatus - 100% committees join 756.44 us/op 761.47 us/op 0.99
altair processBlock - 250000 vs - 7PWei normalcase 5.8094 ms/op 7.3515 ms/op 0.79
altair processBlock - 250000 vs - 7PWei normalcase hashState 27.360 ms/op 26.022 ms/op 1.05
altair processBlock - 250000 vs - 7PWei worstcase 38.810 ms/op 39.260 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase hashState 76.514 ms/op 76.285 ms/op 1.00
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5299 ms/op 2.2440 ms/op 1.13
phase0 processBlock - 250000 vs - 7PWei worstcase 29.382 ms/op 25.449 ms/op 1.15
altair processEth1Data - 250000 vs - 7PWei normalcase 426.34 us/op 341.64 us/op 1.25
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.1230 us/op 8.7230 us/op 0.82
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 58.978 us/op 61.035 us/op 0.97
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 19.577 us/op 12.095 us/op 1.62
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 11.406 us/op 8.6960 us/op 1.31
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 221.71 us/op 211.38 us/op 1.05
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3872 ms/op 1.3729 ms/op 1.01
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8262 ms/op 1.9150 ms/op 0.95
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.8588 ms/op 2.1713 ms/op 0.86
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.9176 ms/op 3.8852 ms/op 1.01
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.7834 ms/op 1.9323 ms/op 0.92
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.8887 ms/op 4.5664 ms/op 0.85
Tree 40 250000 create 269.44 ms/op 224.71 ms/op 1.20
Tree 40 250000 get(125000) 154.88 ns/op 146.52 ns/op 1.06
Tree 40 250000 set(125000) 727.65 ns/op 664.16 ns/op 1.10
Tree 40 250000 toArray() 20.682 ms/op 16.033 ms/op 1.29
Tree 40 250000 iterate all - toArray() + loop 21.625 ms/op 16.516 ms/op 1.31
Tree 40 250000 iterate all - get(i) 57.906 ms/op 55.981 ms/op 1.03
Array 250000 create 3.6179 ms/op 3.5994 ms/op 1.01
Array 250000 clone - spread 1.4927 ms/op 1.5013 ms/op 0.99
Array 250000 get(125000) 0.43200 ns/op 0.43000 ns/op 1.00
Array 250000 set(125000) 0.45800 ns/op 0.45800 ns/op 1.00
Array 250000 iterate all - loop 100.80 us/op 85.554 us/op 1.18
phase0 afterProcessEpoch - 250000 vs - 7PWei 54.108 ms/op 53.823 ms/op 1.01
Array.fill - length 1000000 4.6841 ms/op 3.8841 ms/op 1.21
Array push - length 1000000 19.340 ms/op 22.116 ms/op 0.87
Array.get 0.29518 ns/op 0.30101 ns/op 0.98
Uint8Array.get 0.46055 ns/op 0.45835 ns/op 1.00
phase0 beforeProcessEpoch - 250000 vs - 7PWei 20.489 ms/op 20.130 ms/op 1.02
altair processEpoch - mainnet_e81889 342.95 ms/op 330.83 ms/op 1.04
mainnet_e81889 - altair beforeProcessEpoch 21.698 ms/op 20.872 ms/op 1.04
mainnet_e81889 - altair processJustificationAndFinalization 17.480 us/op 16.382 us/op 1.07
mainnet_e81889 - altair processInactivityUpdates 6.5009 ms/op 7.4243 ms/op 0.88
mainnet_e81889 - altair processRewardsAndPenalties 48.700 ms/op 49.949 ms/op 0.97
mainnet_e81889 - altair processRegistryUpdates 2.6850 us/op 2.7370 us/op 0.98
mainnet_e81889 - altair processSlashings 802.00 ns/op 463.00 ns/op 1.73
mainnet_e81889 - altair processEth1DataReset 443.00 ns/op 536.00 ns/op 0.83
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3264 ms/op 1.7489 ms/op 0.76
mainnet_e81889 - altair processSlashingsReset 4.0650 us/op 5.2180 us/op 0.78
mainnet_e81889 - altair processRandaoMixesReset 6.5660 us/op 9.5000 us/op 0.69
mainnet_e81889 - altair processHistoricalRootsUpdate 796.00 ns/op 640.00 ns/op 1.24
mainnet_e81889 - altair processParticipationFlagUpdates 2.5500 us/op 2.3810 us/op 1.07
mainnet_e81889 - altair processSyncCommitteeUpdates 637.00 ns/op 729.00 ns/op 0.87
mainnet_e81889 - altair afterProcessEpoch 52.064 ms/op 52.798 ms/op 0.99
capella processEpoch - mainnet_e217614 1.0856 s/op 1.0804 s/op 1.00
mainnet_e217614 - capella beforeProcessEpoch 79.515 ms/op 68.562 ms/op 1.16
mainnet_e217614 - capella processJustificationAndFinalization 12.451 us/op 13.456 us/op 0.93
mainnet_e217614 - capella processInactivityUpdates 17.019 ms/op 17.348 ms/op 0.98
mainnet_e217614 - capella processRewardsAndPenalties 236.73 ms/op 235.42 ms/op 1.01
mainnet_e217614 - capella processRegistryUpdates 20.578 us/op 22.758 us/op 0.90
mainnet_e217614 - capella processSlashings 589.00 ns/op 739.00 ns/op 0.80
mainnet_e217614 - capella processEth1DataReset 699.00 ns/op 545.00 ns/op 1.28
mainnet_e217614 - capella processEffectiveBalanceUpdates 14.410 ms/op 4.5232 ms/op 3.19
mainnet_e217614 - capella processSlashingsReset 3.1440 us/op 5.3400 us/op 0.59
mainnet_e217614 - capella processRandaoMixesReset 5.0170 us/op 5.7890 us/op 0.87
mainnet_e217614 - capella processHistoricalRootsUpdate 696.00 ns/op 992.00 ns/op 0.70
mainnet_e217614 - capella processParticipationFlagUpdates 1.6820 us/op 2.7580 us/op 0.61
mainnet_e217614 - capella afterProcessEpoch 126.61 ms/op 127.18 ms/op 1.00
phase0 processEpoch - mainnet_e58758 294.43 ms/op 357.44 ms/op 0.82
mainnet_e58758 - phase0 beforeProcessEpoch 86.088 ms/op 83.182 ms/op 1.03
mainnet_e58758 - phase0 processJustificationAndFinalization 20.076 us/op 12.850 us/op 1.56
mainnet_e58758 - phase0 processRewardsAndPenalties 26.048 ms/op 23.771 ms/op 1.10
mainnet_e58758 - phase0 processRegistryUpdates 9.0940 us/op 12.634 us/op 0.72
mainnet_e58758 - phase0 processSlashings 817.00 ns/op 827.00 ns/op 0.99
mainnet_e58758 - phase0 processEth1DataReset 551.00 ns/op 701.00 ns/op 0.79
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.2186 ms/op 1.8371 ms/op 1.21
mainnet_e58758 - phase0 processSlashingsReset 3.4890 us/op 4.1710 us/op 0.84
mainnet_e58758 - phase0 processRandaoMixesReset 5.5920 us/op 7.2170 us/op 0.77
mainnet_e58758 - phase0 processHistoricalRootsUpdate 526.00 ns/op 531.00 ns/op 0.99
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.4540 us/op 4.1570 us/op 1.55
mainnet_e58758 - phase0 afterProcessEpoch 43.782 ms/op 41.992 ms/op 1.04
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.6782 ms/op 1.3092 ms/op 1.28
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.1674 ms/op 1.9837 ms/op 1.09
altair processInactivityUpdates - 250000 normalcase 19.671 ms/op 20.761 ms/op 0.95
altair processInactivityUpdates - 250000 worstcase 20.106 ms/op 20.396 ms/op 0.99
phase0 processRegistryUpdates - 250000 normalcase 7.8190 us/op 10.090 us/op 0.77
phase0 processRegistryUpdates - 250000 badcase_full_deposits 384.72 us/op 518.64 us/op 0.74
phase0 processRegistryUpdates - 250000 worstcase 0.5 104.62 ms/op 120.97 ms/op 0.86
altair processRewardsAndPenalties - 250000 normalcase 38.831 ms/op 54.999 ms/op 0.71
altair processRewardsAndPenalties - 250000 worstcase 39.610 ms/op 45.357 ms/op 0.87
phase0 getAttestationDeltas - 250000 normalcase 8.6041 ms/op 7.6510 ms/op 1.12
phase0 getAttestationDeltas - 250000 worstcase 8.0360 ms/op 7.6154 ms/op 1.06
phase0 processSlashings - 250000 worstcase 107.28 us/op 127.60 us/op 0.84
altair processSyncCommitteeUpdates - 250000 123.92 ms/op 130.80 ms/op 0.95
BeaconState.hashTreeRoot - No change 260.00 ns/op 253.00 ns/op 1.03
BeaconState.hashTreeRoot - 1 full validator 91.014 us/op 101.74 us/op 0.89
BeaconState.hashTreeRoot - 32 full validator 964.33 us/op 918.99 us/op 1.05
BeaconState.hashTreeRoot - 512 full validator 9.4033 ms/op 8.9125 ms/op 1.06
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 148.01 us/op 120.54 us/op 1.23
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.7549 ms/op 1.7106 ms/op 1.03
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.082 ms/op 24.262 ms/op 0.99
BeaconState.hashTreeRoot - 1 balances 124.93 us/op 88.559 us/op 1.41
BeaconState.hashTreeRoot - 32 balances 1.1033 ms/op 798.05 us/op 1.38
BeaconState.hashTreeRoot - 512 balances 8.6971 ms/op 7.2387 ms/op 1.20
BeaconState.hashTreeRoot - 250000 balances 201.83 ms/op 146.02 ms/op 1.38
aggregationBits - 2048 els - zipIndexesInBitList 29.222 us/op 24.086 us/op 1.21
byteArrayEquals 32 54.352 ns/op 55.244 ns/op 0.98
Buffer.compare 32 17.473 ns/op 17.558 ns/op 1.00
byteArrayEquals 1024 1.5987 us/op 1.6241 us/op 0.98
Buffer.compare 1024 25.125 ns/op 25.315 ns/op 0.99
byteArrayEquals 16384 25.500 us/op 25.811 us/op 0.99
Buffer.compare 16384 182.64 ns/op 181.55 ns/op 1.01
byteArrayEquals 123687377 197.71 ms/op 192.48 ms/op 1.03
Buffer.compare 123687377 40.662 ms/op 6.5839 ms/op 6.18
byteArrayEquals 32 - diff last byte 55.312 ns/op 53.114 ns/op 1.04
Buffer.compare 32 - diff last byte 24.080 ns/op 17.759 ns/op 1.36
byteArrayEquals 1024 - diff last byte 1.6500 us/op 1.6008 us/op 1.03
Buffer.compare 1024 - diff last byte 28.027 ns/op 26.226 ns/op 1.07
byteArrayEquals 16384 - diff last byte 26.773 us/op 25.525 us/op 1.05
Buffer.compare 16384 - diff last byte 211.28 ns/op 205.66 ns/op 1.03
byteArrayEquals 123687377 - diff last byte 203.58 ms/op 192.55 ms/op 1.06
Buffer.compare 123687377 - diff last byte 18.961 ms/op 6.3487 ms/op 2.99
byteArrayEquals 32 - random bytes 5.7530 ns/op 5.0750 ns/op 1.13
Buffer.compare 32 - random bytes 19.509 ns/op 16.910 ns/op 1.15
byteArrayEquals 1024 - random bytes 6.0530 ns/op 5.0630 ns/op 1.20
Buffer.compare 1024 - random bytes 19.999 ns/op 18.595 ns/op 1.08
byteArrayEquals 16384 - random bytes 6.1530 ns/op 5.0540 ns/op 1.22
Buffer.compare 16384 - random bytes 20.001 ns/op 16.868 ns/op 1.19
byteArrayEquals 123687377 - random bytes 7.4700 ns/op 6.3400 ns/op 1.18
Buffer.compare 123687377 - random bytes 21.440 ns/op 18.190 ns/op 1.18
regular array get 100000 times 38.638 us/op 32.441 us/op 1.19
wrappedArray get 100000 times 43.257 us/op 32.424 us/op 1.33
arrayWithProxy get 100000 times 12.941 ms/op 14.739 ms/op 0.88
ssz.Root.equals 49.742 ns/op 45.436 ns/op 1.09
byteArrayEquals 47.882 ns/op 44.700 ns/op 1.07
Buffer.compare 12.161 ns/op 10.194 ns/op 1.19
processSlot - 1 slots 25.238 us/op 11.847 us/op 2.13
processSlot - 32 slots 4.4020 ms/op 3.7805 ms/op 1.16
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 60.756 ms/op 41.505 ms/op 1.46
getCommitteeAssignments - req 1 vs - 250000 vc 2.4497 ms/op 2.1645 ms/op 1.13
getCommitteeAssignments - req 100 vs - 250000 vc 4.8314 ms/op 4.2036 ms/op 1.15
getCommitteeAssignments - req 1000 vs - 250000 vc 5.3409 ms/op 4.4693 ms/op 1.20
findModifiedValidators - 10000 modified validators 534.65 ms/op 224.52 ms/op 2.38
findModifiedValidators - 1000 modified validators 288.68 ms/op 168.00 ms/op 1.72
findModifiedValidators - 100 modified validators 273.06 ms/op 147.71 ms/op 1.85
findModifiedValidators - 10 modified validators 264.30 ms/op 139.60 ms/op 1.89
findModifiedValidators - 1 modified validators 211.12 ms/op 147.29 ms/op 1.43
findModifiedValidators - no difference 268.75 ms/op 163.73 ms/op 1.64
compare ViewDUs 3.9539 s/op 3.1871 s/op 1.24
compare each validator Uint8Array 1.7787 s/op 2.0188 s/op 0.88
compare ViewDU to Uint8Array 1.4572 s/op 920.83 ms/op 1.58
migrate state 1000000 validators, 24 modified, 0 new 973.54 ms/op 777.84 ms/op 1.25
migrate state 1000000 validators, 1700 modified, 1000 new 1.3873 s/op 1.0066 s/op 1.38
migrate state 1000000 validators, 3400 modified, 2000 new 1.4786 s/op 1.1908 s/op 1.24
migrate state 1500000 validators, 24 modified, 0 new 884.65 ms/op 760.59 ms/op 1.16
migrate state 1500000 validators, 1700 modified, 1000 new 1.1676 s/op 993.52 ms/op 1.18
migrate state 1500000 validators, 3400 modified, 2000 new 1.3643 s/op 1.1621 s/op 1.17
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.1000 ns/op 4.4500 ns/op 1.15
state getBlockRootAtSlot - 250000 vs - 7PWei 635.85 ns/op 471.21 ns/op 1.35
computeProposers - vc 250000 8.2166 ms/op 6.6324 ms/op 1.24
computeEpochShuffling - vc 250000 43.646 ms/op 42.133 ms/op 1.04
getNextSyncCommittee - vc 250000 148.44 ms/op 117.13 ms/op 1.27
computeSigningRoot for AttestationData 28.865 us/op 16.730 us/op 1.73
hash AttestationData serialized data then Buffer.toString(base64) 1.7257 us/op 1.6162 us/op 1.07
toHexString serialized data 1.1235 us/op 929.43 ns/op 1.21
Buffer.toString(base64) 184.63 ns/op 175.56 ns/op 1.05
nodejs block root to RootHex using toHex 185.19 ns/op 144.98 ns/op 1.28
nodejs block root to RootHex using toRootHex 94.198 ns/op 90.049 ns/op 1.05
browser block root to RootHex using the deprecated toHexString 246.50 ns/op 226.04 ns/op 1.09
browser block root to RootHex using toHex 191.53 ns/op 184.61 ns/op 1.04
browser block root to RootHex using toRootHex 170.88 ns/op 162.83 ns/op 1.05

by benchmarkbot/action

@g11tech g11tech marked this pull request as draft December 6, 2024 13:13
@g11tech g11tech marked this pull request as ready for review December 6, 2024 17:15
Copy link
Contributor

@ensi321 ensi321 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

We probably need to think more about the gas limit issue. Including checking on the uncompressed size, and also checking if builder is honouring the gas limit etc. Ideally to have uncompressed size check either in this or next release.

@nflaig
Copy link
Member

nflaig commented Dec 11, 2024

Lets get consensus with other client teams on this first before merging anything, putting into draft for now

@nflaig nflaig marked this pull request as draft December 11, 2024 11:30
@philknows
Copy link
Member

My perception based on Consensus-layer Call 147 is that changes to MAX_CHUNK_SIZE and GOSSIP_MAX_SIZE pre-Pectra should only be changed for emergency purposes only and decision to increase should be done for the fork.

@ensi321
Copy link
Contributor

ensi321 commented Dec 12, 2024

Closing as we have decided not to increase the gossip limit per ACDC#147

@ensi321 ensi321 closed this Dec 12, 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.

4 participants