Skip to content

Commit

Permalink
chore: print calculated block production cutoff time (#7163)
Browse files Browse the repository at this point in the history
  • Loading branch information
nflaig authored Oct 15, 2024
1 parent be0d971 commit cf72219
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions packages/beacon-node/src/api/impl/validator/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -589,9 +589,12 @@ export function getValidatorApi(
});
logger.debug("Produced common block body", loggerContext);

// Calculate cutoff time based on start of the slot
const cutoffMs = Math.max(0, BLOCK_PRODUCTION_RACE_CUTOFF_MS - Math.round(chain.clock.secFromSlot(slot) * 1000));

logger.verbose("Block production race (builder vs execution) starting", {
...loggerContext,
cutoffMs: BLOCK_PRODUCTION_RACE_CUTOFF_MS,
cutoffMs,
timeoutMs: BLOCK_PRODUCTION_RACE_TIMEOUT_MS,
});

Expand Down Expand Up @@ -637,7 +640,7 @@ export function getValidatorApi(
: Promise.reject(new Error("Engine disabled"));

const [builder, engine] = await resolveOrRacePromises([builderPromise, enginePromise], {
resolveTimeoutMs: Math.max(0, BLOCK_PRODUCTION_RACE_CUTOFF_MS - Math.round(chain.clock.secFromSlot(slot) * 1000)),
resolveTimeoutMs: cutoffMs,
raceTimeoutMs: BLOCK_PRODUCTION_RACE_TIMEOUT_MS,
signal: controller.signal,
});
Expand Down

1 comment on commit cf72219

@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: cf72219 Previous: 5adb4ef Ratio
enrSubnets - fastDeserialize 4 bits 467.00 ns/op 155.00 ns/op 3.01
getUint32 - manual 610.00 ns/op 174.00 ns/op 3.51
forkChoice updateHead vc 600000 bc 64 eq 300000 65.050 ms/op 14.041 ms/op 4.63
Full benchmark results
Benchmark suite Current: cf72219 Previous: 5adb4ef Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8222 ms/op 1.9345 ms/op 0.94
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 48.271 us/op 44.291 us/op 1.09
BLS verify - blst 901.48 us/op 746.00 us/op 1.21
BLS verifyMultipleSignatures 3 - blst 1.3719 ms/op 1.1363 ms/op 1.21
BLS verifyMultipleSignatures 8 - blst 2.1398 ms/op 1.6142 ms/op 1.33
BLS verifyMultipleSignatures 32 - blst 4.4521 ms/op 4.6730 ms/op 0.95
BLS verifyMultipleSignatures 64 - blst 8.3445 ms/op 8.7578 ms/op 0.95
BLS verifyMultipleSignatures 128 - blst 15.986 ms/op 16.735 ms/op 0.96
BLS deserializing 10000 signatures 626.05 ms/op 669.62 ms/op 0.93
BLS deserializing 100000 signatures 6.3849 s/op 6.7787 s/op 0.94
BLS verifyMultipleSignatures - same message - 3 - blst 946.56 us/op 866.95 us/op 1.09
BLS verifyMultipleSignatures - same message - 8 - blst 1.0932 ms/op 989.49 us/op 1.10
BLS verifyMultipleSignatures - same message - 32 - blst 1.8226 ms/op 1.6136 ms/op 1.13
BLS verifyMultipleSignatures - same message - 64 - blst 2.5419 ms/op 2.5068 ms/op 1.01
BLS verifyMultipleSignatures - same message - 128 - blst 4.2752 ms/op 4.2273 ms/op 1.01
BLS aggregatePubkeys 32 - blst 18.286 us/op 19.730 us/op 0.93
BLS aggregatePubkeys 128 - blst 64.152 us/op 68.852 us/op 0.93
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 77.079 ms/op 63.980 ms/op 1.20
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 55.593 ms/op 51.814 ms/op 1.07
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 46.273 ms/op 39.360 ms/op 1.18
getSlashingsAndExits - default max 82.625 us/op 93.635 us/op 0.88
getSlashingsAndExits - 2k 334.15 us/op 270.69 us/op 1.23
proposeBlockBody type=full, size=empty 5.3953 ms/op 6.0771 ms/op 0.89
isKnown best case - 1 super set check 478.00 ns/op 303.00 ns/op 1.58
isKnown normal case - 2 super set checks 472.00 ns/op 302.00 ns/op 1.56
isKnown worse case - 16 super set checks 470.00 ns/op 281.00 ns/op 1.67
InMemoryCheckpointStateCache - add get delete 3.3500 us/op 2.7460 us/op 1.22
updateUnfinalizedPubkeys - updating 10 pubkeys 1.2222 ms/op 914.93 us/op 1.34
updateUnfinalizedPubkeys - updating 100 pubkeys 4.1910 ms/op 4.1197 ms/op 1.02
updateUnfinalizedPubkeys - updating 1000 pubkeys 43.967 ms/op 54.875 ms/op 0.80
validate api signedAggregateAndProof - struct 1.7581 ms/op 1.4052 ms/op 1.25
validate gossip signedAggregateAndProof - struct 1.9892 ms/op 1.3421 ms/op 1.48
batch validate gossip attestation - vc 640000 - chunk 32 136.66 us/op 127.55 us/op 1.07
batch validate gossip attestation - vc 640000 - chunk 64 116.18 us/op 109.03 us/op 1.07
batch validate gossip attestation - vc 640000 - chunk 128 109.78 us/op 105.39 us/op 1.04
batch validate gossip attestation - vc 640000 - chunk 256 116.77 us/op 104.35 us/op 1.12
pickEth1Vote - no votes 1.0689 ms/op 1.0736 ms/op 1.00
pickEth1Vote - max votes 8.0391 ms/op 8.0635 ms/op 1.00
pickEth1Vote - Eth1Data hashTreeRoot value x2048 11.804 ms/op 17.440 ms/op 0.68
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 16.828 ms/op 19.358 ms/op 0.87
pickEth1Vote - Eth1Data fastSerialize value x2048 382.98 us/op 505.06 us/op 0.76
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.3781 ms/op 3.1601 ms/op 1.07
bytes32 toHexString 839.00 ns/op 472.00 ns/op 1.78
bytes32 Buffer.toString(hex) 521.00 ns/op 259.00 ns/op 2.01
bytes32 Buffer.toString(hex) from Uint8Array 725.00 ns/op 414.00 ns/op 1.75
bytes32 Buffer.toString(hex) + 0x 537.00 ns/op 256.00 ns/op 2.10
Object access 1 prop 0.38600 ns/op 0.15800 ns/op 2.44
Map access 1 prop 0.34900 ns/op 0.13000 ns/op 2.68
Object get x1000 5.2990 ns/op 5.7660 ns/op 0.92
Map get x1000 5.9870 ns/op 6.5730 ns/op 0.91
Object set x1000 24.752 ns/op 32.286 ns/op 0.77
Map set x1000 21.310 ns/op 21.379 ns/op 1.00
Return object 10000 times 0.31230 ns/op 0.29090 ns/op 1.07
Throw Error 10000 times 3.0244 us/op 3.3340 us/op 0.91
toHex 125.63 ns/op 149.60 ns/op 0.84
Buffer.from 106.69 ns/op 126.23 ns/op 0.85
shared Buffer 70.768 ns/op 90.858 ns/op 0.78
fastMsgIdFn sha256 / 200 bytes 2.1910 us/op 2.2480 us/op 0.97
fastMsgIdFn h32 xxhash / 200 bytes 510.00 ns/op 218.00 ns/op 2.34
fastMsgIdFn h64 xxhash / 200 bytes 508.00 ns/op 264.00 ns/op 1.92
fastMsgIdFn sha256 / 1000 bytes 6.0440 us/op 7.2470 us/op 0.83
fastMsgIdFn h32 xxhash / 1000 bytes 635.00 ns/op 355.00 ns/op 1.79
fastMsgIdFn h64 xxhash / 1000 bytes 584.00 ns/op 341.00 ns/op 1.71
fastMsgIdFn sha256 / 10000 bytes 50.138 us/op 64.861 us/op 0.77
fastMsgIdFn h32 xxhash / 10000 bytes 2.0220 us/op 1.8430 us/op 1.10
fastMsgIdFn h64 xxhash / 10000 bytes 1.3740 us/op 1.2030 us/op 1.14
send data - 1000 256B messages 12.996 ms/op 11.886 ms/op 1.09
send data - 1000 512B messages 19.212 ms/op 15.757 ms/op 1.22
send data - 1000 1024B messages 26.372 ms/op 24.836 ms/op 1.06
send data - 1000 1200B messages 28.823 ms/op 26.423 ms/op 1.09
send data - 1000 2048B messages 37.722 ms/op 31.268 ms/op 1.21
send data - 1000 4096B messages 38.454 ms/op 32.592 ms/op 1.18
send data - 1000 16384B messages 88.441 ms/op 74.956 ms/op 1.18
send data - 1000 65536B messages 339.72 ms/op 214.52 ms/op 1.58
enrSubnets - fastDeserialize 64 bits 2.1450 us/op 1.1420 us/op 1.88
enrSubnets - ssz BitVector 64 bits 840.00 ns/op 385.00 ns/op 2.18
enrSubnets - fastDeserialize 4 bits 467.00 ns/op 155.00 ns/op 3.01
enrSubnets - ssz BitVector 4 bits 719.00 ns/op 359.00 ns/op 2.00
prioritizePeers score -10:0 att 32-0.1 sync 2-0 206.47 us/op 130.89 us/op 1.58
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 226.27 us/op 154.28 us/op 1.47
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 391.72 us/op 221.54 us/op 1.77
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 551.54 us/op 403.19 us/op 1.37
prioritizePeers score 0:0 att 64-1 sync 4-1 967.98 us/op 497.04 us/op 1.95
array of 16000 items push then shift 1.4064 us/op 1.6422 us/op 0.86
LinkedList of 16000 items push then shift 8.4800 ns/op 7.1580 ns/op 1.18
array of 16000 items push then pop 164.78 ns/op 122.47 ns/op 1.35
LinkedList of 16000 items push then pop 8.0520 ns/op 7.1920 ns/op 1.12
array of 24000 items push then shift 2.0304 us/op 2.4687 us/op 0.82
LinkedList of 24000 items push then shift 6.7010 ns/op 7.2170 ns/op 0.93
array of 24000 items push then pop 181.00 ns/op 154.18 ns/op 1.17
LinkedList of 24000 items push then pop 6.4480 ns/op 7.4620 ns/op 0.86
intersect bitArray bitLen 8 6.0110 ns/op 6.5570 ns/op 0.92
intersect array and set length 8 75.099 ns/op 45.335 ns/op 1.66
intersect bitArray bitLen 128 27.071 ns/op 30.952 ns/op 0.87
intersect array and set length 128 890.33 ns/op 736.52 ns/op 1.21
bitArray.getTrueBitIndexes() bitLen 128 2.8620 us/op 1.5670 us/op 1.83
bitArray.getTrueBitIndexes() bitLen 248 3.8080 us/op 2.5070 us/op 1.52
bitArray.getTrueBitIndexes() bitLen 512 10.012 us/op 5.0330 us/op 1.99
Buffer.concat 32 items 1.1060 us/op 971.00 ns/op 1.14
Uint8Array.set 32 items 1.6200 us/op 1.5690 us/op 1.03
Buffer.copy 2.7130 us/op 1.8000 us/op 1.51
Uint8Array.set - with subarray 4.2460 us/op 2.5730 us/op 1.65
Uint8Array.set - without subarray 2.7170 us/op 1.3800 us/op 1.97
getUint32 - dataview 591.00 ns/op 250.00 ns/op 2.36
getUint32 - manual 610.00 ns/op 174.00 ns/op 3.51
Set add up to 64 items then delete first 3.2989 us/op 2.1586 us/op 1.53
OrderedSet add up to 64 items then delete first 5.2607 us/op 3.3374 us/op 1.58
Set add up to 64 items then delete last 3.2958 us/op 2.4863 us/op 1.33
OrderedSet add up to 64 items then delete last 5.6689 us/op 3.6123 us/op 1.57
Set add up to 64 items then delete middle 3.4290 us/op 2.5278 us/op 1.36
OrderedSet add up to 64 items then delete middle 6.4786 us/op 5.4796 us/op 1.18
Set add up to 128 items then delete first 5.2356 us/op 5.6183 us/op 0.93
OrderedSet add up to 128 items then delete first 7.3698 us/op 8.1227 us/op 0.91
Set add up to 128 items then delete last 5.3874 us/op 5.6028 us/op 0.96
OrderedSet add up to 128 items then delete last 7.4141 us/op 8.6548 us/op 0.86
Set add up to 128 items then delete middle 5.5669 us/op 5.5826 us/op 1.00
OrderedSet add up to 128 items then delete middle 14.690 us/op 15.600 us/op 0.94
Set add up to 256 items then delete first 13.556 us/op 13.552 us/op 1.00
OrderedSet add up to 256 items then delete first 21.379 us/op 18.140 us/op 1.18
Set add up to 256 items then delete last 12.461 us/op 10.930 us/op 1.14
OrderedSet add up to 256 items then delete last 21.344 us/op 15.841 us/op 1.35
Set add up to 256 items then delete middle 12.953 us/op 10.324 us/op 1.25
OrderedSet add up to 256 items then delete middle 43.659 us/op 42.871 us/op 1.02
transfer serialized Status (84 B) 1.8520 us/op 1.3990 us/op 1.32
copy serialized Status (84 B) 1.8570 us/op 1.1720 us/op 1.58
transfer serialized SignedVoluntaryExit (112 B) 1.7960 us/op 1.4710 us/op 1.22
copy serialized SignedVoluntaryExit (112 B) 1.5650 us/op 1.2020 us/op 1.30
transfer serialized ProposerSlashing (416 B) 2.1100 us/op 1.8160 us/op 1.16
copy serialized ProposerSlashing (416 B) 2.3930 us/op 1.5150 us/op 1.58
transfer serialized Attestation (485 B) 3.1250 us/op 1.5430 us/op 2.03
copy serialized Attestation (485 B) 2.8840 us/op 1.6320 us/op 1.77
transfer serialized AttesterSlashing (33232 B) 2.7690 us/op 1.7260 us/op 1.60
copy serialized AttesterSlashing (33232 B) 11.233 us/op 4.8470 us/op 2.32
transfer serialized Small SignedBeaconBlock (128000 B) 3.2700 us/op 2.2410 us/op 1.46
copy serialized Small SignedBeaconBlock (128000 B) 15.051 us/op 13.373 us/op 1.13
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2650 us/op 2.7910 us/op 1.17
copy serialized Avg SignedBeaconBlock (200000 B) 17.677 us/op 19.854 us/op 0.89
transfer serialized BlobsSidecar (524380 B) 3.8510 us/op 2.8260 us/op 1.36
copy serialized BlobsSidecar (524380 B) 98.945 us/op 83.484 us/op 1.19
transfer serialized Big SignedBeaconBlock (1000000 B) 4.1880 us/op 3.7640 us/op 1.11
copy serialized Big SignedBeaconBlock (1000000 B) 167.56 us/op 192.13 us/op 0.87
pass gossip attestations to forkchoice per slot 3.0846 ms/op 2.9356 ms/op 1.05
forkChoice updateHead vc 100000 bc 64 eq 0 376.41 us/op 466.76 us/op 0.81
forkChoice updateHead vc 600000 bc 64 eq 0 4.5434 ms/op 4.1153 ms/op 1.10
forkChoice updateHead vc 1000000 bc 64 eq 0 5.2672 ms/op 5.1858 ms/op 1.02
forkChoice updateHead vc 600000 bc 320 eq 0 3.1325 ms/op 2.9291 ms/op 1.07
forkChoice updateHead vc 600000 bc 1200 eq 0 2.3871 ms/op 2.9485 ms/op 0.81
forkChoice updateHead vc 600000 bc 7200 eq 0 4.3150 ms/op 4.5551 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 1000 10.207 ms/op 10.553 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 10000 11.418 ms/op 10.869 ms/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 300000 65.050 ms/op 14.041 ms/op 4.63
computeDeltas 500000 validators 300 proto nodes 4.1427 ms/op 4.3215 ms/op 0.96
computeDeltas 500000 validators 1200 proto nodes 3.8162 ms/op 4.2735 ms/op 0.89
computeDeltas 500000 validators 7200 proto nodes 3.6051 ms/op 4.2366 ms/op 0.85
computeDeltas 750000 validators 300 proto nodes 5.7122 ms/op 6.2576 ms/op 0.91
computeDeltas 750000 validators 1200 proto nodes 5.8615 ms/op 6.1804 ms/op 0.95
computeDeltas 750000 validators 7200 proto nodes 5.8561 ms/op 6.0839 ms/op 0.96
computeDeltas 1400000 validators 300 proto nodes 11.367 ms/op 11.548 ms/op 0.98
computeDeltas 1400000 validators 1200 proto nodes 10.311 ms/op 11.734 ms/op 0.88
computeDeltas 1400000 validators 7200 proto nodes 10.120 ms/op 11.823 ms/op 0.86
computeDeltas 2100000 validators 300 proto nodes 15.896 ms/op 18.392 ms/op 0.86
computeDeltas 2100000 validators 1200 proto nodes 16.054 ms/op 17.685 ms/op 0.91
computeDeltas 2100000 validators 7200 proto nodes 16.556 ms/op 17.385 ms/op 0.95
altair processAttestation - 250000 vs - 7PWei normalcase 2.7190 ms/op 1.8050 ms/op 1.51
altair processAttestation - 250000 vs - 7PWei worstcase 2.3286 ms/op 2.7384 ms/op 0.85
altair processAttestation - setStatus - 1/6 committees join 89.154 us/op 92.770 us/op 0.96
altair processAttestation - setStatus - 1/3 committees join 244.06 us/op 178.05 us/op 1.37
altair processAttestation - setStatus - 1/2 committees join 402.49 us/op 258.65 us/op 1.56
altair processAttestation - setStatus - 2/3 committees join 506.45 us/op 331.85 us/op 1.53
altair processAttestation - setStatus - 4/5 committees join 798.02 us/op 479.90 us/op 1.66
altair processAttestation - setStatus - 100% committees join 775.15 us/op 570.28 us/op 1.36
altair processBlock - 250000 vs - 7PWei normalcase 11.358 ms/op 5.6635 ms/op 2.01
altair processBlock - 250000 vs - 7PWei normalcase hashState 50.418 ms/op 26.008 ms/op 1.94
altair processBlock - 250000 vs - 7PWei worstcase 45.412 ms/op 32.301 ms/op 1.41
altair processBlock - 250000 vs - 7PWei worstcase hashState 76.593 ms/op 68.780 ms/op 1.11
phase0 processBlock - 250000 vs - 7PWei normalcase 1.3948 ms/op 2.1171 ms/op 0.66
phase0 processBlock - 250000 vs - 7PWei worstcase 30.575 ms/op 22.193 ms/op 1.38
altair processEth1Data - 250000 vs - 7PWei normalcase 291.83 us/op 321.13 us/op 0.91
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 12.289 us/op 6.5170 us/op 1.89
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 65.257 us/op 37.189 us/op 1.75
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 13.620 us/op 14.008 us/op 0.97
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.1020 us/op 5.7120 us/op 1.42
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 130.41 us/op 115.21 us/op 1.13
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 982.02 us/op 1.0469 ms/op 0.94
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4081 ms/op 1.4455 ms/op 0.97
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5920 ms/op 1.4337 ms/op 1.11
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.0991 ms/op 3.6080 ms/op 1.14
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.9714 ms/op 1.4870 ms/op 1.33
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.5797 ms/op 3.9572 ms/op 0.90
Tree 40 250000 create 213.75 ms/op 221.13 ms/op 0.97
Tree 40 250000 get(125000) 169.54 ns/op 158.63 ns/op 1.07
Tree 40 250000 set(125000) 655.84 ns/op 730.53 ns/op 0.90
Tree 40 250000 toArray() 27.756 ms/op 17.933 ms/op 1.55
Tree 40 250000 iterate all - toArray() + loop 25.912 ms/op 19.692 ms/op 1.32
Tree 40 250000 iterate all - get(i) 63.321 ms/op 61.037 ms/op 1.04
Array 250000 create 3.4455 ms/op 3.5659 ms/op 0.97
Array 250000 clone - spread 1.5037 ms/op 1.5941 ms/op 0.94
Array 250000 get(125000) 0.62500 ns/op 0.42600 ns/op 1.47
Array 250000 set(125000) 0.64000 ns/op 0.45700 ns/op 1.40
Array 250000 iterate all - loop 80.848 us/op 103.77 us/op 0.78
phase0 afterProcessEpoch - 250000 vs - 7PWei 50.903 ms/op 52.970 ms/op 0.96
Array.fill - length 1000000 2.8926 ms/op 3.7225 ms/op 0.78
Array push - length 1000000 20.660 ms/op 13.711 ms/op 1.51
Array.get 0.28288 ns/op 0.28261 ns/op 1.00
Uint8Array.get 0.35835 ns/op 0.44068 ns/op 0.81
phase0 beforeProcessEpoch - 250000 vs - 7PWei 21.915 ms/op 21.340 ms/op 1.03
altair processEpoch - mainnet_e81889 328.28 ms/op 252.73 ms/op 1.30
mainnet_e81889 - altair beforeProcessEpoch 25.524 ms/op 18.629 ms/op 1.37
mainnet_e81889 - altair processJustificationAndFinalization 23.879 us/op 11.746 us/op 2.03
mainnet_e81889 - altair processInactivityUpdates 7.6612 ms/op 5.4569 ms/op 1.40
mainnet_e81889 - altair processRewardsAndPenalties 57.458 ms/op 36.572 ms/op 1.57
mainnet_e81889 - altair processRegistryUpdates 3.3150 us/op 1.7880 us/op 1.85
mainnet_e81889 - altair processSlashings 1.2040 us/op 370.00 ns/op 3.25
mainnet_e81889 - altair processEth1DataReset 887.00 ns/op 413.00 ns/op 2.15
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.2597 ms/op 1.9413 ms/op 1.16
mainnet_e81889 - altair processSlashingsReset 4.2340 us/op 2.7430 us/op 1.54
mainnet_e81889 - altair processRandaoMixesReset 5.0090 us/op 3.3230 us/op 1.51
mainnet_e81889 - altair processHistoricalRootsUpdate 993.00 ns/op 642.00 ns/op 1.55
mainnet_e81889 - altair processParticipationFlagUpdates 4.8330 us/op 2.2870 us/op 2.11
mainnet_e81889 - altair processSyncCommitteeUpdates 1.3000 us/op 456.00 ns/op 2.85
mainnet_e81889 - altair afterProcessEpoch 45.734 ms/op 50.491 ms/op 0.91
capella processEpoch - mainnet_e217614 1.0274 s/op 944.08 ms/op 1.09
mainnet_e217614 - capella beforeProcessEpoch 73.915 ms/op 77.125 ms/op 0.96
mainnet_e217614 - capella processJustificationAndFinalization 21.312 us/op 18.694 us/op 1.14
mainnet_e217614 - capella processInactivityUpdates 14.236 ms/op 17.297 ms/op 0.82
mainnet_e217614 - capella processRewardsAndPenalties 211.91 ms/op 218.29 ms/op 0.97
mainnet_e217614 - capella processRegistryUpdates 15.520 us/op 12.554 us/op 1.24
mainnet_e217614 - capella processSlashings 962.00 ns/op 364.00 ns/op 2.64
mainnet_e217614 - capella processEth1DataReset 866.00 ns/op 338.00 ns/op 2.56
mainnet_e217614 - capella processEffectiveBalanceUpdates 18.296 ms/op 16.407 ms/op 1.12
mainnet_e217614 - capella processSlashingsReset 3.5510 us/op 4.6800 us/op 0.76
mainnet_e217614 - capella processRandaoMixesReset 12.011 us/op 5.0970 us/op 2.36
mainnet_e217614 - capella processHistoricalRootsUpdate 1.1140 us/op 562.00 ns/op 1.98
mainnet_e217614 - capella processParticipationFlagUpdates 3.3670 us/op 2.0540 us/op 1.64
mainnet_e217614 - capella afterProcessEpoch 111.21 ms/op 123.40 ms/op 0.90
phase0 processEpoch - mainnet_e58758 319.31 ms/op 326.59 ms/op 0.98
mainnet_e58758 - phase0 beforeProcessEpoch 87.207 ms/op 73.265 ms/op 1.19
mainnet_e58758 - phase0 processJustificationAndFinalization 17.789 us/op 12.991 us/op 1.37
mainnet_e58758 - phase0 processRewardsAndPenalties 32.901 ms/op 31.651 ms/op 1.04
mainnet_e58758 - phase0 processRegistryUpdates 7.7860 us/op 7.9440 us/op 0.98
mainnet_e58758 - phase0 processSlashings 859.00 ns/op 336.00 ns/op 2.56
mainnet_e58758 - phase0 processEth1DataReset 756.00 ns/op 321.00 ns/op 2.36
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 954.73 us/op 1.1927 ms/op 0.80
mainnet_e58758 - phase0 processSlashingsReset 4.3050 us/op 2.9490 us/op 1.46
mainnet_e58758 - phase0 processRandaoMixesReset 5.1930 us/op 4.6490 us/op 1.12
mainnet_e58758 - phase0 processHistoricalRootsUpdate 411.00 ns/op 319.00 ns/op 1.29
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.6590 us/op 2.8380 us/op 1.29
mainnet_e58758 - phase0 afterProcessEpoch 36.456 ms/op 42.183 ms/op 0.86
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.1433 ms/op 1.4237 ms/op 0.80
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.1769 ms/op 2.5298 ms/op 0.86
altair processInactivityUpdates - 250000 normalcase 17.160 ms/op 15.757 ms/op 1.09
altair processInactivityUpdates - 250000 worstcase 19.699 ms/op 17.911 ms/op 1.10
phase0 processRegistryUpdates - 250000 normalcase 7.5910 us/op 10.009 us/op 0.76
phase0 processRegistryUpdates - 250000 badcase_full_deposits 302.83 us/op 300.33 us/op 1.01
phase0 processRegistryUpdates - 250000 worstcase 0.5 108.24 ms/op 123.12 ms/op 0.88
altair processRewardsAndPenalties - 250000 normalcase 34.529 ms/op 39.676 ms/op 0.87
altair processRewardsAndPenalties - 250000 worstcase 35.889 ms/op 40.214 ms/op 0.89
phase0 getAttestationDeltas - 250000 normalcase 6.6152 ms/op 8.0457 ms/op 0.82
phase0 getAttestationDeltas - 250000 worstcase 7.2565 ms/op 10.806 ms/op 0.67
phase0 processSlashings - 250000 worstcase 92.010 us/op 100.61 us/op 0.91
altair processSyncCommitteeUpdates - 250000 98.175 ms/op 128.98 ms/op 0.76
BeaconState.hashTreeRoot - No change 483.00 ns/op 233.00 ns/op 2.07
BeaconState.hashTreeRoot - 1 full validator 120.15 us/op 127.78 us/op 0.94
BeaconState.hashTreeRoot - 32 full validator 1.4969 ms/op 1.6373 ms/op 0.91
BeaconState.hashTreeRoot - 512 full validator 10.191 ms/op 10.882 ms/op 0.94
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 147.78 us/op 119.27 us/op 1.24
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0787 ms/op 1.7031 ms/op 1.22
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.068 ms/op 20.344 ms/op 1.13
BeaconState.hashTreeRoot - 1 balances 87.040 us/op 96.939 us/op 0.90
BeaconState.hashTreeRoot - 32 balances 867.79 us/op 758.57 us/op 1.14
BeaconState.hashTreeRoot - 512 balances 7.8375 ms/op 7.8429 ms/op 1.00
BeaconState.hashTreeRoot - 250000 balances 206.61 ms/op 144.31 ms/op 1.43
aggregationBits - 2048 els - zipIndexesInBitList 21.087 us/op 31.638 us/op 0.67
byteArrayEquals 32 48.484 ns/op 53.696 ns/op 0.90
Buffer.compare 32 15.794 ns/op 17.269 ns/op 0.91
byteArrayEquals 1024 1.2884 us/op 1.5762 us/op 0.82
Buffer.compare 1024 23.063 ns/op 24.709 ns/op 0.93
byteArrayEquals 16384 20.397 us/op 25.047 us/op 0.81
Buffer.compare 16384 185.67 ns/op 246.79 ns/op 0.75
byteArrayEquals 123687377 153.55 ms/op 193.15 ms/op 0.79
Buffer.compare 123687377 4.4817 ms/op 10.717 ms/op 0.42
byteArrayEquals 32 - diff last byte 47.320 ns/op 54.010 ns/op 0.88
Buffer.compare 32 - diff last byte 15.778 ns/op 17.714 ns/op 0.89
byteArrayEquals 1024 - diff last byte 1.2683 us/op 1.6245 us/op 0.78
Buffer.compare 1024 - diff last byte 24.664 ns/op 26.302 ns/op 0.94
byteArrayEquals 16384 - diff last byte 20.047 us/op 25.458 us/op 0.79
Buffer.compare 16384 - diff last byte 207.43 ns/op 210.72 ns/op 0.98
byteArrayEquals 123687377 - diff last byte 156.92 ms/op 194.28 ms/op 0.81
Buffer.compare 123687377 - diff last byte 7.0003 ms/op 8.8325 ms/op 0.79
byteArrayEquals 32 - random bytes 5.1100 ns/op 5.3510 ns/op 0.95
Buffer.compare 32 - random bytes 16.121 ns/op 17.947 ns/op 0.90
byteArrayEquals 1024 - random bytes 5.1330 ns/op 5.3720 ns/op 0.96
Buffer.compare 1024 - random bytes 15.998 ns/op 17.814 ns/op 0.90
byteArrayEquals 16384 - random bytes 5.1200 ns/op 5.5710 ns/op 0.92
Buffer.compare 16384 - random bytes 16.410 ns/op 17.810 ns/op 0.92
byteArrayEquals 123687377 - random bytes 8.2600 ns/op 6.6000 ns/op 1.25
Buffer.compare 123687377 - random bytes 19.560 ns/op 18.990 ns/op 1.03
regular array get 100000 times 32.384 us/op 33.477 us/op 0.97
wrappedArray get 100000 times 32.451 us/op 37.264 us/op 0.87
arrayWithProxy get 100000 times 10.465 ms/op 14.950 ms/op 0.70
ssz.Root.equals 47.075 ns/op 47.652 ns/op 0.99
byteArrayEquals 44.603 ns/op 46.329 ns/op 0.96
Buffer.compare 9.8030 ns/op 10.922 ns/op 0.90
processSlot - 1 slots 15.581 us/op 12.069 us/op 1.29
processSlot - 32 slots 2.7861 ms/op 2.4598 ms/op 1.13
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.999 ms/op 36.189 ms/op 1.05
getCommitteeAssignments - req 1 vs - 250000 vc 1.8208 ms/op 2.1553 ms/op 0.84
getCommitteeAssignments - req 100 vs - 250000 vc 3.5727 ms/op 4.1831 ms/op 0.85
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8084 ms/op 4.5957 ms/op 0.83
findModifiedValidators - 10000 modified validators 229.81 ms/op 248.73 ms/op 0.92
findModifiedValidators - 1000 modified validators 148.44 ms/op 170.03 ms/op 0.87
findModifiedValidators - 100 modified validators 161.17 ms/op 149.44 ms/op 1.08
findModifiedValidators - 10 modified validators 158.38 ms/op 158.32 ms/op 1.00
findModifiedValidators - 1 modified validators 131.88 ms/op 149.81 ms/op 0.88
findModifiedValidators - no difference 146.03 ms/op 160.78 ms/op 0.91
compare ViewDUs 3.0162 s/op 3.1237 s/op 0.97
compare each validator Uint8Array 1.5419 s/op 1.0491 s/op 1.47
compare ViewDU to Uint8Array 786.50 ms/op 1.0016 s/op 0.79
migrate state 1000000 validators, 24 modified, 0 new 681.11 ms/op 670.70 ms/op 1.02
migrate state 1000000 validators, 1700 modified, 1000 new 883.01 ms/op 918.65 ms/op 0.96
migrate state 1000000 validators, 3400 modified, 2000 new 1.0362 s/op 1.0805 s/op 0.96
migrate state 1500000 validators, 24 modified, 0 new 639.35 ms/op 753.09 ms/op 0.85
migrate state 1500000 validators, 1700 modified, 1000 new 978.29 ms/op 954.44 ms/op 1.02
migrate state 1500000 validators, 3400 modified, 2000 new 1.0193 s/op 1.1668 s/op 0.87
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.2900 ns/op 4.3100 ns/op 1.46
state getBlockRootAtSlot - 250000 vs - 7PWei 734.26 ns/op 919.62 ns/op 0.80
computeProposers - vc 250000 6.0565 ms/op 7.2291 ms/op 0.84
computeEpochShuffling - vc 250000 34.532 ms/op 41.369 ms/op 0.83
getNextSyncCommittee - vc 250000 108.96 ms/op 119.99 ms/op 0.91
computeSigningRoot for AttestationData 21.140 us/op 17.726 us/op 1.19
hash AttestationData serialized data then Buffer.toString(base64) 1.1739 us/op 1.5496 us/op 0.76
toHexString serialized data 785.04 ns/op 872.66 ns/op 0.90
Buffer.toString(base64) 168.95 ns/op 181.77 ns/op 0.93
nodejs block root to RootHex using toHex 121.57 ns/op 158.34 ns/op 0.77
nodejs block root to RootHex using toRootHex 76.796 ns/op 96.462 ns/op 0.80
browser block root to RootHex using the deprecated toHexString 210.94 ns/op 223.86 ns/op 0.94
browser block root to RootHex using toHex 171.18 ns/op 179.14 ns/op 0.96
browser block root to RootHex using toRootHex 161.13 ns/op 161.92 ns/op 1.00

Please sign in to comment.