-
-
Notifications
You must be signed in to change notification settings - Fork 300
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: placeholder PR for verge #5805
Conversation
e8bcb58
to
c4ba394
Compare
@@ -66,7 +66,7 @@ export function createForkConfig(config: ChainConfig): ForkConfig { | |||
|
|||
/** Forks in order order of occurence, `phase0` first */ | |||
// Note: Downstream code relies on proper ordering. | |||
const forks = {phase0, altair, bellatrix, capella, deneb, verge}; | |||
const forks = {phase0, altair, bellatrix, capella, verge, deneb}; |
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.
The fork order could be dynamically derived from FORK_EPOCH_* values to prevent having to decide here which fork comes first
dd1e61d
to
fb746c2
Compare
|
Benchmark suite | Current: e59c50e | Previous: adc0534 | Ratio |
---|---|---|---|
forkChoice updateHead vc 600000 bc 64 eq 0 | 13.723 ms/op | 4.0664 ms/op | 3.37 |
Full benchmark results
Benchmark suite | Current: e59c50e | Previous: adc0534 | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 742.42 us/op | 792.50 us/op | 0.94 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 88.720 us/op | 83.873 us/op | 1.06 |
BLS verify - blst-native | 1.4024 ms/op | 1.3337 ms/op | 1.05 |
BLS verifyMultipleSignatures 3 - blst-native | 3.0859 ms/op | 2.7201 ms/op | 1.13 |
BLS verifyMultipleSignatures 8 - blst-native | 6.4460 ms/op | 6.0052 ms/op | 1.07 |
BLS verifyMultipleSignatures 32 - blst-native | 26.194 ms/op | 21.969 ms/op | 1.19 |
BLS verifyMultipleSignatures 64 - blst-native | 48.900 ms/op | 43.166 ms/op | 1.13 |
BLS verifyMultipleSignatures 128 - blst-native | 94.366 ms/op | 86.357 ms/op | 1.09 |
BLS deserializing 10000 signatures | 955.70 ms/op | 924.28 ms/op | 1.03 |
BLS deserializing 100000 signatures | 9.5968 s/op | 9.4577 s/op | 1.01 |
BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.4864 ms/op | 1.3320 ms/op | 1.12 |
BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.7391 ms/op | 1.6456 ms/op | 1.06 |
BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.5465 ms/op | 2.9228 ms/op | 0.87 |
BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.7774 ms/op | 4.4102 ms/op | 0.86 |
BLS verifyMultipleSignatures - same message - 128 - blst-native | 5.9922 ms/op | 7.9726 ms/op | 0.75 |
BLS aggregatePubkeys 32 - blst-native | 28.359 us/op | 25.918 us/op | 1.09 |
BLS aggregatePubkeys 128 - blst-native | 106.66 us/op | 100.81 us/op | 1.06 |
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 63.143 ms/op | 67.440 ms/op | 0.94 |
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 67.807 ms/op | 63.667 ms/op | 1.07 |
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 48.044 ms/op | 36.440 ms/op | 1.32 |
getSlashingsAndExits - default max | 239.69 us/op | 203.78 us/op | 1.18 |
getSlashingsAndExits - 2k | 489.48 us/op | 651.26 us/op | 0.75 |
proposeBlockBody type=full, size=empty | 6.7290 ms/op | 5.3843 ms/op | 1.25 |
isKnown best case - 1 super set check | 595.00 ns/op | 379.00 ns/op | 1.57 |
isKnown normal case - 2 super set checks | 485.00 ns/op | 532.00 ns/op | 0.91 |
isKnown worse case - 16 super set checks | 505.00 ns/op | 599.00 ns/op | 0.84 |
CheckpointStateCache - add get delete | 7.6940 us/op | 7.6150 us/op | 1.01 |
validate api signedAggregateAndProof - struct | 3.0278 ms/op | 3.0116 ms/op | 1.01 |
validate gossip signedAggregateAndProof - struct | 3.0712 ms/op | 2.8203 ms/op | 1.09 |
validate gossip attestation - vc 640000 | 1.5229 ms/op | 1.3874 ms/op | 1.10 |
batch validate gossip attestation - vc 640000 - chunk 32 | 197.13 us/op | 168.47 us/op | 1.17 |
batch validate gossip attestation - vc 640000 - chunk 64 | 168.01 us/op | 146.72 us/op | 1.15 |
batch validate gossip attestation - vc 640000 - chunk 128 | 171.99 us/op | 141.39 us/op | 1.22 |
batch validate gossip attestation - vc 640000 - chunk 256 | 163.31 us/op | 130.31 us/op | 1.25 |
pickEth1Vote - no votes | 1.5318 ms/op | 1.1663 ms/op | 1.31 |
pickEth1Vote - max votes | 15.125 ms/op | 9.8931 ms/op | 1.53 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 24.627 ms/op | 16.455 ms/op | 1.50 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 32.991 ms/op | 23.089 ms/op | 1.43 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 910.17 us/op | 620.45 us/op | 1.47 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 7.8007 ms/op | 4.3950 ms/op | 1.77 |
bytes32 toHexString | 697.00 ns/op | 532.00 ns/op | 1.31 |
bytes32 Buffer.toString(hex) | 392.00 ns/op | 295.00 ns/op | 1.33 |
bytes32 Buffer.toString(hex) from Uint8Array | 612.00 ns/op | 428.00 ns/op | 1.43 |
bytes32 Buffer.toString(hex) + 0x | 367.00 ns/op | 292.00 ns/op | 1.26 |
Object access 1 prop | 0.26500 ns/op | 0.16800 ns/op | 1.58 |
Map access 1 prop | 0.19500 ns/op | 0.15400 ns/op | 1.27 |
Object get x1000 | 13.381 ns/op | 7.3500 ns/op | 1.82 |
Map get x1000 | 1.2680 ns/op | 0.76700 ns/op | 1.65 |
Object set x1000 | 94.154 ns/op | 52.256 ns/op | 1.80 |
Map set x1000 | 68.890 ns/op | 41.214 ns/op | 1.67 |
Return object 10000 times | 0.31820 ns/op | 0.24490 ns/op | 1.30 |
Throw Error 10000 times | 5.4434 us/op | 3.9163 us/op | 1.39 |
fastMsgIdFn sha256 / 200 bytes | 4.6810 us/op | 3.3970 us/op | 1.38 |
fastMsgIdFn h32 xxhash / 200 bytes | 442.00 ns/op | 317.00 ns/op | 1.39 |
fastMsgIdFn h64 xxhash / 200 bytes | 488.00 ns/op | 348.00 ns/op | 1.40 |
fastMsgIdFn sha256 / 1000 bytes | 15.174 us/op | 11.370 us/op | 1.33 |
fastMsgIdFn h32 xxhash / 1000 bytes | 596.00 ns/op | 417.00 ns/op | 1.43 |
fastMsgIdFn h64 xxhash / 1000 bytes | 587.00 ns/op | 458.00 ns/op | 1.28 |
fastMsgIdFn sha256 / 10000 bytes | 135.95 us/op | 104.97 us/op | 1.30 |
fastMsgIdFn h32 xxhash / 10000 bytes | 2.4980 us/op | 1.9730 us/op | 1.27 |
fastMsgIdFn h64 xxhash / 10000 bytes | 1.7430 us/op | 1.3830 us/op | 1.26 |
send data - 1000 256B messages | 25.762 ms/op | 19.901 ms/op | 1.29 |
send data - 1000 512B messages | 35.145 ms/op | 28.055 ms/op | 1.25 |
send data - 1000 1024B messages | 60.113 ms/op | 41.059 ms/op | 1.46 |
send data - 1000 1200B messages | 49.701 ms/op | 37.236 ms/op | 1.33 |
send data - 1000 2048B messages | 88.890 ms/op | 48.863 ms/op | 1.82 |
send data - 1000 4096B messages | 64.603 ms/op | 44.281 ms/op | 1.46 |
send data - 1000 16384B messages | 187.45 ms/op | 117.00 ms/op | 1.60 |
send data - 1000 65536B messages | 744.27 ms/op | 471.40 ms/op | 1.58 |
enrSubnets - fastDeserialize 64 bits | 3.0650 us/op | 1.3310 us/op | 2.30 |
enrSubnets - ssz BitVector 64 bits | 955.00 ns/op | 445.00 ns/op | 2.15 |
enrSubnets - fastDeserialize 4 bits | 367.00 ns/op | 196.00 ns/op | 1.87 |
enrSubnets - ssz BitVector 4 bits | 886.00 ns/op | 466.00 ns/op | 1.90 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 212.65 us/op | 104.86 us/op | 2.03 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 240.44 us/op | 132.87 us/op | 1.81 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 295.44 us/op | 175.69 us/op | 1.68 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 569.02 us/op | 297.62 us/op | 1.91 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 619.18 us/op | 368.83 us/op | 1.68 |
array of 16000 items push then shift | 2.4118 us/op | 1.6256 us/op | 1.48 |
LinkedList of 16000 items push then shift | 15.613 ns/op | 9.0490 ns/op | 1.73 |
array of 16000 items push then pop | 187.16 ns/op | 59.223 ns/op | 3.16 |
LinkedList of 16000 items push then pop | 16.280 ns/op | 8.8570 ns/op | 1.84 |
array of 24000 items push then shift | 4.5389 us/op | 2.4041 us/op | 1.89 |
LinkedList of 24000 items push then shift | 14.785 ns/op | 8.8960 ns/op | 1.66 |
array of 24000 items push then pop | 231.69 ns/op | 114.00 ns/op | 2.03 |
LinkedList of 24000 items push then pop | 15.841 ns/op | 8.7010 ns/op | 1.82 |
intersect bitArray bitLen 8 | 11.028 ns/op | 5.7850 ns/op | 1.91 |
intersect array and set length 8 | 146.17 ns/op | 64.743 ns/op | 2.26 |
intersect bitArray bitLen 128 | 57.876 ns/op | 35.272 ns/op | 1.64 |
intersect array and set length 128 | 1.7503 us/op | 948.41 ns/op | 1.85 |
bitArray.getTrueBitIndexes() bitLen 128 | 3.0220 us/op | 1.5620 us/op | 1.93 |
bitArray.getTrueBitIndexes() bitLen 248 | 5.1850 us/op | 2.8920 us/op | 1.79 |
bitArray.getTrueBitIndexes() bitLen 512 | 11.573 us/op | 5.2420 us/op | 2.21 |
Buffer.concat 32 items | 2.4400 us/op | 1.0970 us/op | 2.22 |
Uint8Array.set 32 items | 3.2350 us/op | 2.6580 us/op | 1.22 |
Set add up to 64 items then delete first | 9.0580 us/op | 4.3039 us/op | 2.10 |
OrderedSet add up to 64 items then delete first | 14.694 us/op | 5.3629 us/op | 2.74 |
Set add up to 64 items then delete last | 11.253 us/op | 4.5334 us/op | 2.48 |
OrderedSet add up to 64 items then delete last | 12.230 us/op | 5.6186 us/op | 2.18 |
Set add up to 64 items then delete middle | 9.4365 us/op | 4.4868 us/op | 2.10 |
OrderedSet add up to 64 items then delete middle | 15.657 us/op | 6.9857 us/op | 2.24 |
Set add up to 128 items then delete first | 19.882 us/op | 9.4838 us/op | 2.10 |
OrderedSet add up to 128 items then delete first | 27.522 us/op | 12.161 us/op | 2.26 |
Set add up to 128 items then delete last | 19.159 us/op | 9.1715 us/op | 2.09 |
OrderedSet add up to 128 items then delete last | 24.402 us/op | 11.275 us/op | 2.16 |
Set add up to 128 items then delete middle | 18.082 us/op | 9.0236 us/op | 2.00 |
OrderedSet add up to 128 items then delete middle | 35.347 us/op | 16.624 us/op | 2.13 |
Set add up to 256 items then delete first | 38.002 us/op | 18.709 us/op | 2.03 |
OrderedSet add up to 256 items then delete first | 48.540 us/op | 24.900 us/op | 1.95 |
Set add up to 256 items then delete last | 34.082 us/op | 17.899 us/op | 1.90 |
OrderedSet add up to 256 items then delete last | 49.927 us/op | 22.785 us/op | 2.19 |
Set add up to 256 items then delete middle | 40.190 us/op | 18.059 us/op | 2.23 |
OrderedSet add up to 256 items then delete middle | 103.99 us/op | 44.531 us/op | 2.34 |
transfer serialized Status (84 B) | 4.2460 us/op | 1.6270 us/op | 2.61 |
copy serialized Status (84 B) | 3.2420 us/op | 1.1970 us/op | 2.71 |
transfer serialized SignedVoluntaryExit (112 B) | 4.3720 us/op | 1.8140 us/op | 2.41 |
copy serialized SignedVoluntaryExit (112 B) | 2.9300 us/op | 1.2770 us/op | 2.29 |
transfer serialized ProposerSlashing (416 B) | 4.6380 us/op | 2.8560 us/op | 1.62 |
copy serialized ProposerSlashing (416 B) | 4.0060 us/op | 2.6770 us/op | 1.50 |
transfer serialized Attestation (485 B) | 5.2520 us/op | 2.6360 us/op | 1.99 |
copy serialized Attestation (485 B) | 4.9990 us/op | 2.4990 us/op | 2.00 |
transfer serialized AttesterSlashing (33232 B) | 6.2640 us/op | 2.4860 us/op | 2.52 |
copy serialized AttesterSlashing (33232 B) | 16.727 us/op | 6.3920 us/op | 2.62 |
transfer serialized Small SignedBeaconBlock (128000 B) | 8.5930 us/op | 2.8310 us/op | 3.04 |
copy serialized Small SignedBeaconBlock (128000 B) | 45.454 us/op | 15.038 us/op | 3.02 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 9.3550 us/op | 3.3940 us/op | 2.76 |
copy serialized Avg SignedBeaconBlock (200000 B) | 65.888 us/op | 20.602 us/op | 3.20 |
transfer serialized BlobsSidecar (524380 B) | 12.948 us/op | 3.4700 us/op | 3.73 |
copy serialized BlobsSidecar (524380 B) | 192.02 us/op | 120.55 us/op | 1.59 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 10.931 us/op | 3.0400 us/op | 3.60 |
copy serialized Big SignedBeaconBlock (1000000 B) | 277.10 us/op | 380.64 us/op | 0.73 |
pass gossip attestations to forkchoice per slot | 8.3056 ms/op | 3.7688 ms/op | 2.20 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 1.5927 ms/op | 672.05 us/op | 2.37 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 13.723 ms/op | 4.0664 ms/op | 3.37 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 16.869 ms/op | 6.8946 ms/op | 2.45 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 10.495 ms/op | 4.1540 ms/op | 2.53 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 8.1578 ms/op | 4.2837 ms/op | 1.90 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 10.019 ms/op | 5.3699 ms/op | 1.87 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 20.068 ms/op | 10.915 ms/op | 1.84 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 24.491 ms/op | 11.636 ms/op | 2.10 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 39.098 ms/op | 15.467 ms/op | 2.53 |
computeDeltas 500000 validators 300 proto nodes | 10.994 ms/op | 6.6073 ms/op | 1.66 |
computeDeltas 500000 validators 1200 proto nodes | 11.629 ms/op | 6.3694 ms/op | 1.83 |
computeDeltas 500000 validators 7200 proto nodes | 10.214 ms/op | 6.4834 ms/op | 1.58 |
computeDeltas 750000 validators 300 proto nodes | 13.650 ms/op | 9.7722 ms/op | 1.40 |
computeDeltas 750000 validators 1200 proto nodes | 12.238 ms/op | 9.7933 ms/op | 1.25 |
computeDeltas 750000 validators 7200 proto nodes | 11.938 ms/op | 9.7276 ms/op | 1.23 |
computeDeltas 1400000 validators 300 proto nodes | 21.841 ms/op | 17.968 ms/op | 1.22 |
computeDeltas 1400000 validators 1200 proto nodes | 21.113 ms/op | 17.844 ms/op | 1.18 |
computeDeltas 1400000 validators 7200 proto nodes | 22.351 ms/op | 17.858 ms/op | 1.25 |
computeDeltas 2100000 validators 300 proto nodes | 34.532 ms/op | 26.869 ms/op | 1.29 |
computeDeltas 2100000 validators 1200 proto nodes | 31.820 ms/op | 27.255 ms/op | 1.17 |
computeDeltas 2100000 validators 7200 proto nodes | 30.650 ms/op | 26.350 ms/op | 1.16 |
altair processAttestation - 250000 vs - 7PWei normalcase | 2.3900 ms/op | 2.9283 ms/op | 0.82 |
altair processAttestation - 250000 vs - 7PWei worstcase | 4.0297 ms/op | 4.0120 ms/op | 1.00 |
altair processAttestation - setStatus - 1/6 committees join | 211.41 us/op | 213.67 us/op | 0.99 |
altair processAttestation - setStatus - 1/3 committees join | 365.88 us/op | 429.12 us/op | 0.85 |
altair processAttestation - setStatus - 1/2 committees join | 497.08 us/op | 581.93 us/op | 0.85 |
altair processAttestation - setStatus - 2/3 committees join | 678.58 us/op | 652.26 us/op | 1.04 |
altair processAttestation - setStatus - 4/5 committees join | 851.77 us/op | 995.01 us/op | 0.86 |
altair processAttestation - setStatus - 100% committees join | 1.0121 ms/op | 1.1058 ms/op | 0.92 |
altair processBlock - 250000 vs - 7PWei normalcase | 11.118 ms/op | 7.9389 ms/op | 1.40 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 39.650 ms/op | 34.314 ms/op | 1.16 |
altair processBlock - 250000 vs - 7PWei worstcase | 43.243 ms/op | 38.807 ms/op | 1.11 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 111.42 ms/op | 90.515 ms/op | 1.23 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 2.7545 ms/op | 2.8609 ms/op | 0.96 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 32.165 ms/op | 28.893 ms/op | 1.11 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 549.09 us/op | 476.37 us/op | 1.15 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 13.663 us/op | 7.4280 us/op | 1.84 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 57.900 us/op | 32.848 us/op | 1.76 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 27.213 us/op | 10.765 us/op | 2.53 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 19.095 us/op | 10.203 us/op | 1.87 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 206.09 us/op | 119.64 us/op | 1.72 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 2.1287 ms/op | 1.0326 ms/op | 2.06 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 2.4105 ms/op | 1.4912 ms/op | 1.62 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 2.0626 ms/op | 1.5262 ms/op | 1.35 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 3.9772 ms/op | 3.3999 ms/op | 1.17 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 3.0339 ms/op | 2.3292 ms/op | 1.30 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 6.1979 ms/op | 5.2056 ms/op | 1.19 |
Tree 40 250000 create | 406.18 ms/op | 343.02 ms/op | 1.18 |
Tree 40 250000 get(125000) | 221.41 ns/op | 193.49 ns/op | 1.14 |
Tree 40 250000 set(125000) | 1.0441 us/op | 1.0295 us/op | 1.01 |
Tree 40 250000 toArray() | 21.927 ms/op | 20.186 ms/op | 1.09 |
Tree 40 250000 iterate all - toArray() + loop | 24.154 ms/op | 17.659 ms/op | 1.37 |
Tree 40 250000 iterate all - get(i) | 81.259 ms/op | 64.553 ms/op | 1.26 |
MutableVector 250000 create | 20.760 ms/op | 12.070 ms/op | 1.72 |
MutableVector 250000 get(125000) | 7.2920 ns/op | 6.3850 ns/op | 1.14 |
MutableVector 250000 set(125000) | 291.58 ns/op | 250.73 ns/op | 1.16 |
MutableVector 250000 toArray() | 3.7866 ms/op | 2.7717 ms/op | 1.37 |
MutableVector 250000 iterate all - toArray() + loop | 4.2647 ms/op | 2.8871 ms/op | 1.48 |
MutableVector 250000 iterate all - get(i) | 2.0108 ms/op | 1.5245 ms/op | 1.32 |
Array 250000 create | 3.6538 ms/op | 2.5386 ms/op | 1.44 |
Array 250000 clone - spread | 1.3126 ms/op | 1.1837 ms/op | 1.11 |
Array 250000 get(125000) | 1.0920 ns/op | 1.0230 ns/op | 1.07 |
Array 250000 set(125000) | 4.2620 ns/op | 4.0410 ns/op | 1.05 |
Array 250000 iterate all - loop | 176.82 us/op | 165.44 us/op | 1.07 |
effectiveBalanceIncrements clone Uint8Array 300000 | 31.172 us/op | 28.045 us/op | 1.11 |
effectiveBalanceIncrements clone MutableVector 300000 | 376.00 ns/op | 360.00 ns/op | 1.04 |
effectiveBalanceIncrements rw all Uint8Array 300000 | 210.75 us/op | 199.10 us/op | 1.06 |
effectiveBalanceIncrements rw all MutableVector 300000 | 84.948 ms/op | 81.252 ms/op | 1.05 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 122.89 ms/op | 112.14 ms/op | 1.10 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 57.872 ms/op | 50.768 ms/op | 1.14 |
altair processEpoch - mainnet_e81889 | 542.82 ms/op | 484.06 ms/op | 1.12 |
mainnet_e81889 - altair beforeProcessEpoch | 89.749 ms/op | 81.149 ms/op | 1.11 |
mainnet_e81889 - altair processJustificationAndFinalization | 20.255 us/op | 15.167 us/op | 1.34 |
mainnet_e81889 - altair processInactivityUpdates | 6.5145 ms/op | 5.6592 ms/op | 1.15 |
mainnet_e81889 - altair processRewardsAndPenalties | 72.510 ms/op | 39.039 ms/op | 1.86 |
mainnet_e81889 - altair processRegistryUpdates | 3.5490 us/op | 2.3670 us/op | 1.50 |
mainnet_e81889 - altair processSlashings | 691.00 ns/op | 490.00 ns/op | 1.41 |
mainnet_e81889 - altair processEth1DataReset | 1.0860 us/op | 467.00 ns/op | 2.33 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.5513 ms/op | 1.4377 ms/op | 1.08 |
mainnet_e81889 - altair processSlashingsReset | 5.7930 us/op | 3.3510 us/op | 1.73 |
mainnet_e81889 - altair processRandaoMixesReset | 5.6420 us/op | 4.6060 us/op | 1.22 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 915.00 ns/op | 675.00 ns/op | 1.36 |
mainnet_e81889 - altair processParticipationFlagUpdates | 3.7070 us/op | 3.2150 us/op | 1.15 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 913.00 ns/op | 668.00 ns/op | 1.37 |
mainnet_e81889 - altair afterProcessEpoch | 140.38 ms/op | 115.69 ms/op | 1.21 |
capella processEpoch - mainnet_e217614 | 2.0363 s/op | 1.7714 s/op | 1.15 |
mainnet_e217614 - capella beforeProcessEpoch | 474.56 ms/op | 452.12 ms/op | 1.05 |
mainnet_e217614 - capella processJustificationAndFinalization | 21.132 us/op | 17.060 us/op | 1.24 |
mainnet_e217614 - capella processInactivityUpdates | 20.975 ms/op | 22.958 ms/op | 0.91 |
mainnet_e217614 - capella processRewardsAndPenalties | 507.61 ms/op | 476.85 ms/op | 1.06 |
mainnet_e217614 - capella processRegistryUpdates | 28.097 us/op | 22.317 us/op | 1.26 |
mainnet_e217614 - capella processSlashings | 635.00 ns/op | 451.00 ns/op | 1.41 |
mainnet_e217614 - capella processEth1DataReset | 677.00 ns/op | 537.00 ns/op | 1.26 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 5.2614 ms/op | 5.4559 ms/op | 0.96 |
mainnet_e217614 - capella processSlashingsReset | 4.9080 us/op | 3.2850 us/op | 1.49 |
mainnet_e217614 - capella processRandaoMixesReset | 7.2770 us/op | 5.2710 us/op | 1.38 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 661.00 ns/op | 602.00 ns/op | 1.10 |
mainnet_e217614 - capella processParticipationFlagUpdates | 2.4460 us/op | 4.5950 us/op | 0.53 |
mainnet_e217614 - capella afterProcessEpoch | 372.07 ms/op | 307.65 ms/op | 1.21 |
phase0 processEpoch - mainnet_e58758 | 526.62 ms/op | 516.91 ms/op | 1.02 |
mainnet_e58758 - phase0 beforeProcessEpoch | 131.80 ms/op | 144.26 ms/op | 0.91 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 17.788 us/op | 16.297 us/op | 1.09 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 59.862 ms/op | 53.819 ms/op | 1.11 |
mainnet_e58758 - phase0 processRegistryUpdates | 13.734 us/op | 9.7940 us/op | 1.40 |
mainnet_e58758 - phase0 processSlashings | 665.00 ns/op | 635.00 ns/op | 1.05 |
mainnet_e58758 - phase0 processEth1DataReset | 493.00 ns/op | 816.00 ns/op | 0.60 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.5297 ms/op | 1.1929 ms/op | 1.28 |
mainnet_e58758 - phase0 processSlashingsReset | 3.3670 us/op | 2.4360 us/op | 1.38 |
mainnet_e58758 - phase0 processRandaoMixesReset | 4.2030 us/op | 4.2400 us/op | 0.99 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 500.00 ns/op | 606.00 ns/op | 0.83 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 4.5520 us/op | 4.9480 us/op | 0.92 |
mainnet_e58758 - phase0 afterProcessEpoch | 112.93 ms/op | 101.74 ms/op | 1.11 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.5318 ms/op | 1.3767 ms/op | 1.11 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 1.8075 ms/op | 1.5362 ms/op | 1.18 |
altair processInactivityUpdates - 250000 normalcase | 29.522 ms/op | 32.523 ms/op | 0.91 |
altair processInactivityUpdates - 250000 worstcase | 29.245 ms/op | 24.252 ms/op | 1.21 |
phase0 processRegistryUpdates - 250000 normalcase | 9.5330 us/op | 14.537 us/op | 0.66 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 550.42 us/op | 462.05 us/op | 1.19 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 172.34 ms/op | 142.86 ms/op | 1.21 |
altair processRewardsAndPenalties - 250000 normalcase | 69.651 ms/op | 65.509 ms/op | 1.06 |
altair processRewardsAndPenalties - 250000 worstcase | 64.046 ms/op | 61.436 ms/op | 1.04 |
phase0 getAttestationDeltas - 250000 normalcase | 9.7220 ms/op | 10.792 ms/op | 0.90 |
phase0 getAttestationDeltas - 250000 worstcase | 10.044 ms/op | 9.9359 ms/op | 1.01 |
phase0 processSlashings - 250000 worstcase | 132.50 us/op | 97.945 us/op | 1.35 |
altair processSyncCommitteeUpdates - 250000 | 173.24 ms/op | 161.07 ms/op | 1.08 |
BeaconState.hashTreeRoot - No change | 426.00 ns/op | 371.00 ns/op | 1.15 |
BeaconState.hashTreeRoot - 1 full validator | 160.09 us/op | 122.53 us/op | 1.31 |
BeaconState.hashTreeRoot - 32 full validator | 1.8842 ms/op | 1.1514 ms/op | 1.64 |
BeaconState.hashTreeRoot - 512 full validator | 19.749 ms/op | 14.558 ms/op | 1.36 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 198.08 us/op | 183.32 us/op | 1.08 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 2.1018 ms/op | 2.1488 ms/op | 0.98 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 33.218 ms/op | 33.190 ms/op | 1.00 |
BeaconState.hashTreeRoot - 1 balances | 142.92 us/op | 135.09 us/op | 1.06 |
BeaconState.hashTreeRoot - 32 balances | 1.2439 ms/op | 1.2129 ms/op | 1.03 |
BeaconState.hashTreeRoot - 512 balances | 11.605 ms/op | 13.793 ms/op | 0.84 |
BeaconState.hashTreeRoot - 250000 balances | 231.71 ms/op | 225.18 ms/op | 1.03 |
aggregationBits - 2048 els - zipIndexesInBitList | 37.199 us/op | 70.920 us/op | 0.52 |
byteArrayEquals 32 | 89.067 ns/op | 75.090 ns/op | 1.19 |
Buffer.compare 32 | 65.151 ns/op | 55.817 ns/op | 1.17 |
byteArrayEquals 1024 | 2.3444 us/op | 2.0457 us/op | 1.15 |
Buffer.compare 1024 | 80.467 ns/op | 70.502 ns/op | 1.14 |
byteArrayEquals 16384 | 36.633 us/op | 32.557 us/op | 1.13 |
Buffer.compare 16384 | 305.14 ns/op | 270.28 ns/op | 1.13 |
byteArrayEquals 123687377 | 342.87 ms/op | 252.72 ms/op | 1.36 |
Buffer.compare 123687377 | 10.906 ms/op | 8.5285 ms/op | 1.28 |
byteArrayEquals 32 - diff last byte | 106.72 ns/op | 74.156 ns/op | 1.44 |
Buffer.compare 32 - diff last byte | 76.482 ns/op | 57.229 ns/op | 1.34 |
byteArrayEquals 1024 - diff last byte | 2.9953 us/op | 2.6518 us/op | 1.13 |
Buffer.compare 1024 - diff last byte | 95.258 ns/op | 81.031 ns/op | 1.18 |
byteArrayEquals 16384 - diff last byte | 47.959 us/op | 33.825 us/op | 1.42 |
Buffer.compare 16384 - diff last byte | 394.73 ns/op | 254.75 ns/op | 1.55 |
byteArrayEquals 123687377 - diff last byte | 418.19 ms/op | 257.30 ms/op | 1.63 |
Buffer.compare 123687377 - diff last byte | 9.2217 ms/op | 6.9196 ms/op | 1.33 |
byteArrayEquals 32 - random bytes | 12.540 ns/op | 5.3910 ns/op | 2.33 |
Buffer.compare 32 - random bytes | 96.871 ns/op | 62.462 ns/op | 1.55 |
byteArrayEquals 1024 - random bytes | 8.9180 ns/op | 5.2140 ns/op | 1.71 |
Buffer.compare 1024 - random bytes | 94.585 ns/op | 60.655 ns/op | 1.56 |
byteArrayEquals 16384 - random bytes | 9.2250 ns/op | 5.1710 ns/op | 1.78 |
Buffer.compare 16384 - random bytes | 91.032 ns/op | 60.324 ns/op | 1.51 |
byteArrayEquals 123687377 - random bytes | 17.070 ns/op | 8.4300 ns/op | 2.02 |
Buffer.compare 123687377 - random bytes | 106.64 ns/op | 63.500 ns/op | 1.68 |
regular array get 100000 times | 75.667 us/op | 43.936 us/op | 1.72 |
wrappedArray get 100000 times | 78.467 us/op | 44.778 us/op | 1.75 |
arrayWithProxy get 100000 times | 22.607 ms/op | 14.936 ms/op | 1.51 |
ssz.Root.equals | 81.027 ns/op | 54.392 ns/op | 1.49 |
byteArrayEquals | 77.766 ns/op | 54.348 ns/op | 1.43 |
Buffer.compare | 18.468 ns/op | 11.401 ns/op | 1.62 |
shuffle list - 16384 els | 14.768 ms/op | 8.6133 ms/op | 1.71 |
shuffle list - 250000 els | 208.08 ms/op | 124.99 ms/op | 1.66 |
processSlot - 1 slots | 28.496 us/op | 17.420 us/op | 1.64 |
processSlot - 32 slots | 7.4466 ms/op | 3.3153 ms/op | 2.25 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 78.546 ms/op | 58.732 ms/op | 1.34 |
getCommitteeAssignments - req 1 vs - 250000 vc | 3.4519 ms/op | 2.6537 ms/op | 1.30 |
getCommitteeAssignments - req 100 vs - 250000 vc | 4.9806 ms/op | 3.8348 ms/op | 1.30 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 5.6526 ms/op | 4.1876 ms/op | 1.35 |
findModifiedValidators - 10000 modified validators | 763.71 ms/op | 556.14 ms/op | 1.37 |
findModifiedValidators - 1000 modified validators | 612.09 ms/op | 385.66 ms/op | 1.59 |
findModifiedValidators - 100 modified validators | 566.77 ms/op | 415.96 ms/op | 1.36 |
findModifiedValidators - 10 modified validators | 611.04 ms/op | 394.53 ms/op | 1.55 |
findModifiedValidators - 1 modified validators | 559.65 ms/op | 399.70 ms/op | 1.40 |
findModifiedValidators - no difference | 534.52 ms/op | 410.56 ms/op | 1.30 |
compare ViewDUs | 6.1960 s/op | 4.2832 s/op | 1.45 |
compare each validator Uint8Array | 2.3351 s/op | 1.5276 s/op | 1.53 |
compare ViewDU to Uint8Array | 1.5823 s/op | 1.0780 s/op | 1.47 |
migrate state 1000000 validators, 24 modified, 0 new | 1.0473 s/op | 787.74 ms/op | 1.33 |
migrate state 1000000 validators, 1700 modified, 1000 new | 1.5649 s/op | 1.0623 s/op | 1.47 |
migrate state 1000000 validators, 3400 modified, 2000 new | 2.1222 s/op | 1.2952 s/op | 1.64 |
migrate state 1500000 validators, 24 modified, 0 new | 1.3456 s/op | 776.07 ms/op | 1.73 |
migrate state 1500000 validators, 1700 modified, 1000 new | 1.2571 s/op | 1.0834 s/op | 1.16 |
migrate state 1500000 validators, 3400 modified, 2000 new | 1.4733 s/op | 1.3105 s/op | 1.12 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 4.5100 ns/op | 4.2100 ns/op | 1.07 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 876.25 ns/op | 615.59 ns/op | 1.42 |
computeProposers - vc 250000 | 9.8407 ms/op | 8.6634 ms/op | 1.14 |
computeEpochShuffling - vc 250000 | 128.89 ms/op | 122.81 ms/op | 1.05 |
getNextSyncCommittee - vc 250000 | 150.33 ms/op | 159.66 ms/op | 0.94 |
computeSigningRoot for AttestationData | 30.851 us/op | 28.031 us/op | 1.10 |
hash AttestationData serialized data then Buffer.toString(base64) | 2.5414 us/op | 2.2450 us/op | 1.13 |
toHexString serialized data | 1.1593 us/op | 1.0674 us/op | 1.09 |
Buffer.toString(base64) | 265.38 ns/op | 212.93 ns/op | 1.25 |
by benchmarkbot/action
fb746c2
to
bd6e81b
Compare
c713167
to
815364b
Compare
815364b
to
805abf0
Compare
Update state transition Fix tests Add fork to LC tests rebase fixes get the types to match current kaustinen network insert verge between capella and deneb add payload to execution witness working local build with kaunstinen v2 geth build use electra in config few corrections fix build integrated ssz with optional deep log witness fix serialization for new payload
closing in fav of #7069 |
rebased and worked on @dapplion 's branch:
References:
ExecutionWitness
to theExecutionPayload
to support the Verge sigp/lighthouse#3923