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: implement partial spec changes for devnet-5 #7229

Open
wants to merge 5 commits into
base: devnet-5
Choose a base branch
from

Conversation

Copy link

codecov bot commented Nov 17, 2024

Codecov Report

Attention: Patch coverage is 25.00000% with 39 lines in your changes missing coverage. Please review.

Project coverage is 48.40%. Comparing base (48dea55) to head (75480a3).
Report is 22 commits behind head on devnet-5.

Additional details and impacted files
@@             Coverage Diff              @@
##           devnet-5    #7229      +/-   ##
============================================
- Coverage     48.50%   48.40%   -0.10%     
============================================
  Files           600      602       +2     
  Lines         40135    40354     +219     
  Branches       2054     2062       +8     
============================================
+ Hits          19468    19534      +66     
- Misses        20629    20782     +153     
  Partials         38       38              

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: ee23306 Previous: 25c2ee5 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8875 ms/op 1.9392 ms/op 0.97
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 46.030 us/op 43.709 us/op 1.05
BLS verify - blst 760.83 us/op 758.45 us/op 1.00
BLS verifyMultipleSignatures 3 - blst 1.1731 ms/op 1.1392 ms/op 1.03
BLS verifyMultipleSignatures 8 - blst 1.6116 ms/op 1.6111 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst 4.7926 ms/op 4.7233 ms/op 1.01
BLS verifyMultipleSignatures 64 - blst 8.8202 ms/op 8.8395 ms/op 1.00
BLS verifyMultipleSignatures 128 - blst 16.776 ms/op 16.762 ms/op 1.00
BLS deserializing 10000 signatures 658.65 ms/op 667.45 ms/op 0.99
BLS deserializing 100000 signatures 6.5790 s/op 6.8311 s/op 0.96
BLS verifyMultipleSignatures - same message - 3 - blst 871.42 us/op 941.34 us/op 0.93
BLS verifyMultipleSignatures - same message - 8 - blst 999.88 us/op 1.0598 ms/op 0.94
BLS verifyMultipleSignatures - same message - 32 - blst 1.6627 ms/op 1.7221 ms/op 0.97
BLS verifyMultipleSignatures - same message - 64 - blst 2.4800 ms/op 2.6352 ms/op 0.94
BLS verifyMultipleSignatures - same message - 128 - blst 4.1501 ms/op 4.4194 ms/op 0.94
BLS aggregatePubkeys 32 - blst 18.535 us/op 19.713 us/op 0.94
BLS aggregatePubkeys 128 - blst 66.957 us/op 70.130 us/op 0.95
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 63.578 ms/op 52.783 ms/op 1.20
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 47.303 ms/op 61.743 ms/op 0.77
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 38.223 ms/op 38.793 ms/op 0.99
getSlashingsAndExits - default max 85.261 us/op 98.766 us/op 0.86
getSlashingsAndExits - 2k 244.95 us/op 350.39 us/op 0.70
proposeBlockBody type=full, size=empty 5.5993 ms/op 6.5631 ms/op 0.85
isKnown best case - 1 super set check 279.00 ns/op 329.00 ns/op 0.85
isKnown normal case - 2 super set checks 263.00 ns/op 336.00 ns/op 0.78
isKnown worse case - 16 super set checks 288.00 ns/op 303.00 ns/op 0.95
InMemoryCheckpointStateCache - add get delete 2.8280 us/op 3.0060 us/op 0.94
updateUnfinalizedPubkeys - updating 10 pubkeys 763.40 us/op 968.09 us/op 0.79
updateUnfinalizedPubkeys - updating 100 pubkeys 3.1029 ms/op 3.6743 ms/op 0.84
updateUnfinalizedPubkeys - updating 1000 pubkeys 47.311 ms/op 52.970 ms/op 0.89
validate api signedAggregateAndProof - struct 1.3407 ms/op 1.3824 ms/op 0.97
validate gossip signedAggregateAndProof - struct 1.3580 ms/op 1.4387 ms/op 0.94
batch validate gossip attestation - vc 640000 - chunk 32 120.43 us/op 123.57 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 64 108.43 us/op 108.26 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 128 103.30 us/op 109.69 us/op 0.94
batch validate gossip attestation - vc 640000 - chunk 256 96.184 us/op 103.58 us/op 0.93
pickEth1Vote - no votes 1.0547 ms/op 1.1594 ms/op 0.91
pickEth1Vote - max votes 6.8274 ms/op 7.0794 ms/op 0.96
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.802 ms/op 17.201 ms/op 0.86
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.429 ms/op 22.483 ms/op 0.86
pickEth1Vote - Eth1Data fastSerialize value x2048 469.01 us/op 539.55 us/op 0.87
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.2498 ms/op 5.0929 ms/op 0.64
bytes32 toHexString 405.00 ns/op 435.00 ns/op 0.93
bytes32 Buffer.toString(hex) 233.00 ns/op 255.00 ns/op 0.91
bytes32 Buffer.toString(hex) from Uint8Array 359.00 ns/op 358.00 ns/op 1.00
bytes32 Buffer.toString(hex) + 0x 237.00 ns/op 251.00 ns/op 0.94
Object access 1 prop 0.13000 ns/op 0.14000 ns/op 0.93
Map access 1 prop 0.12100 ns/op 0.13200 ns/op 0.92
Object get x1000 5.6860 ns/op 5.8530 ns/op 0.97
Map get x1000 6.1800 ns/op 6.3010 ns/op 0.98
Object set x1000 30.650 ns/op 45.077 ns/op 0.68
Map set x1000 20.947 ns/op 28.940 ns/op 0.72
Return object 10000 times 0.27850 ns/op 0.30030 ns/op 0.93
Throw Error 10000 times 3.1905 us/op 3.3739 us/op 0.95
toHex 136.65 ns/op 176.27 ns/op 0.78
Buffer.from 128.54 ns/op 163.55 ns/op 0.79
shared Buffer 85.309 ns/op 103.34 ns/op 0.83
fastMsgIdFn sha256 / 200 bytes 2.0870 us/op 2.3440 us/op 0.89
fastMsgIdFn h32 xxhash / 200 bytes 212.00 ns/op 287.00 ns/op 0.74
fastMsgIdFn h64 xxhash / 200 bytes 254.00 ns/op 288.00 ns/op 0.88
fastMsgIdFn sha256 / 1000 bytes 6.8130 us/op 7.4140 us/op 0.92
fastMsgIdFn h32 xxhash / 1000 bytes 332.00 ns/op 414.00 ns/op 0.80
fastMsgIdFn h64 xxhash / 1000 bytes 323.00 ns/op 351.00 ns/op 0.92
fastMsgIdFn sha256 / 10000 bytes 60.431 us/op 64.026 us/op 0.94
fastMsgIdFn h32 xxhash / 10000 bytes 1.7190 us/op 1.9210 us/op 0.89
fastMsgIdFn h64 xxhash / 10000 bytes 1.1680 us/op 1.2330 us/op 0.95
send data - 1000 256B messages 11.160 ms/op 13.525 ms/op 0.83
send data - 1000 512B messages 15.491 ms/op 17.269 ms/op 0.90
send data - 1000 1024B messages 24.950 ms/op 27.303 ms/op 0.91
send data - 1000 1200B messages 25.229 ms/op 19.474 ms/op 1.30
send data - 1000 2048B messages 30.401 ms/op 31.897 ms/op 0.95
send data - 1000 4096B messages 29.674 ms/op 31.012 ms/op 0.96
send data - 1000 16384B messages 69.051 ms/op 67.051 ms/op 1.03
send data - 1000 65536B messages 199.38 ms/op 199.23 ms/op 1.00
enrSubnets - fastDeserialize 64 bits 1.0470 us/op 1.0980 us/op 0.95
enrSubnets - ssz BitVector 64 bits 337.00 ns/op 372.00 ns/op 0.91
enrSubnets - fastDeserialize 4 bits 143.00 ns/op 162.00 ns/op 0.88
enrSubnets - ssz BitVector 4 bits 338.00 ns/op 372.00 ns/op 0.91
prioritizePeers score -10:0 att 32-0.1 sync 2-0 129.23 us/op 152.48 us/op 0.85
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 149.30 us/op 152.39 us/op 0.98
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 215.52 us/op 246.72 us/op 0.87
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 383.97 us/op 414.05 us/op 0.93
prioritizePeers score 0:0 att 64-1 sync 4-1 482.13 us/op 601.56 us/op 0.80
array of 16000 items push then shift 1.5553 us/op 1.6888 us/op 0.92
LinkedList of 16000 items push then shift 6.8800 ns/op 7.6010 ns/op 0.91
array of 16000 items push then pop 92.426 ns/op 125.49 ns/op 0.74
LinkedList of 16000 items push then pop 6.7350 ns/op 7.4100 ns/op 0.91
array of 24000 items push then shift 2.3039 us/op 2.4679 us/op 0.93
LinkedList of 24000 items push then shift 6.9680 ns/op 7.6400 ns/op 0.91
array of 24000 items push then pop 123.17 ns/op 166.54 ns/op 0.74
LinkedList of 24000 items push then pop 6.7520 ns/op 7.4470 ns/op 0.91
intersect bitArray bitLen 8 6.1680 ns/op 6.5870 ns/op 0.94
intersect array and set length 8 41.864 ns/op 46.634 ns/op 0.90
intersect bitArray bitLen 128 29.327 ns/op 29.705 ns/op 0.99
intersect array and set length 128 629.91 ns/op 687.28 ns/op 0.92
bitArray.getTrueBitIndexes() bitLen 128 1.2840 us/op 1.7350 us/op 0.74
bitArray.getTrueBitIndexes() bitLen 248 2.0780 us/op 3.5170 us/op 0.59
bitArray.getTrueBitIndexes() bitLen 512 4.1120 us/op 7.1450 us/op 0.58
Buffer.concat 32 items 846.00 ns/op 974.00 ns/op 0.87
Uint8Array.set 32 items 1.8370 us/op 1.6920 us/op 1.09
Buffer.copy 2.5420 us/op 1.9060 us/op 1.33
Uint8Array.set - with subarray 3.0640 us/op 2.8260 us/op 1.08
Uint8Array.set - without subarray 1.8520 us/op 1.5680 us/op 1.18
getUint32 - dataview 225.00 ns/op 264.00 ns/op 0.85
getUint32 - manual 141.00 ns/op 172.00 ns/op 0.82
Set add up to 64 items then delete first 2.1029 us/op 2.2436 us/op 0.94
OrderedSet add up to 64 items then delete first 3.1629 us/op 3.4037 us/op 0.93
Set add up to 64 items then delete last 2.4049 us/op 2.5686 us/op 0.94
OrderedSet add up to 64 items then delete last 3.5946 us/op 4.0455 us/op 0.89
Set add up to 64 items then delete middle 2.4239 us/op 2.6041 us/op 0.93
OrderedSet add up to 64 items then delete middle 5.0860 us/op 5.5001 us/op 0.92
Set add up to 128 items then delete first 4.9082 us/op 5.2212 us/op 0.94
OrderedSet add up to 128 items then delete first 7.6701 us/op 7.4580 us/op 1.03
Set add up to 128 items then delete last 4.8423 us/op 5.4177 us/op 0.89
OrderedSet add up to 128 items then delete last 7.0674 us/op 7.9275 us/op 0.89
Set add up to 128 items then delete middle 4.7170 us/op 4.9760 us/op 0.95
OrderedSet add up to 128 items then delete middle 13.396 us/op 13.781 us/op 0.97
Set add up to 256 items then delete first 9.9398 us/op 10.782 us/op 0.92
OrderedSet add up to 256 items then delete first 15.686 us/op 15.661 us/op 1.00
Set add up to 256 items then delete last 9.4157 us/op 10.499 us/op 0.90
OrderedSet add up to 256 items then delete last 14.000 us/op 15.875 us/op 0.88
Set add up to 256 items then delete middle 9.3871 us/op 10.205 us/op 0.92
OrderedSet add up to 256 items then delete middle 40.435 us/op 40.557 us/op 1.00
transfer serialized Status (84 B) 1.4890 us/op 1.3640 us/op 1.09
copy serialized Status (84 B) 1.1740 us/op 1.2390 us/op 0.95
transfer serialized SignedVoluntaryExit (112 B) 1.6780 us/op 1.6320 us/op 1.03
copy serialized SignedVoluntaryExit (112 B) 1.3050 us/op 1.3280 us/op 0.98
transfer serialized ProposerSlashing (416 B) 2.3970 us/op 1.8810 us/op 1.27
copy serialized ProposerSlashing (416 B) 2.4330 us/op 1.9410 us/op 1.25
transfer serialized Attestation (485 B) 2.5320 us/op 1.8700 us/op 1.35
copy serialized Attestation (485 B) 2.0620 us/op 1.8110 us/op 1.14
transfer serialized AttesterSlashing (33232 B) 2.3300 us/op 2.2660 us/op 1.03
copy serialized AttesterSlashing (33232 B) 5.3860 us/op 5.4710 us/op 0.98
transfer serialized Small SignedBeaconBlock (128000 B) 2.8930 us/op 3.2060 us/op 0.90
copy serialized Small SignedBeaconBlock (128000 B) 14.523 us/op 19.032 us/op 0.76
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2650 us/op 4.5530 us/op 0.72
copy serialized Avg SignedBeaconBlock (200000 B) 19.960 us/op 27.905 us/op 0.72
transfer serialized BlobsSidecar (524380 B) 3.4980 us/op 3.1540 us/op 1.11
copy serialized BlobsSidecar (524380 B) 76.963 us/op 82.555 us/op 0.93
transfer serialized Big SignedBeaconBlock (1000000 B) 3.2110 us/op 2.6440 us/op 1.21
copy serialized Big SignedBeaconBlock (1000000 B) 251.50 us/op 222.11 us/op 1.13
pass gossip attestations to forkchoice per slot 2.8390 ms/op 2.8148 ms/op 1.01
forkChoice updateHead vc 100000 bc 64 eq 0 450.04 us/op 444.89 us/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 0 2.8272 ms/op 2.8132 ms/op 1.00
forkChoice updateHead vc 1000000 bc 64 eq 0 4.8661 ms/op 4.8467 ms/op 1.00
forkChoice updateHead vc 600000 bc 320 eq 0 2.6733 ms/op 2.8516 ms/op 0.94
forkChoice updateHead vc 600000 bc 1200 eq 0 2.8148 ms/op 2.8909 ms/op 0.97
forkChoice updateHead vc 600000 bc 7200 eq 0 3.5049 ms/op 3.3225 ms/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 1000 9.8313 ms/op 10.344 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 10000 10.350 ms/op 10.717 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 300000 13.775 ms/op 13.503 ms/op 1.02
computeDeltas 500000 validators 300 proto nodes 3.9337 ms/op 3.9685 ms/op 0.99
computeDeltas 500000 validators 1200 proto nodes 3.8868 ms/op 3.9902 ms/op 0.97
computeDeltas 500000 validators 7200 proto nodes 3.9217 ms/op 4.1140 ms/op 0.95
computeDeltas 750000 validators 300 proto nodes 5.8208 ms/op 5.9279 ms/op 0.98
computeDeltas 750000 validators 1200 proto nodes 5.7969 ms/op 5.9474 ms/op 0.97
computeDeltas 750000 validators 7200 proto nodes 5.8392 ms/op 5.9845 ms/op 0.98
computeDeltas 1400000 validators 300 proto nodes 10.993 ms/op 11.322 ms/op 0.97
computeDeltas 1400000 validators 1200 proto nodes 10.809 ms/op 11.371 ms/op 0.95
computeDeltas 1400000 validators 7200 proto nodes 10.877 ms/op 11.196 ms/op 0.97
computeDeltas 2100000 validators 300 proto nodes 16.273 ms/op 17.038 ms/op 0.96
computeDeltas 2100000 validators 1200 proto nodes 16.275 ms/op 16.589 ms/op 0.98
computeDeltas 2100000 validators 7200 proto nodes 16.345 ms/op 16.361 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei normalcase 1.7487 ms/op 1.9029 ms/op 0.92
altair processAttestation - 250000 vs - 7PWei worstcase 2.4845 ms/op 2.5582 ms/op 0.97
altair processAttestation - setStatus - 1/6 committees join 86.105 us/op 87.042 us/op 0.99
altair processAttestation - setStatus - 1/3 committees join 169.10 us/op 181.14 us/op 0.93
altair processAttestation - setStatus - 1/2 committees join 244.27 us/op 243.90 us/op 1.00
altair processAttestation - setStatus - 2/3 committees join 322.50 us/op 319.95 us/op 1.01
altair processAttestation - setStatus - 4/5 committees join 453.40 us/op 448.97 us/op 1.01
altair processAttestation - setStatus - 100% committees join 523.48 us/op 543.43 us/op 0.96
altair processBlock - 250000 vs - 7PWei normalcase 4.3334 ms/op 5.8064 ms/op 0.75
altair processBlock - 250000 vs - 7PWei normalcase hashState 25.888 ms/op 25.345 ms/op 1.02
altair processBlock - 250000 vs - 7PWei worstcase 33.043 ms/op 31.729 ms/op 1.04
altair processBlock - 250000 vs - 7PWei worstcase hashState 75.409 ms/op 61.498 ms/op 1.23
phase0 processBlock - 250000 vs - 7PWei normalcase 1.6838 ms/op 1.6901 ms/op 1.00
phase0 processBlock - 250000 vs - 7PWei worstcase 19.544 ms/op 19.515 ms/op 1.00
altair processEth1Data - 250000 vs - 7PWei normalcase 300.06 us/op 312.05 us/op 0.96
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.2430 us/op 5.2620 us/op 1.00
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 32.418 us/op 34.342 us/op 0.94
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 9.3130 us/op 8.6090 us/op 1.08
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.4160 us/op 5.5600 us/op 0.97
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 130.41 us/op 128.74 us/op 1.01
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3189 ms/op 1.0314 ms/op 1.28
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.6978 ms/op 1.5189 ms/op 1.12
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6386 ms/op 1.4575 ms/op 1.12
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.7216 ms/op 3.6539 ms/op 1.02
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.6963 ms/op 1.5573 ms/op 1.09
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.9740 ms/op 3.8880 ms/op 1.02
Tree 40 250000 create 210.64 ms/op 214.76 ms/op 0.98
Tree 40 250000 get(125000) 141.04 ns/op 148.03 ns/op 0.95
Tree 40 250000 set(125000) 620.59 ns/op 732.45 ns/op 0.85
Tree 40 250000 toArray() 14.410 ms/op 20.196 ms/op 0.71
Tree 40 250000 iterate all - toArray() + loop 14.608 ms/op 17.037 ms/op 0.86
Tree 40 250000 iterate all - get(i) 47.517 ms/op 50.518 ms/op 0.94
Array 250000 create 2.6361 ms/op 2.9219 ms/op 0.90
Array 250000 clone - spread 1.3533 ms/op 1.3226 ms/op 1.02
Array 250000 get(125000) 0.39300 ns/op 0.42200 ns/op 0.93
Array 250000 set(125000) 0.41100 ns/op 0.47100 ns/op 0.87
Array 250000 iterate all - loop 101.09 us/op 105.36 us/op 0.96
phase0 afterProcessEpoch - 250000 vs - 7PWei 47.550 ms/op 49.106 ms/op 0.97
Array.fill - length 1000000 3.5069 ms/op 3.2852 ms/op 1.07
Array push - length 1000000 16.056 ms/op 16.757 ms/op 0.96
Array.get 0.27328 ns/op 0.27177 ns/op 1.01
Uint8Array.get 0.43796 ns/op 0.42495 ns/op 1.03
phase0 beforeProcessEpoch - 250000 vs - 7PWei 16.817 ms/op 15.898 ms/op 1.06
altair processEpoch - mainnet_e81889 265.39 ms/op 283.49 ms/op 0.94
mainnet_e81889 - altair beforeProcessEpoch 17.912 ms/op 18.433 ms/op 0.97
mainnet_e81889 - altair processJustificationAndFinalization 11.889 us/op 12.057 us/op 0.99
mainnet_e81889 - altair processInactivityUpdates 4.9872 ms/op 5.5356 ms/op 0.90
mainnet_e81889 - altair processRewardsAndPenalties 37.398 ms/op 34.793 ms/op 1.07
mainnet_e81889 - altair processRegistryUpdates 1.6350 us/op 1.8780 us/op 0.87
mainnet_e81889 - altair processSlashings 380.00 ns/op 417.00 ns/op 0.91
mainnet_e81889 - altair processEth1DataReset 334.00 ns/op 322.00 ns/op 1.04
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9434 ms/op 1.3700 ms/op 1.42
mainnet_e81889 - altair processSlashingsReset 2.6230 us/op 4.2280 us/op 0.62
mainnet_e81889 - altair processRandaoMixesReset 3.3570 us/op 4.2280 us/op 0.79
mainnet_e81889 - altair processHistoricalRootsUpdate 331.00 ns/op 517.00 ns/op 0.64
mainnet_e81889 - altair processParticipationFlagUpdates 1.8120 us/op 1.9420 us/op 0.93
mainnet_e81889 - altair processSyncCommitteeUpdates 399.00 ns/op 401.00 ns/op 1.00
mainnet_e81889 - altair afterProcessEpoch 48.664 ms/op 50.178 ms/op 0.97
capella processEpoch - mainnet_e217614 1.0538 s/op 1.0220 s/op 1.03
mainnet_e217614 - capella beforeProcessEpoch 73.200 ms/op 64.682 ms/op 1.13
mainnet_e217614 - capella processJustificationAndFinalization 14.076 us/op 15.222 us/op 0.92
mainnet_e217614 - capella processInactivityUpdates 17.533 ms/op 15.879 ms/op 1.10
mainnet_e217614 - capella processRewardsAndPenalties 214.28 ms/op 216.90 ms/op 0.99
mainnet_e217614 - capella processRegistryUpdates 13.411 us/op 11.935 us/op 1.12
mainnet_e217614 - capella processSlashings 412.00 ns/op 348.00 ns/op 1.18
mainnet_e217614 - capella processEth1DataReset 389.00 ns/op 308.00 ns/op 1.26
mainnet_e217614 - capella processEffectiveBalanceUpdates 14.678 ms/op 12.134 ms/op 1.21
mainnet_e217614 - capella processSlashingsReset 5.6770 us/op 2.9550 us/op 1.92
mainnet_e217614 - capella processRandaoMixesReset 4.5900 us/op 4.0780 us/op 1.13
mainnet_e217614 - capella processHistoricalRootsUpdate 536.00 ns/op 498.00 ns/op 1.08
mainnet_e217614 - capella processParticipationFlagUpdates 1.6300 us/op 1.8180 us/op 0.90
mainnet_e217614 - capella afterProcessEpoch 122.95 ms/op 120.14 ms/op 1.02
phase0 processEpoch - mainnet_e58758 330.96 ms/op 339.14 ms/op 0.98
mainnet_e58758 - phase0 beforeProcessEpoch 66.160 ms/op 72.867 ms/op 0.91
mainnet_e58758 - phase0 processJustificationAndFinalization 13.585 us/op 15.301 us/op 0.89
mainnet_e58758 - phase0 processRewardsAndPenalties 27.469 ms/op 29.402 ms/op 0.93
mainnet_e58758 - phase0 processRegistryUpdates 6.7980 us/op 7.7050 us/op 0.88
mainnet_e58758 - phase0 processSlashings 404.00 ns/op 347.00 ns/op 1.16
mainnet_e58758 - phase0 processEth1DataReset 286.00 ns/op 366.00 ns/op 0.78
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2089 ms/op 1.1944 ms/op 1.01
mainnet_e58758 - phase0 processSlashingsReset 2.1700 us/op 3.4230 us/op 0.63
mainnet_e58758 - phase0 processRandaoMixesReset 3.6040 us/op 3.7040 us/op 0.97
mainnet_e58758 - phase0 processHistoricalRootsUpdate 318.00 ns/op 297.00 ns/op 1.07
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.8000 us/op 2.9940 us/op 0.94
mainnet_e58758 - phase0 afterProcessEpoch 42.255 ms/op 41.917 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.8681 ms/op 1.3928 ms/op 1.34
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.2773 ms/op 2.3783 ms/op 0.96
altair processInactivityUpdates - 250000 normalcase 14.089 ms/op 14.981 ms/op 0.94
altair processInactivityUpdates - 250000 worstcase 14.649 ms/op 15.010 ms/op 0.98
phase0 processRegistryUpdates - 250000 normalcase 6.1850 us/op 5.8030 us/op 1.07
phase0 processRegistryUpdates - 250000 badcase_full_deposits 229.06 us/op 222.01 us/op 1.03
phase0 processRegistryUpdates - 250000 worstcase 0.5 117.67 ms/op 104.72 ms/op 1.12
altair processRewardsAndPenalties - 250000 normalcase 36.938 ms/op 30.106 ms/op 1.23
altair processRewardsAndPenalties - 250000 worstcase 38.320 ms/op 36.437 ms/op 1.05
phase0 getAttestationDeltas - 250000 normalcase 6.8678 ms/op 6.9900 ms/op 0.98
phase0 getAttestationDeltas - 250000 worstcase 6.4853 ms/op 6.9305 ms/op 0.94
phase0 processSlashings - 250000 worstcase 72.941 us/op 76.705 us/op 0.95
altair processSyncCommitteeUpdates - 250000 121.47 ms/op 117.36 ms/op 1.04
BeaconState.hashTreeRoot - No change 253.00 ns/op 258.00 ns/op 0.98
BeaconState.hashTreeRoot - 1 full validator 117.97 us/op 122.00 us/op 0.97
BeaconState.hashTreeRoot - 32 full validator 1.0888 ms/op 1.4034 ms/op 0.78
BeaconState.hashTreeRoot - 512 full validator 10.330 ms/op 9.0865 ms/op 1.14
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 126.70 us/op 123.58 us/op 1.03
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.7812 ms/op 1.5124 ms/op 1.18
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 18.265 ms/op 22.417 ms/op 0.81
BeaconState.hashTreeRoot - 1 balances 102.98 us/op 88.375 us/op 1.17
BeaconState.hashTreeRoot - 32 balances 955.50 us/op 837.26 us/op 1.14
BeaconState.hashTreeRoot - 512 balances 7.7240 ms/op 7.6953 ms/op 1.00
BeaconState.hashTreeRoot - 250000 balances 172.70 ms/op 167.88 ms/op 1.03
aggregationBits - 2048 els - zipIndexesInBitList 23.225 us/op 46.494 us/op 0.50
byteArrayEquals 32 53.348 ns/op 54.998 ns/op 0.97
Buffer.compare 32 17.095 ns/op 16.872 ns/op 1.01
byteArrayEquals 1024 1.5759 us/op 1.5492 us/op 1.02
Buffer.compare 1024 27.243 ns/op 24.852 ns/op 1.10
byteArrayEquals 16384 25.109 us/op 24.642 us/op 1.02
Buffer.compare 16384 205.18 ns/op 200.25 ns/op 1.02
byteArrayEquals 123687377 189.51 ms/op 186.36 ms/op 1.02
Buffer.compare 123687377 6.0231 ms/op 6.0616 ms/op 0.99
byteArrayEquals 32 - diff last byte 52.240 ns/op 51.453 ns/op 1.02
Buffer.compare 32 - diff last byte 17.015 ns/op 17.051 ns/op 1.00
byteArrayEquals 1024 - diff last byte 1.5759 us/op 1.5802 us/op 1.00
Buffer.compare 1024 - diff last byte 25.748 ns/op 24.890 ns/op 1.03
byteArrayEquals 16384 - diff last byte 25.088 us/op 25.174 us/op 1.00
Buffer.compare 16384 - diff last byte 199.33 ns/op 201.68 ns/op 0.99
byteArrayEquals 123687377 - diff last byte 188.01 ms/op 187.06 ms/op 1.01
Buffer.compare 123687377 - diff last byte 6.0415 ms/op 6.4409 ms/op 0.94
byteArrayEquals 32 - random bytes 4.8900 ns/op 5.0780 ns/op 0.96
Buffer.compare 32 - random bytes 16.357 ns/op 16.796 ns/op 0.97
byteArrayEquals 1024 - random bytes 4.8820 ns/op 5.0420 ns/op 0.97
Buffer.compare 1024 - random bytes 16.354 ns/op 16.782 ns/op 0.97
byteArrayEquals 16384 - random bytes 4.8800 ns/op 5.0460 ns/op 0.97
Buffer.compare 16384 - random bytes 16.337 ns/op 16.930 ns/op 0.96
byteArrayEquals 123687377 - random bytes 6.1100 ns/op 6.3900 ns/op 0.96
Buffer.compare 123687377 - random bytes 17.560 ns/op 18.170 ns/op 0.97
regular array get 100000 times 41.204 us/op 33.013 us/op 1.25
wrappedArray get 100000 times 41.894 us/op 32.552 us/op 1.29
arrayWithProxy get 100000 times 14.445 ms/op 13.081 ms/op 1.10
ssz.Root.equals 44.545 ns/op 45.150 ns/op 0.99
byteArrayEquals 43.937 ns/op 44.493 ns/op 0.99
Buffer.compare 10.054 ns/op 10.150 ns/op 0.99
processSlot - 1 slots 16.429 us/op 13.188 us/op 1.25
processSlot - 32 slots 3.0205 ms/op 2.9112 ms/op 1.04
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.750 ms/op 36.615 ms/op 1.00
getCommitteeAssignments - req 1 vs - 250000 vc 1.9876 ms/op 2.0394 ms/op 0.97
getCommitteeAssignments - req 100 vs - 250000 vc 3.8654 ms/op 3.9935 ms/op 0.97
getCommitteeAssignments - req 1000 vs - 250000 vc 4.2034 ms/op 4.2468 ms/op 0.99
findModifiedValidators - 10000 modified validators 236.96 ms/op 240.57 ms/op 0.98
findModifiedValidators - 1000 modified validators 163.46 ms/op 165.93 ms/op 0.99
findModifiedValidators - 100 modified validators 158.78 ms/op 146.62 ms/op 1.08
findModifiedValidators - 10 modified validators 149.23 ms/op 141.86 ms/op 1.05
findModifiedValidators - 1 modified validators 156.32 ms/op 137.65 ms/op 1.14
findModifiedValidators - no difference 159.41 ms/op 145.45 ms/op 1.10
compare ViewDUs 3.0497 s/op 2.8751 s/op 1.06
compare each validator Uint8Array 1.4960 s/op 1.6409 s/op 0.91
compare ViewDU to Uint8Array 1.0442 s/op 937.43 ms/op 1.11
migrate state 1000000 validators, 24 modified, 0 new 726.63 ms/op 729.44 ms/op 1.00
migrate state 1000000 validators, 1700 modified, 1000 new 979.60 ms/op 967.07 ms/op 1.01
migrate state 1000000 validators, 3400 modified, 2000 new 1.1816 s/op 1.1626 s/op 1.02
migrate state 1500000 validators, 24 modified, 0 new 736.30 ms/op 713.82 ms/op 1.03
migrate state 1500000 validators, 1700 modified, 1000 new 969.35 ms/op 946.18 ms/op 1.02
migrate state 1500000 validators, 3400 modified, 2000 new 1.1850 s/op 1.1576 s/op 1.02
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.1700 ns/op 4.1800 ns/op 1.00
state getBlockRootAtSlot - 250000 vs - 7PWei 640.74 ns/op 693.33 ns/op 0.92
computeProposers - vc 250000 7.2370 ms/op 6.6118 ms/op 1.09
computeEpochShuffling - vc 250000 39.987 ms/op 40.555 ms/op 0.99
getNextSyncCommittee - vc 250000 112.49 ms/op 116.23 ms/op 0.97
computeSigningRoot for AttestationData 27.109 us/op 22.905 us/op 1.18
hash AttestationData serialized data then Buffer.toString(base64) 1.5445 us/op 1.5285 us/op 1.01
toHexString serialized data 882.52 ns/op 837.86 ns/op 1.05
Buffer.toString(base64) 194.16 ns/op 181.12 ns/op 1.07
nodejs block root to RootHex using toHex 150.84 ns/op 175.36 ns/op 0.86
nodejs block root to RootHex using toRootHex 97.344 ns/op 88.733 ns/op 1.10
browser block root to RootHex using the deprecated toHexString 227.90 ns/op 217.99 ns/op 1.05
browser block root to RootHex using toHex 181.69 ns/op 174.69 ns/op 1.04
browser block root to RootHex using toRootHex 165.60 ns/op 156.66 ns/op 1.06

by benchmarkbot/action

@ensi321 ensi321 changed the base branch from unstable to devnet-5 November 20, 2024 16:05
@ensi321 ensi321 marked this pull request as ready for review December 3, 2024 00:15
@ensi321 ensi321 requested a review from a team as a code owner December 3, 2024 00:15
@ensi321
Copy link
Contributor Author

ensi321 commented Dec 3, 2024

Ignore spec test result for now. We can run spec test altogether in #7246

@nflaig
Copy link
Member

nflaig commented Dec 3, 2024

@ensi321 I rebased the branch to drop one commit which somehow got in here from unstable branch

Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

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

LGTM

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