Skip to content

Commit

Permalink
chore: rename execution payload header type guard (#6906)
Browse files Browse the repository at this point in the history
  • Loading branch information
nflaig committed Jun 25, 2024
1 parent 0f3109f commit fe23f68
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import {ApiClient, WireFormat, getClient} from "@lodestar/api";
import {
SignedBeaconBlock,
SignedBlindedBeaconBlock,
isBlindedExecutionPayload,
isBlindedSignedBeaconBlock,
isExecutionPayload,
isExecutionPayloadHeader,
} from "@lodestar/types";
import {ForkName} from "@lodestar/params";
import {LogLevel, testLogger} from "../../../../../utils/logger.js";
Expand Down Expand Up @@ -84,7 +84,7 @@ describe("beacon block api", function () {
const blindedBlock = res.value() as SignedBlindedBeaconBlock<typeof fork>;

expect(isBlindedSignedBeaconBlock(blindedBlock)).toBe(true);
expect(isBlindedExecutionPayload(blindedBlock.message.body.executionPayloadHeader)).toBe(true);
expect(isExecutionPayloadHeader(blindedBlock.message.body.executionPayloadHeader)).toBe(true);
expect(blindedBlock.message.body).not.toHaveProperty("executionPayload");
});

Expand Down
2 changes: 1 addition & 1 deletion packages/types/src/utils/typeguards.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export function isExecutionPayload<F extends ForkExecution>(
return (payload as ExecutionPayload<F>).transactions !== undefined;
}

export function isBlindedExecutionPayload<F extends ForkExecution>(
export function isExecutionPayloadHeader<F extends ForkExecution>(
payload: ExecutionPayload<F> | ExecutionPayloadHeader<F>
): payload is ExecutionPayloadHeader<F> {
// we just check transactionsRoot for determining as it the base field
Expand Down

1 comment on commit fe23f68

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ 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: fe23f68 Previous: 0f3109f Ratio
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 19.434 us/op 6.0610 us/op 3.21
Full benchmark results
Benchmark suite Current: fe23f68 Previous: 0f3109f Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 349.87 us/op 556.00 us/op 0.63
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 37.643 us/op 62.247 us/op 0.60
BLS verify - blst-native 1.1240 ms/op 1.3385 ms/op 0.84
BLS verifyMultipleSignatures 3 - blst-native 2.3967 ms/op 2.8895 ms/op 0.83
BLS verifyMultipleSignatures 8 - blst-native 5.3067 ms/op 6.3519 ms/op 0.84
BLS verifyMultipleSignatures 32 - blst-native 19.600 ms/op 23.221 ms/op 0.84
BLS verifyMultipleSignatures 64 - blst-native 38.883 ms/op 43.336 ms/op 0.90
BLS verifyMultipleSignatures 128 - blst-native 77.447 ms/op 85.626 ms/op 0.90
BLS deserializing 10000 signatures 800.88 ms/op 916.25 ms/op 0.87
BLS deserializing 100000 signatures 8.2318 s/op 9.4392 s/op 0.87
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1537 ms/op 1.3443 ms/op 0.86
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.3220 ms/op 1.5119 ms/op 0.87
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.4824 ms/op 2.6280 ms/op 0.94
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.8784 ms/op 3.6723 ms/op 1.06
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.1882 ms/op 5.5170 ms/op 0.94
BLS aggregatePubkeys 32 - blst-native 25.061 us/op 25.348 us/op 0.99
BLS aggregatePubkeys 128 - blst-native 95.590 us/op 99.055 us/op 0.97
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 73.910 ms/op 85.990 ms/op 0.86
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 55.196 ms/op 70.681 ms/op 0.78
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 30.403 ms/op 42.124 ms/op 0.72
getSlashingsAndExits - default max 70.567 us/op 128.40 us/op 0.55
getSlashingsAndExits - 2k 346.67 us/op 312.21 us/op 1.11
proposeBlockBody type=full, size=empty 5.1237 ms/op 6.2228 ms/op 0.82
isKnown best case - 1 super set check 496.00 ns/op 308.00 ns/op 1.61
isKnown normal case - 2 super set checks 466.00 ns/op 292.00 ns/op 1.60
isKnown worse case - 16 super set checks 489.00 ns/op 279.00 ns/op 1.75
InMemoryCheckpointStateCache - add get delete 5.2270 us/op 5.0270 us/op 1.04
validate api signedAggregateAndProof - struct 2.4574 ms/op 2.7369 ms/op 0.90
validate gossip signedAggregateAndProof - struct 2.4609 ms/op 2.7050 ms/op 0.91
validate gossip attestation - vc 640000 1.2076 ms/op 1.2680 ms/op 0.95
batch validate gossip attestation - vc 640000 - chunk 32 151.68 us/op 152.44 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 64 129.29 us/op 129.91 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 128 123.64 us/op 121.08 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 256 123.06 us/op 121.02 us/op 1.02
pickEth1Vote - no votes 1.0828 ms/op 1.1019 ms/op 0.98
pickEth1Vote - max votes 11.345 ms/op 9.6610 ms/op 1.17
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.232 ms/op 14.748 ms/op 0.90
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 24.259 ms/op 18.778 ms/op 1.29
pickEth1Vote - Eth1Data fastSerialize value x2048 502.35 us/op 481.34 us/op 1.04
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.4940 ms/op 4.9988 ms/op 1.90
bytes32 toHexString 1.0390 us/op 447.00 ns/op 2.32
bytes32 Buffer.toString(hex) 541.00 ns/op 257.00 ns/op 2.11
bytes32 Buffer.toString(hex) from Uint8Array 788.00 ns/op 374.00 ns/op 2.11
bytes32 Buffer.toString(hex) + 0x 611.00 ns/op 247.00 ns/op 2.47
Object access 1 prop 0.39600 ns/op 0.13800 ns/op 2.87
Map access 1 prop 0.33900 ns/op 0.13200 ns/op 2.57
Object get x1000 5.2940 ns/op 6.0280 ns/op 0.88
Map get x1000 6.0580 ns/op 6.4210 ns/op 0.94
Object set x1000 36.006 ns/op 35.273 ns/op 1.02
Map set x1000 25.832 ns/op 21.898 ns/op 1.18
Return object 10000 times 0.31560 ns/op 0.28570 ns/op 1.10
Throw Error 10000 times 2.8403 us/op 3.5534 us/op 0.80
fastMsgIdFn sha256 / 200 bytes 2.1730 us/op 2.2780 us/op 0.95
fastMsgIdFn h32 xxhash / 200 bytes 500.00 ns/op 231.00 ns/op 2.16
fastMsgIdFn h64 xxhash / 200 bytes 500.00 ns/op 275.00 ns/op 1.82
fastMsgIdFn sha256 / 1000 bytes 6.3540 us/op 7.3230 us/op 0.87
fastMsgIdFn h32 xxhash / 1000 bytes 642.00 ns/op 362.00 ns/op 1.77
fastMsgIdFn h64 xxhash / 1000 bytes 583.00 ns/op 341.00 ns/op 1.71
fastMsgIdFn sha256 / 10000 bytes 53.510 us/op 64.403 us/op 0.83
fastMsgIdFn h32 xxhash / 10000 bytes 2.0520 us/op 1.9170 us/op 1.07
fastMsgIdFn h64 xxhash / 10000 bytes 1.3780 us/op 1.2390 us/op 1.11
send data - 1000 256B messages 13.293 ms/op 13.975 ms/op 0.95
send data - 1000 512B messages 18.265 ms/op 17.936 ms/op 1.02
send data - 1000 1024B messages 27.755 ms/op 26.616 ms/op 1.04
send data - 1000 1200B messages 27.854 ms/op 24.470 ms/op 1.14
send data - 1000 2048B messages 31.655 ms/op 33.047 ms/op 0.96
send data - 1000 4096B messages 27.823 ms/op 35.459 ms/op 0.78
send data - 1000 16384B messages 65.267 ms/op 72.164 ms/op 0.90
send data - 1000 65536B messages 238.50 ms/op 215.96 ms/op 1.10
enrSubnets - fastDeserialize 64 bits 1.1670 us/op 1.1180 us/op 1.04
enrSubnets - ssz BitVector 64 bits 518.00 ns/op 367.00 ns/op 1.41
enrSubnets - fastDeserialize 4 bits 336.00 ns/op 150.00 ns/op 2.24
enrSubnets - ssz BitVector 4 bits 515.00 ns/op 369.00 ns/op 1.40
prioritizePeers score -10:0 att 32-0.1 sync 2-0 127.00 us/op 145.56 us/op 0.87
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 183.45 us/op 179.64 us/op 1.02
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 345.70 us/op 290.34 us/op 1.19
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 502.80 us/op 509.88 us/op 0.99
prioritizePeers score 0:0 att 64-1 sync 4-1 578.66 us/op 676.95 us/op 0.85
array of 16000 items push then shift 1.2987 us/op 1.6424 us/op 0.79
LinkedList of 16000 items push then shift 6.4550 ns/op 6.8960 ns/op 0.94
array of 16000 items push then pop 76.527 ns/op 101.59 ns/op 0.75
LinkedList of 16000 items push then pop 6.3150 ns/op 6.7670 ns/op 0.93
array of 24000 items push then shift 1.9005 us/op 2.4063 us/op 0.79
LinkedList of 24000 items push then shift 6.3750 ns/op 7.0140 ns/op 0.91
array of 24000 items push then pop 106.62 ns/op 137.84 ns/op 0.77
LinkedList of 24000 items push then pop 6.2870 ns/op 7.2240 ns/op 0.87
intersect bitArray bitLen 8 5.5070 ns/op 6.2990 ns/op 0.87
intersect array and set length 8 38.643 ns/op 42.850 ns/op 0.90
intersect bitArray bitLen 128 26.731 ns/op 28.388 ns/op 0.94
intersect array and set length 128 581.51 ns/op 635.76 ns/op 0.91
bitArray.getTrueBitIndexes() bitLen 128 1.8530 us/op 2.3720 us/op 0.78
bitArray.getTrueBitIndexes() bitLen 248 2.7610 us/op 3.8340 us/op 0.72
bitArray.getTrueBitIndexes() bitLen 512 5.6460 us/op 11.306 us/op 0.50
Buffer.concat 32 items 1.0060 us/op 904.00 ns/op 1.11
Uint8Array.set 32 items 1.2660 us/op 1.6540 us/op 0.77
Buffer.copy 1.3660 us/op 1.9450 us/op 0.70
Uint8Array.set - with subarray 1.8670 us/op 3.0890 us/op 0.60
Uint8Array.set - without subarray 1.2300 us/op 1.5340 us/op 0.80
Set add up to 64 items then delete first 1.8237 us/op 2.1636 us/op 0.84
OrderedSet add up to 64 items then delete first 2.8449 us/op 3.1704 us/op 0.90
Set add up to 64 items then delete last 2.0739 us/op 2.4326 us/op 0.85
OrderedSet add up to 64 items then delete last 3.2709 us/op 3.5671 us/op 0.92
Set add up to 64 items then delete middle 2.1126 us/op 2.4499 us/op 0.86
OrderedSet add up to 64 items then delete middle 4.6643 us/op 5.0954 us/op 0.92
Set add up to 128 items then delete first 4.0977 us/op 5.0289 us/op 0.81
OrderedSet add up to 128 items then delete first 6.2222 us/op 7.8384 us/op 0.79
Set add up to 128 items then delete last 4.0351 us/op 4.8830 us/op 0.83
OrderedSet add up to 128 items then delete last 6.3127 us/op 7.4444 us/op 0.85
Set add up to 128 items then delete middle 4.0287 us/op 5.2731 us/op 0.76
OrderedSet add up to 128 items then delete middle 12.340 us/op 14.058 us/op 0.88
Set add up to 256 items then delete first 8.2002 us/op 10.592 us/op 0.77
OrderedSet add up to 256 items then delete first 12.297 us/op 16.386 us/op 0.75
Set add up to 256 items then delete last 7.7740 us/op 9.7858 us/op 0.79
OrderedSet add up to 256 items then delete last 12.318 us/op 14.796 us/op 0.83
Set add up to 256 items then delete middle 7.7670 us/op 10.568 us/op 0.73
OrderedSet add up to 256 items then delete middle 34.365 us/op 43.034 us/op 0.80
transfer serialized Status (84 B) 1.4890 us/op 1.6180 us/op 0.92
copy serialized Status (84 B) 1.2970 us/op 1.3590 us/op 0.95
transfer serialized SignedVoluntaryExit (112 B) 1.5870 us/op 1.6630 us/op 0.95
copy serialized SignedVoluntaryExit (112 B) 1.3780 us/op 1.2890 us/op 1.07
transfer serialized ProposerSlashing (416 B) 2.2280 us/op 1.6120 us/op 1.38
copy serialized ProposerSlashing (416 B) 2.1740 us/op 2.4790 us/op 0.88
transfer serialized Attestation (485 B) 2.3500 us/op 2.2410 us/op 1.05
copy serialized Attestation (485 B) 2.2150 us/op 2.1570 us/op 1.03
transfer serialized AttesterSlashing (33232 B) 2.6320 us/op 2.7290 us/op 0.96
copy serialized AttesterSlashing (33232 B) 5.9430 us/op 8.2930 us/op 0.72
transfer serialized Small SignedBeaconBlock (128000 B) 3.2830 us/op 3.1120 us/op 1.05
copy serialized Small SignedBeaconBlock (128000 B) 14.027 us/op 15.988 us/op 0.88
transfer serialized Avg SignedBeaconBlock (200000 B) 2.8160 us/op 3.0610 us/op 0.92
copy serialized Avg SignedBeaconBlock (200000 B) 20.689 us/op 20.150 us/op 1.03
transfer serialized BlobsSidecar (524380 B) 2.9740 us/op 3.3130 us/op 0.90
copy serialized BlobsSidecar (524380 B) 128.57 us/op 83.531 us/op 1.54
transfer serialized Big SignedBeaconBlock (1000000 B) 3.0840 us/op 3.6840 us/op 0.84
copy serialized Big SignedBeaconBlock (1000000 B) 335.55 us/op 188.46 us/op 1.78
pass gossip attestations to forkchoice per slot 2.5788 ms/op 3.1793 ms/op 0.81
forkChoice updateHead vc 100000 bc 64 eq 0 389.85 us/op 521.85 us/op 0.75
forkChoice updateHead vc 600000 bc 64 eq 0 2.5098 ms/op 3.2946 ms/op 0.76
forkChoice updateHead vc 1000000 bc 64 eq 0 4.2849 ms/op 5.9647 ms/op 0.72
forkChoice updateHead vc 600000 bc 320 eq 0 2.3719 ms/op 3.2865 ms/op 0.72
forkChoice updateHead vc 600000 bc 1200 eq 0 2.5987 ms/op 3.6677 ms/op 0.71
forkChoice updateHead vc 600000 bc 7200 eq 0 2.8332 ms/op 4.5043 ms/op 0.63
forkChoice updateHead vc 600000 bc 64 eq 1000 9.8268 ms/op 11.531 ms/op 0.85
forkChoice updateHead vc 600000 bc 64 eq 10000 9.4512 ms/op 11.436 ms/op 0.83
forkChoice updateHead vc 600000 bc 64 eq 300000 11.613 ms/op 16.566 ms/op 0.70
computeDeltas 500000 validators 300 proto nodes 3.0089 ms/op 3.8407 ms/op 0.78
computeDeltas 500000 validators 1200 proto nodes 2.9984 ms/op 3.7855 ms/op 0.79
computeDeltas 500000 validators 7200 proto nodes 3.0656 ms/op 3.8834 ms/op 0.79
computeDeltas 750000 validators 300 proto nodes 4.7075 ms/op 5.4990 ms/op 0.86
computeDeltas 750000 validators 1200 proto nodes 4.7596 ms/op 5.4485 ms/op 0.87
computeDeltas 750000 validators 7200 proto nodes 4.7185 ms/op 5.3817 ms/op 0.88
computeDeltas 1400000 validators 300 proto nodes 8.8890 ms/op 10.207 ms/op 0.87
computeDeltas 1400000 validators 1200 proto nodes 8.6088 ms/op 10.057 ms/op 0.86
computeDeltas 1400000 validators 7200 proto nodes 9.0364 ms/op 9.8717 ms/op 0.92
computeDeltas 2100000 validators 300 proto nodes 13.120 ms/op 15.538 ms/op 0.84
computeDeltas 2100000 validators 1200 proto nodes 13.863 ms/op 15.168 ms/op 0.91
computeDeltas 2100000 validators 7200 proto nodes 13.330 ms/op 15.394 ms/op 0.87
altair processAttestation - 250000 vs - 7PWei normalcase 2.1374 ms/op 1.7603 ms/op 1.21
altair processAttestation - 250000 vs - 7PWei worstcase 2.7640 ms/op 2.7989 ms/op 0.99
altair processAttestation - setStatus - 1/6 committees join 78.114 us/op 97.068 us/op 0.80
altair processAttestation - setStatus - 1/3 committees join 171.87 us/op 188.40 us/op 0.91
altair processAttestation - setStatus - 1/2 committees join 198.42 us/op 281.57 us/op 0.70
altair processAttestation - setStatus - 2/3 committees join 297.79 us/op 331.46 us/op 0.90
altair processAttestation - setStatus - 4/5 committees join 457.19 us/op 476.21 us/op 0.96
altair processAttestation - setStatus - 100% committees join 532.70 us/op 574.07 us/op 0.93
altair processBlock - 250000 vs - 7PWei normalcase 4.7093 ms/op 4.8326 ms/op 0.97
altair processBlock - 250000 vs - 7PWei normalcase hashState 34.415 ms/op 26.139 ms/op 1.32
altair processBlock - 250000 vs - 7PWei worstcase 48.697 ms/op 44.316 ms/op 1.10
altair processBlock - 250000 vs - 7PWei worstcase hashState 118.50 ms/op 84.576 ms/op 1.40
phase0 processBlock - 250000 vs - 7PWei normalcase 4.3429 ms/op 2.3653 ms/op 1.84
phase0 processBlock - 250000 vs - 7PWei worstcase 35.651 ms/op 30.313 ms/op 1.18
altair processEth1Data - 250000 vs - 7PWei normalcase 378.24 us/op 319.11 us/op 1.19
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 19.434 us/op 6.0610 us/op 3.21
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 51.632 us/op 22.951 us/op 2.25
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 23.544 us/op 8.0090 us/op 2.94
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 14.077 us/op 7.1740 us/op 1.96
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 106.84 us/op 109.80 us/op 0.97
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 687.48 us/op 806.66 us/op 0.85
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.2199 ms/op 1.0424 ms/op 1.17
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4935 ms/op 1.0416 ms/op 1.43
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.8393 ms/op 2.6707 ms/op 1.06
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.6202 ms/op 1.9497 ms/op 0.83
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.2935 ms/op 4.4073 ms/op 0.75
Tree 40 250000 create 190.99 ms/op 244.87 ms/op 0.78
Tree 40 250000 get(125000) 130.55 ns/op 158.36 ns/op 0.82
Tree 40 250000 set(125000) 577.43 ns/op 684.43 ns/op 0.84
Tree 40 250000 toArray() 20.671 ms/op 16.150 ms/op 1.28
Tree 40 250000 iterate all - toArray() + loop 20.049 ms/op 15.876 ms/op 1.26
Tree 40 250000 iterate all - get(i) 54.704 ms/op 58.443 ms/op 0.94
MutableVector 250000 create 12.912 ms/op 12.754 ms/op 1.01
MutableVector 250000 get(125000) 6.1410 ns/op 6.1810 ns/op 0.99
MutableVector 250000 set(125000) 248.00 ns/op 191.97 ns/op 1.29
MutableVector 250000 toArray() 4.1331 ms/op 3.9669 ms/op 1.04
MutableVector 250000 iterate all - toArray() + loop 3.7899 ms/op 4.1696 ms/op 0.91
MutableVector 250000 iterate all - get(i) 1.5062 ms/op 1.8220 ms/op 0.83
Array 250000 create 3.0118 ms/op 3.2186 ms/op 0.94
Array 250000 clone - spread 1.3045 ms/op 1.4409 ms/op 0.91
Array 250000 get(125000) 0.60700 ns/op 0.41400 ns/op 1.47
Array 250000 set(125000) 0.63800 ns/op 0.43800 ns/op 1.46
Array 250000 iterate all - loop 79.273 us/op 85.463 us/op 0.93
effectiveBalanceIncrements clone Uint8Array 300000 16.444 us/op 29.838 us/op 0.55
effectiveBalanceIncrements clone MutableVector 300000 334.00 ns/op 127.00 ns/op 2.63
effectiveBalanceIncrements rw all Uint8Array 300000 172.13 us/op 201.93 us/op 0.85
effectiveBalanceIncrements rw all MutableVector 300000 97.905 ms/op 61.880 ms/op 1.58
phase0 afterProcessEpoch - 250000 vs - 7PWei 80.366 ms/op 87.559 ms/op 0.92
phase0 beforeProcessEpoch - 250000 vs - 7PWei 55.589 ms/op 44.895 ms/op 1.24
altair processEpoch - mainnet_e81889 437.92 ms/op 419.65 ms/op 1.04
mainnet_e81889 - altair beforeProcessEpoch 74.696 ms/op 68.413 ms/op 1.09
mainnet_e81889 - altair processJustificationAndFinalization 12.191 us/op 18.026 us/op 0.68
mainnet_e81889 - altair processInactivityUpdates 5.4879 ms/op 6.0316 ms/op 0.91
mainnet_e81889 - altair processRewardsAndPenalties 48.261 ms/op 54.788 ms/op 0.88
mainnet_e81889 - altair processRegistryUpdates 2.1580 us/op 2.7470 us/op 0.79
mainnet_e81889 - altair processSlashings 876.00 ns/op 416.00 ns/op 2.11
mainnet_e81889 - altair processEth1DataReset 909.00 ns/op 365.00 ns/op 2.49
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.0078 ms/op 2.0804 ms/op 0.97
mainnet_e81889 - altair processSlashingsReset 2.4320 us/op 3.7370 us/op 0.65
mainnet_e81889 - altair processRandaoMixesReset 3.1310 us/op 6.8760 us/op 0.46
mainnet_e81889 - altair processHistoricalRootsUpdate 744.00 ns/op 597.00 ns/op 1.25
mainnet_e81889 - altair processParticipationFlagUpdates 2.0530 us/op 2.8310 us/op 0.73
mainnet_e81889 - altair processSyncCommitteeUpdates 450.00 ns/op 675.00 ns/op 0.67
mainnet_e81889 - altair afterProcessEpoch 78.844 ms/op 95.191 ms/op 0.83
capella processEpoch - mainnet_e217614 1.1875 s/op 1.3390 s/op 0.89
mainnet_e217614 - capella beforeProcessEpoch 237.33 ms/op 239.53 ms/op 0.99
mainnet_e217614 - capella processJustificationAndFinalization 10.457 us/op 17.553 us/op 0.60
mainnet_e217614 - capella processInactivityUpdates 14.677 ms/op 18.640 ms/op 0.79
mainnet_e217614 - capella processRewardsAndPenalties 239.26 ms/op 265.34 ms/op 0.90
mainnet_e217614 - capella processRegistryUpdates 11.234 us/op 12.957 us/op 0.87
mainnet_e217614 - capella processSlashings 723.00 ns/op 398.00 ns/op 1.82
mainnet_e217614 - capella processEth1DataReset 661.00 ns/op 545.00 ns/op 1.21
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.8242 ms/op 4.5216 ms/op 0.85
mainnet_e217614 - capella processSlashingsReset 1.5540 us/op 4.3180 us/op 0.36
mainnet_e217614 - capella processRandaoMixesReset 2.8010 us/op 9.2080 us/op 0.30
mainnet_e217614 - capella processHistoricalRootsUpdate 670.00 ns/op 854.00 ns/op 0.78
mainnet_e217614 - capella processParticipationFlagUpdates 1.4920 us/op 3.7680 us/op 0.40
mainnet_e217614 - capella afterProcessEpoch 237.77 ms/op 224.39 ms/op 1.06
phase0 processEpoch - mainnet_e58758 322.06 ms/op 384.96 ms/op 0.84
mainnet_e58758 - phase0 beforeProcessEpoch 97.804 ms/op 122.38 ms/op 0.80
mainnet_e58758 - phase0 processJustificationAndFinalization 5.7580 us/op 19.836 us/op 0.29
mainnet_e58758 - phase0 processRewardsAndPenalties 35.051 ms/op 40.963 ms/op 0.86
mainnet_e58758 - phase0 processRegistryUpdates 5.8220 us/op 8.6500 us/op 0.67
mainnet_e58758 - phase0 processSlashings 709.00 ns/op 465.00 ns/op 1.52
mainnet_e58758 - phase0 processEth1DataReset 659.00 ns/op 490.00 ns/op 1.34
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0753 ms/op 1.6232 ms/op 0.66
mainnet_e58758 - phase0 processSlashingsReset 2.2520 us/op 3.0770 us/op 0.73
mainnet_e58758 - phase0 processRandaoMixesReset 2.5890 us/op 3.9260 us/op 0.66
mainnet_e58758 - phase0 processHistoricalRootsUpdate 670.00 ns/op 306.00 ns/op 2.19
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.3180 us/op 2.7370 us/op 0.85
mainnet_e58758 - phase0 afterProcessEpoch 62.614 ms/op 82.598 ms/op 0.76
phase0 processEffectiveBalanceUpdates - 250000 normalcase 749.57 us/op 1.1375 ms/op 0.66
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.1004 ms/op 2.1003 ms/op 0.52
altair processInactivityUpdates - 250000 normalcase 18.058 ms/op 20.946 ms/op 0.86
altair processInactivityUpdates - 250000 worstcase 18.749 ms/op 21.211 ms/op 0.88
phase0 processRegistryUpdates - 250000 normalcase 3.3350 us/op 7.5370 us/op 0.44
phase0 processRegistryUpdates - 250000 badcase_full_deposits 289.65 us/op 428.77 us/op 0.68
phase0 processRegistryUpdates - 250000 worstcase 0.5 103.43 ms/op 114.34 ms/op 0.90
altair processRewardsAndPenalties - 250000 normalcase 36.415 ms/op 50.395 ms/op 0.72
altair processRewardsAndPenalties - 250000 worstcase 40.793 ms/op 44.931 ms/op 0.91
phase0 getAttestationDeltas - 250000 normalcase 5.9066 ms/op 7.5621 ms/op 0.78
phase0 getAttestationDeltas - 250000 worstcase 6.0465 ms/op 8.9937 ms/op 0.67
phase0 processSlashings - 250000 worstcase 80.401 us/op 86.965 us/op 0.92
altair processSyncCommitteeUpdates - 250000 99.485 ms/op 141.52 ms/op 0.70
BeaconState.hashTreeRoot - No change 469.00 ns/op 301.00 ns/op 1.56
BeaconState.hashTreeRoot - 1 full validator 148.85 us/op 89.775 us/op 1.66
BeaconState.hashTreeRoot - 32 full validator 1.5136 ms/op 934.98 us/op 1.62
BeaconState.hashTreeRoot - 512 full validator 15.658 ms/op 9.1772 ms/op 1.71
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 154.31 us/op 121.17 us/op 1.27
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0383 ms/op 1.6053 ms/op 1.27
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.870 ms/op 21.613 ms/op 1.20
BeaconState.hashTreeRoot - 1 balances 108.37 us/op 88.820 us/op 1.22
BeaconState.hashTreeRoot - 32 balances 833.61 us/op 796.42 us/op 1.05
BeaconState.hashTreeRoot - 512 balances 10.970 ms/op 7.5921 ms/op 1.44
BeaconState.hashTreeRoot - 250000 balances 172.27 ms/op 156.99 ms/op 1.10
aggregationBits - 2048 els - zipIndexesInBitList 19.493 us/op 27.850 us/op 0.70
byteArrayEquals 32 48.140 ns/op 55.459 ns/op 0.87
Buffer.compare 32 15.606 ns/op 17.517 ns/op 0.89
byteArrayEquals 1024 1.2749 us/op 1.8066 us/op 0.71
Buffer.compare 1024 23.355 ns/op 27.159 ns/op 0.86
byteArrayEquals 16384 20.150 us/op 26.155 us/op 0.77
Buffer.compare 16384 175.02 ns/op 214.69 ns/op 0.82
byteArrayEquals 123687377 146.11 ms/op 194.35 ms/op 0.75
Buffer.compare 123687377 3.8123 ms/op 6.5834 ms/op 0.58
byteArrayEquals 32 - diff last byte 47.626 ns/op 53.281 ns/op 0.89
Buffer.compare 32 - diff last byte 15.818 ns/op 17.482 ns/op 0.90
byteArrayEquals 1024 - diff last byte 1.2631 us/op 1.6102 us/op 0.78
Buffer.compare 1024 - diff last byte 24.474 ns/op 27.827 ns/op 0.88
byteArrayEquals 16384 - diff last byte 20.056 us/op 26.738 us/op 0.75
Buffer.compare 16384 - diff last byte 204.23 ns/op 214.26 ns/op 0.95
byteArrayEquals 123687377 - diff last byte 151.13 ms/op 195.18 ms/op 0.77
Buffer.compare 123687377 - diff last byte 4.2544 ms/op 8.1315 ms/op 0.52
byteArrayEquals 32 - random bytes 4.9300 ns/op 5.4390 ns/op 0.91
Buffer.compare 32 - random bytes 16.047 ns/op 18.377 ns/op 0.87
byteArrayEquals 1024 - random bytes 4.8760 ns/op 5.5060 ns/op 0.89
Buffer.compare 1024 - random bytes 15.883 ns/op 18.269 ns/op 0.87
byteArrayEquals 16384 - random bytes 4.8540 ns/op 5.4510 ns/op 0.89
Buffer.compare 16384 - random bytes 16.036 ns/op 18.242 ns/op 0.88
byteArrayEquals 123687377 - random bytes 7.9000 ns/op 6.8600 ns/op 1.15
Buffer.compare 123687377 - random bytes 19.140 ns/op 19.640 ns/op 0.97
regular array get 100000 times 30.897 us/op 42.985 us/op 0.72
wrappedArray get 100000 times 30.839 us/op 36.605 us/op 0.84
arrayWithProxy get 100000 times 10.630 ms/op 14.744 ms/op 0.72
ssz.Root.equals 43.203 ns/op 51.747 ns/op 0.83
byteArrayEquals 42.816 ns/op 51.434 ns/op 0.83
Buffer.compare 9.4010 ns/op 11.863 ns/op 0.79
shuffle list - 16384 els 5.4785 ms/op 7.1435 ms/op 0.77
shuffle list - 250000 els 81.519 ms/op 103.04 ms/op 0.79
processSlot - 1 slots 10.541 us/op 17.873 us/op 0.59
processSlot - 32 slots 2.5635 ms/op 3.4939 ms/op 0.73
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 34.322 ms/op 39.327 ms/op 0.87
getCommitteeAssignments - req 1 vs - 250000 vc 1.7973 ms/op 2.2648 ms/op 0.79
getCommitteeAssignments - req 100 vs - 250000 vc 3.4706 ms/op 4.3202 ms/op 0.80
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7592 ms/op 4.7210 ms/op 0.80
findModifiedValidators - 10000 modified validators 323.08 ms/op 338.81 ms/op 0.95
findModifiedValidators - 1000 modified validators 218.05 ms/op 213.91 ms/op 1.02
findModifiedValidators - 100 modified validators 175.65 ms/op 240.23 ms/op 0.73
findModifiedValidators - 10 modified validators 169.67 ms/op 247.79 ms/op 0.68
findModifiedValidators - 1 modified validators 159.44 ms/op 237.49 ms/op 0.67
findModifiedValidators - no difference 196.11 ms/op 235.55 ms/op 0.83
compare ViewDUs 3.5189 s/op 3.4616 s/op 1.02
compare each validator Uint8Array 1.7030 s/op 1.6347 s/op 1.04
compare ViewDU to Uint8Array 845.72 ms/op 1.1821 s/op 0.72
migrate state 1000000 validators, 24 modified, 0 new 551.17 ms/op 611.44 ms/op 0.90
migrate state 1000000 validators, 1700 modified, 1000 new 827.26 ms/op 910.49 ms/op 0.91
migrate state 1000000 validators, 3400 modified, 2000 new 1.0046 s/op 1.0484 s/op 0.96
migrate state 1500000 validators, 24 modified, 0 new 583.50 ms/op 627.38 ms/op 0.93
migrate state 1500000 validators, 1700 modified, 1000 new 856.94 ms/op 827.59 ms/op 1.04
migrate state 1500000 validators, 3400 modified, 2000 new 927.84 ms/op 1.0612 s/op 0.87
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.2900 ns/op 4.4000 ns/op 1.43
state getBlockRootAtSlot - 250000 vs - 7PWei 738.27 ns/op 575.20 ns/op 1.28
computeProposers - vc 250000 6.4180 ms/op 6.8296 ms/op 0.94
computeEpochShuffling - vc 250000 81.207 ms/op 97.285 ms/op 0.83
getNextSyncCommittee - vc 250000 94.638 ms/op 132.79 ms/op 0.71
computeSigningRoot for AttestationData 15.627 us/op 19.558 us/op 0.80
hash AttestationData serialized data then Buffer.toString(base64) 1.1729 us/op 1.5104 us/op 0.78
toHexString serialized data 737.43 ns/op 893.32 ns/op 0.83
Buffer.toString(base64) 135.03 ns/op 174.13 ns/op 0.78

Please sign in to comment.