-
-
Notifications
You must be signed in to change notification settings - Fork 346
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
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
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 |
|
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
There was a problem hiding this 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.
Lets get consensus with other client teams on this first before merging anything, putting into draft for now |
My perception based on Consensus-layer Call 147 is that changes to |
Closing as we have decided not to increase the gossip limit per ACDC#147 |
some updates
ref: ethereum/consensus-specs#4041
DONOT MERGE YET waiting on consensusUpdate: 3/5 clients have agreed to increase it