Skip to content

Commit

Permalink
fix: do not register validator statuses for epoch -1 (#7392)
Browse files Browse the repository at this point in the history
  • Loading branch information
nflaig authored Jan 23, 2025
1 parent d584aed commit 82f2037
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions packages/beacon-node/src/metrics/validatorMonitor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,11 @@ export function createValidatorMonitor(
lastRegisteredStatusEpoch = currentEpoch;
const previousEpoch = currentEpoch - 1;

// There won't be any validator activity in epoch -1
if (previousEpoch === -1) {
return;
}

for (const [index, monitoredValidator] of validators.entries()) {
// We subtract two from the state of the epoch that generated these summaries.
//
Expand Down

1 comment on commit 82f2037

@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: 82f2037 Previous: 82f2037 Ratio
findModifiedValidators - 1000 modified validators 654.03 ms/op 191.73 ms/op 3.41
Full benchmark results
Benchmark suite Current: 82f2037 Previous: 82f2037 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.1202 ms/op 1.1691 ms/op 1.81
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 70.791 us/op 42.931 us/op 1.65
BLS verify - blst 1.0639 ms/op 889.51 us/op 1.20
BLS verifyMultipleSignatures 3 - blst 1.7093 ms/op 1.2412 ms/op 1.38
BLS verifyMultipleSignatures 8 - blst 2.3575 ms/op 1.7021 ms/op 1.39
BLS verifyMultipleSignatures 32 - blst 6.3586 ms/op 5.0015 ms/op 1.27
BLS verifyMultipleSignatures 64 - blst 11.686 ms/op 9.2940 ms/op 1.26
BLS verifyMultipleSignatures 128 - blst 19.886 ms/op 17.795 ms/op 1.12
BLS deserializing 10000 signatures 757.38 ms/op 714.43 ms/op 1.06
BLS deserializing 100000 signatures 7.6261 s/op 7.2742 s/op 1.05
BLS verifyMultipleSignatures - same message - 3 - blst 1.1760 ms/op 996.33 us/op 1.18
BLS verifyMultipleSignatures - same message - 8 - blst 1.3238 ms/op 1.1577 ms/op 1.14
BLS verifyMultipleSignatures - same message - 32 - blst 2.1551 ms/op 1.8520 ms/op 1.16
BLS verifyMultipleSignatures - same message - 64 - blst 2.9637 ms/op 2.8869 ms/op 1.03
BLS verifyMultipleSignatures - same message - 128 - blst 4.7553 ms/op 4.8172 ms/op 0.99
BLS aggregatePubkeys 32 - blst 22.435 us/op 21.794 us/op 1.03
BLS aggregatePubkeys 128 - blst 76.546 us/op 75.806 us/op 1.01
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 94.962 ms/op 56.313 ms/op 1.69
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 65.485 ms/op 68.137 ms/op 0.96
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 46.812 ms/op 54.793 ms/op 0.85
getSlashingsAndExits - default max 167.50 us/op 164.51 us/op 1.02
getSlashingsAndExits - 2k 355.67 us/op 817.13 us/op 0.44
proposeBlockBody type=full, size=empty 6.0917 ms/op 6.9434 ms/op 0.88
isKnown best case - 1 super set check 347.00 ns/op 650.00 ns/op 0.53
isKnown normal case - 2 super set checks 320.00 ns/op 755.00 ns/op 0.42
isKnown worse case - 16 super set checks 309.00 ns/op 735.00 ns/op 0.42
InMemoryCheckpointStateCache - add get delete 3.2140 us/op 3.9590 us/op 0.81
validate api signedAggregateAndProof - struct 1.5259 ms/op 1.8880 ms/op 0.81
validate gossip signedAggregateAndProof - struct 2.5841 ms/op 1.7618 ms/op 1.47
batch validate gossip attestation - vc 640000 - chunk 32 140.79 us/op 161.28 us/op 0.87
batch validate gossip attestation - vc 640000 - chunk 64 122.70 us/op 162.05 us/op 0.76
batch validate gossip attestation - vc 640000 - chunk 128 116.36 us/op 129.13 us/op 0.90
batch validate gossip attestation - vc 640000 - chunk 256 122.79 us/op 127.26 us/op 0.96
pickEth1Vote - no votes 1.1879 ms/op 1.3350 ms/op 0.89
pickEth1Vote - max votes 7.6824 ms/op 9.4691 ms/op 0.81
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.558 ms/op 17.140 ms/op 0.91
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 24.996 ms/op 24.702 ms/op 1.01
pickEth1Vote - Eth1Data fastSerialize value x2048 587.19 us/op 626.65 us/op 0.94
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.2805 ms/op 4.1591 ms/op 0.79
bytes32 toHexString 527.00 ns/op 743.00 ns/op 0.71
bytes32 Buffer.toString(hex) 265.00 ns/op 281.00 ns/op 0.94
bytes32 Buffer.toString(hex) from Uint8Array 457.00 ns/op 507.00 ns/op 0.90
bytes32 Buffer.toString(hex) + 0x 266.00 ns/op 284.00 ns/op 0.94
Object access 1 prop 0.20700 ns/op 0.22000 ns/op 0.94
Map access 1 prop 0.14000 ns/op 0.15500 ns/op 0.90
Object get x1000 6.3370 ns/op 6.5490 ns/op 0.97
Map get x1000 7.1330 ns/op 7.8080 ns/op 0.91
Object set x1000 56.757 ns/op 58.459 ns/op 0.97
Map set x1000 37.768 ns/op 37.344 ns/op 1.01
Return object 10000 times 0.31530 ns/op 0.33740 ns/op 0.93
Throw Error 10000 times 3.6456 us/op 3.7548 us/op 0.97
toHex 190.04 ns/op 181.25 ns/op 1.05
Buffer.from 182.02 ns/op 168.02 ns/op 1.08
shared Buffer 107.46 ns/op 98.436 ns/op 1.09
fastMsgIdFn sha256 / 200 bytes 2.6160 us/op 2.4580 us/op 1.06
fastMsgIdFn h32 xxhash / 200 bytes 338.00 ns/op 312.00 ns/op 1.08
fastMsgIdFn h64 xxhash / 200 bytes 287.00 ns/op 303.00 ns/op 0.95
fastMsgIdFn sha256 / 1000 bytes 8.2180 us/op 7.9560 us/op 1.03
fastMsgIdFn h32 xxhash / 1000 bytes 454.00 ns/op 442.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 1000 bytes 382.00 ns/op 387.00 ns/op 0.99
fastMsgIdFn sha256 / 10000 bytes 68.587 us/op 67.978 us/op 1.01
fastMsgIdFn h32 xxhash / 10000 bytes 2.0100 us/op 2.0430 us/op 0.98
fastMsgIdFn h64 xxhash / 10000 bytes 1.2910 us/op 1.3310 us/op 0.97
send data - 1000 256B messages 18.791 ms/op 15.817 ms/op 1.19
send data - 1000 512B messages 20.655 ms/op 21.371 ms/op 0.97
send data - 1000 1024B messages 31.181 ms/op 30.158 ms/op 1.03
send data - 1000 1200B messages 29.889 ms/op 23.759 ms/op 1.26
send data - 1000 2048B messages 39.084 ms/op 38.953 ms/op 1.00
send data - 1000 4096B messages 32.759 ms/op 38.282 ms/op 0.86
send data - 1000 16384B messages 72.517 ms/op 91.488 ms/op 0.79
send data - 1000 65536B messages 220.22 ms/op 260.95 ms/op 0.84
enrSubnets - fastDeserialize 64 bits 1.1530 us/op 1.6400 us/op 0.70
enrSubnets - ssz BitVector 64 bits 367.00 ns/op 475.00 ns/op 0.77
enrSubnets - fastDeserialize 4 bits 161.00 ns/op 214.00 ns/op 0.75
enrSubnets - ssz BitVector 4 bits 381.00 ns/op 474.00 ns/op 0.80
prioritizePeers score -10:0 att 32-0.1 sync 2-0 159.15 us/op 205.33 us/op 0.78
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 221.91 us/op 222.44 us/op 1.00
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 311.05 us/op 347.62 us/op 0.89
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 508.67 us/op 554.39 us/op 0.92
prioritizePeers score 0:0 att 64-1 sync 4-1 656.52 us/op 753.60 us/op 0.87
array of 16000 items push then shift 1.7350 us/op 1.7993 us/op 0.96
LinkedList of 16000 items push then shift 7.9930 ns/op 9.9910 ns/op 0.80
array of 16000 items push then pop 128.63 ns/op 142.97 ns/op 0.90
LinkedList of 16000 items push then pop 8.1300 ns/op 8.6490 ns/op 0.94
array of 24000 items push then shift 2.4919 us/op 2.8884 us/op 0.86
LinkedList of 24000 items push then shift 7.6420 ns/op 9.0020 ns/op 0.85
array of 24000 items push then pop 174.64 ns/op 189.84 ns/op 0.92
LinkedList of 24000 items push then pop 7.6890 ns/op 8.3610 ns/op 0.92
intersect bitArray bitLen 8 6.8110 ns/op 6.9520 ns/op 0.98
intersect array and set length 8 50.940 ns/op 54.883 ns/op 0.93
intersect bitArray bitLen 128 32.001 ns/op 32.405 ns/op 0.99
intersect array and set length 128 744.25 ns/op 938.49 ns/op 0.79
bitArray.getTrueBitIndexes() bitLen 128 1.4940 us/op 1.7790 us/op 0.84
bitArray.getTrueBitIndexes() bitLen 248 2.5550 us/op 2.9780 us/op 0.86
bitArray.getTrueBitIndexes() bitLen 512 5.4020 us/op 6.4940 us/op 0.83
Buffer.concat 32 items 903.00 ns/op 818.00 ns/op 1.10
Uint8Array.set 32 items 1.7100 us/op 2.0330 us/op 0.84
Buffer.copy 2.9430 us/op 2.8660 us/op 1.03
Uint8Array.set - with subarray 2.7340 us/op 3.2170 us/op 0.85
Uint8Array.set - without subarray 1.3800 us/op 1.8310 us/op 0.75
getUint32 - dataview 252.00 ns/op 321.00 ns/op 0.79
getUint32 - manual 166.00 ns/op 255.00 ns/op 0.65
Set add up to 64 items then delete first 2.2321 us/op 3.0101 us/op 0.74
OrderedSet add up to 64 items then delete first 3.7725 us/op 4.7997 us/op 0.79
Set add up to 64 items then delete last 2.6395 us/op 3.4472 us/op 0.77
OrderedSet add up to 64 items then delete last 3.9904 us/op 5.0868 us/op 0.78
Set add up to 64 items then delete middle 2.9649 us/op 3.5487 us/op 0.84
OrderedSet add up to 64 items then delete middle 5.8138 us/op 6.9456 us/op 0.84
Set add up to 128 items then delete first 6.1992 us/op 7.1325 us/op 0.87
OrderedSet add up to 128 items then delete first 9.9761 us/op 11.207 us/op 0.89
Set add up to 128 items then delete last 5.6347 us/op 6.7296 us/op 0.84
OrderedSet add up to 128 items then delete last 8.0332 us/op 10.572 us/op 0.76
Set add up to 128 items then delete middle 5.6396 us/op 6.8160 us/op 0.83
OrderedSet add up to 128 items then delete middle 15.757 us/op 17.278 us/op 0.91
Set add up to 256 items then delete first 11.999 us/op 14.263 us/op 0.84
OrderedSet add up to 256 items then delete first 17.175 us/op 22.490 us/op 0.76
Set add up to 256 items then delete last 11.309 us/op 13.846 us/op 0.82
OrderedSet add up to 256 items then delete last 16.441 us/op 21.379 us/op 0.77
Set add up to 256 items then delete middle 10.625 us/op 13.734 us/op 0.77
OrderedSet add up to 256 items then delete middle 46.968 us/op 50.180 us/op 0.94
transfer serialized Status (84 B) 2.9990 us/op 3.5120 us/op 0.85
copy serialized Status (84 B) 1.5530 us/op 1.8260 us/op 0.85
transfer serialized SignedVoluntaryExit (112 B) 3.0750 us/op 3.5550 us/op 0.86
copy serialized SignedVoluntaryExit (112 B) 1.6740 us/op 2.1190 us/op 0.79
transfer serialized ProposerSlashing (416 B) 3.7190 us/op 4.4410 us/op 0.84
copy serialized ProposerSlashing (416 B) 2.2210 us/op 2.9200 us/op 0.76
transfer serialized Attestation (485 B) 3.2660 us/op 4.1700 us/op 0.78
copy serialized Attestation (485 B) 2.0580 us/op 2.8090 us/op 0.73
transfer serialized AttesterSlashing (33232 B) 3.4350 us/op 3.8630 us/op 0.89
copy serialized AttesterSlashing (33232 B) 6.6250 us/op 10.292 us/op 0.64
transfer serialized Small SignedBeaconBlock (128000 B) 3.6210 us/op 5.2900 us/op 0.68
copy serialized Small SignedBeaconBlock (128000 B) 21.298 us/op 30.977 us/op 0.69
transfer serialized Avg SignedBeaconBlock (200000 B) 4.9340 us/op 5.7270 us/op 0.86
copy serialized Avg SignedBeaconBlock (200000 B) 31.754 us/op 45.179 us/op 0.70
transfer serialized BlobsSidecar (524380 B) 5.3200 us/op 7.9900 us/op 0.67
copy serialized BlobsSidecar (524380 B) 84.344 us/op 153.48 us/op 0.55
transfer serialized Big SignedBeaconBlock (1000000 B) 5.3120 us/op 7.6770 us/op 0.69
copy serialized Big SignedBeaconBlock (1000000 B) 169.01 us/op 479.42 us/op 0.35
pass gossip attestations to forkchoice per slot 2.8722 ms/op 2.9112 ms/op 0.99
forkChoice updateHead vc 100000 bc 64 eq 0 589.11 us/op 475.83 us/op 1.24
forkChoice updateHead vc 600000 bc 64 eq 0 3.1621 ms/op 3.6008 ms/op 0.88
forkChoice updateHead vc 1000000 bc 64 eq 0 5.5089 ms/op 5.8960 ms/op 0.93
forkChoice updateHead vc 600000 bc 320 eq 0 3.3145 ms/op 3.3362 ms/op 0.99
forkChoice updateHead vc 600000 bc 1200 eq 0 3.2248 ms/op 3.4737 ms/op 0.93
forkChoice updateHead vc 600000 bc 7200 eq 0 3.3126 ms/op 4.3923 ms/op 0.75
forkChoice updateHead vc 600000 bc 64 eq 1000 10.885 ms/op 11.011 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 10000 12.342 ms/op 10.982 ms/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 300000 14.312 ms/op 23.224 ms/op 0.62
computeDeltas 500000 validators 300 proto nodes 4.3629 ms/op 4.6795 ms/op 0.93
computeDeltas 500000 validators 1200 proto nodes 4.7125 ms/op 4.8597 ms/op 0.97
computeDeltas 500000 validators 7200 proto nodes 4.4714 ms/op 4.7659 ms/op 0.94
computeDeltas 750000 validators 300 proto nodes 6.3990 ms/op 6.6212 ms/op 0.97
computeDeltas 750000 validators 1200 proto nodes 6.5221 ms/op 7.4402 ms/op 0.88
computeDeltas 750000 validators 7200 proto nodes 7.4101 ms/op 8.9044 ms/op 0.83
computeDeltas 1400000 validators 300 proto nodes 12.156 ms/op 16.928 ms/op 0.72
computeDeltas 1400000 validators 1200 proto nodes 12.653 ms/op 15.574 ms/op 0.81
computeDeltas 1400000 validators 7200 proto nodes 12.724 ms/op 13.761 ms/op 0.92
computeDeltas 2100000 validators 300 proto nodes 20.124 ms/op 19.921 ms/op 1.01
computeDeltas 2100000 validators 1200 proto nodes 19.118 ms/op 18.789 ms/op 1.02
computeDeltas 2100000 validators 7200 proto nodes 19.094 ms/op 18.332 ms/op 1.04
altair processAttestation - 250000 vs - 7PWei normalcase 2.8643 ms/op 2.4161 ms/op 1.19
altair processAttestation - 250000 vs - 7PWei worstcase 4.2230 ms/op 3.4361 ms/op 1.23
altair processAttestation - setStatus - 1/6 committees join 155.30 us/op 142.57 us/op 1.09
altair processAttestation - setStatus - 1/3 committees join 296.14 us/op 259.32 us/op 1.14
altair processAttestation - setStatus - 1/2 committees join 387.22 us/op 361.75 us/op 1.07
altair processAttestation - setStatus - 2/3 committees join 501.73 us/op 445.69 us/op 1.13
altair processAttestation - setStatus - 4/5 committees join 670.94 us/op 621.44 us/op 1.08
altair processAttestation - setStatus - 100% committees join 797.87 us/op 740.66 us/op 1.08
altair processBlock - 250000 vs - 7PWei normalcase 6.7257 ms/op 5.3065 ms/op 1.27
altair processBlock - 250000 vs - 7PWei normalcase hashState 37.683 ms/op 36.237 ms/op 1.04
altair processBlock - 250000 vs - 7PWei worstcase 44.546 ms/op 40.778 ms/op 1.09
altair processBlock - 250000 vs - 7PWei worstcase hashState 93.644 ms/op 91.388 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei normalcase 2.9003 ms/op 2.3451 ms/op 1.24
phase0 processBlock - 250000 vs - 7PWei worstcase 30.641 ms/op 24.627 ms/op 1.24
altair processEth1Data - 250000 vs - 7PWei normalcase 604.91 us/op 507.28 us/op 1.19
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.2680 us/op 8.2910 us/op 0.88
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 52.891 us/op 43.909 us/op 1.20
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 13.068 us/op 13.012 us/op 1.00
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.0210 us/op 7.3390 us/op 0.96
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 151.12 us/op 163.46 us/op 0.92
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3347 ms/op 1.2809 ms/op 1.04
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7070 ms/op 1.5727 ms/op 1.09
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6126 ms/op 1.4308 ms/op 1.13
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.8960 ms/op 4.6985 ms/op 0.83
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.7564 ms/op 1.6527 ms/op 1.06
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.6292 ms/op 5.4344 ms/op 0.85
Tree 40 250000 create 592.78 ms/op 585.44 ms/op 1.01
Tree 40 250000 get(125000) 155.70 ns/op 159.38 ns/op 0.98
Tree 40 250000 set(125000) 1.6663 us/op 2.2562 us/op 0.74
Tree 40 250000 toArray() 26.704 ms/op 22.141 ms/op 1.21
Tree 40 250000 iterate all - toArray() + loop 24.369 ms/op 22.036 ms/op 1.11
Tree 40 250000 iterate all - get(i) 56.914 ms/op 60.566 ms/op 0.94
Array 250000 create 3.5644 ms/op 4.0291 ms/op 0.88
Array 250000 clone - spread 1.4382 ms/op 1.6538 ms/op 0.87
Array 250000 get(125000) 0.44100 ns/op 0.46200 ns/op 0.95
Array 250000 set(125000) 0.45700 ns/op 0.48300 ns/op 0.95
Array 250000 iterate all - loop 90.067 us/op 112.27 us/op 0.80
phase0 afterProcessEpoch - 250000 vs - 7PWei 54.536 ms/op 56.683 ms/op 0.96
Array.fill - length 1000000 3.8734 ms/op 5.8131 ms/op 0.67
Array push - length 1000000 20.484 ms/op 22.529 ms/op 0.91
Array.get 0.28691 ns/op 0.31040 ns/op 0.92
Uint8Array.get 0.45222 ns/op 0.47925 ns/op 0.94
phase0 beforeProcessEpoch - 250000 vs - 7PWei 21.448 ms/op 21.027 ms/op 1.02
altair processEpoch - mainnet_e81889 305.92 ms/op 309.85 ms/op 0.99
mainnet_e81889 - altair beforeProcessEpoch 19.743 ms/op 21.734 ms/op 0.91
mainnet_e81889 - altair processJustificationAndFinalization 17.113 us/op 18.150 us/op 0.94
mainnet_e81889 - altair processInactivityUpdates 5.5185 ms/op 7.9092 ms/op 0.70
mainnet_e81889 - altair processRewardsAndPenalties 53.646 ms/op 49.846 ms/op 1.08
mainnet_e81889 - altair processRegistryUpdates 2.8900 us/op 3.8960 us/op 0.74
mainnet_e81889 - altair processSlashings 467.00 ns/op 1.4220 us/op 0.33
mainnet_e81889 - altair processEth1DataReset 554.00 ns/op 1.0860 us/op 0.51
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.7971 ms/op 1.8229 ms/op 0.99
mainnet_e81889 - altair processSlashingsReset 4.2140 us/op 5.6240 us/op 0.75
mainnet_e81889 - altair processRandaoMixesReset 4.6120 us/op 6.8040 us/op 0.68
mainnet_e81889 - altair processHistoricalRootsUpdate 1.4240 us/op 1.1150 us/op 1.28
mainnet_e81889 - altair processParticipationFlagUpdates 2.6200 us/op 4.4640 us/op 0.59
mainnet_e81889 - altair processSyncCommitteeUpdates 734.00 ns/op 987.00 ns/op 0.74
mainnet_e81889 - altair afterProcessEpoch 52.783 ms/op 55.549 ms/op 0.95
capella processEpoch - mainnet_e217614 1.0967 s/op 1.1807 s/op 0.93
mainnet_e217614 - capella beforeProcessEpoch 75.767 ms/op 80.715 ms/op 0.94
mainnet_e217614 - capella processJustificationAndFinalization 12.378 us/op 22.912 us/op 0.54
mainnet_e217614 - capella processInactivityUpdates 15.034 ms/op 19.933 ms/op 0.75
mainnet_e217614 - capella processRewardsAndPenalties 249.36 ms/op 262.15 ms/op 0.95
mainnet_e217614 - capella processRegistryUpdates 12.087 us/op 23.747 us/op 0.51
mainnet_e217614 - capella processSlashings 543.00 ns/op 718.00 ns/op 0.76
mainnet_e217614 - capella processEth1DataReset 447.00 ns/op 1.1450 us/op 0.39
mainnet_e217614 - capella processEffectiveBalanceUpdates 11.390 ms/op 13.767 ms/op 0.83
mainnet_e217614 - capella processSlashingsReset 3.1690 us/op 5.4770 us/op 0.58
mainnet_e217614 - capella processRandaoMixesReset 5.4760 us/op 6.7290 us/op 0.81
mainnet_e217614 - capella processHistoricalRootsUpdate 582.00 ns/op 752.00 ns/op 0.77
mainnet_e217614 - capella processParticipationFlagUpdates 4.0370 us/op 3.2480 us/op 1.24
mainnet_e217614 - capella afterProcessEpoch 127.42 ms/op 136.14 ms/op 0.94
phase0 processEpoch - mainnet_e58758 350.40 ms/op 428.21 ms/op 0.82
mainnet_e58758 - phase0 beforeProcessEpoch 81.245 ms/op 116.99 ms/op 0.69
mainnet_e58758 - phase0 processJustificationAndFinalization 18.660 us/op 23.175 us/op 0.81
mainnet_e58758 - phase0 processRewardsAndPenalties 32.678 ms/op 25.733 ms/op 1.27
mainnet_e58758 - phase0 processRegistryUpdates 8.5090 us/op 10.560 us/op 0.81
mainnet_e58758 - phase0 processSlashings 914.00 ns/op 1.4140 us/op 0.65
mainnet_e58758 - phase0 processEth1DataReset 507.00 ns/op 933.00 ns/op 0.54
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3794 ms/op 1.8520 ms/op 0.74
mainnet_e58758 - phase0 processSlashingsReset 4.2670 us/op 3.8080 us/op 1.12
mainnet_e58758 - phase0 processRandaoMixesReset 4.2150 us/op 5.1610 us/op 0.82
mainnet_e58758 - phase0 processHistoricalRootsUpdate 464.00 ns/op 434.00 ns/op 1.07
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.7360 us/op 3.9870 us/op 0.94
mainnet_e58758 - phase0 afterProcessEpoch 45.990 ms/op 43.585 ms/op 1.06
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.6253 ms/op 1.3698 ms/op 1.19
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9352 ms/op 1.9092 ms/op 1.01
altair processInactivityUpdates - 250000 normalcase 18.352 ms/op 17.380 ms/op 1.06
altair processInactivityUpdates - 250000 worstcase 20.632 ms/op 16.092 ms/op 1.28
phase0 processRegistryUpdates - 250000 normalcase 8.9740 us/op 6.0460 us/op 1.48
phase0 processRegistryUpdates - 250000 badcase_full_deposits 335.19 us/op 269.50 us/op 1.24
phase0 processRegistryUpdates - 250000 worstcase 0.5 122.77 ms/op 111.49 ms/op 1.10
altair processRewardsAndPenalties - 250000 normalcase 52.342 ms/op 40.447 ms/op 1.29
altair processRewardsAndPenalties - 250000 worstcase 40.848 ms/op 50.078 ms/op 0.82
phase0 getAttestationDeltas - 250000 normalcase 7.1280 ms/op 10.354 ms/op 0.69
phase0 getAttestationDeltas - 250000 worstcase 6.8958 ms/op 7.8903 ms/op 0.87
phase0 processSlashings - 250000 worstcase 105.94 us/op 111.67 us/op 0.95
altair processSyncCommitteeUpdates - 250000 130.09 ms/op 149.06 ms/op 0.87
BeaconState.hashTreeRoot - No change 282.00 ns/op 277.00 ns/op 1.02
BeaconState.hashTreeRoot - 1 full validator 115.20 us/op 108.25 us/op 1.06
BeaconState.hashTreeRoot - 32 full validator 993.07 us/op 994.77 us/op 1.00
BeaconState.hashTreeRoot - 512 full validator 10.048 ms/op 9.7139 ms/op 1.03
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 126.60 us/op 113.65 us/op 1.11
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.9429 ms/op 1.8132 ms/op 1.07
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 21.442 ms/op 23.172 ms/op 0.93
BeaconState.hashTreeRoot - 1 balances 94.217 us/op 114.49 us/op 0.82
BeaconState.hashTreeRoot - 32 balances 899.80 us/op 1.2074 ms/op 0.75
BeaconState.hashTreeRoot - 512 balances 7.4501 ms/op 9.9898 ms/op 0.75
BeaconState.hashTreeRoot - 250000 balances 191.19 ms/op 197.45 ms/op 0.97
aggregationBits - 2048 els - zipIndexesInBitList 25.355 us/op 28.033 us/op 0.90
byteArrayEquals 32 55.557 ns/op 55.447 ns/op 1.00
Buffer.compare 32 17.949 ns/op 17.943 ns/op 1.00
byteArrayEquals 1024 1.6391 us/op 1.6903 us/op 0.97
Buffer.compare 1024 26.885 ns/op 27.725 ns/op 0.97
byteArrayEquals 16384 26.779 us/op 26.256 us/op 1.02
Buffer.compare 16384 216.77 ns/op 217.54 ns/op 1.00
byteArrayEquals 123687377 198.54 ms/op 199.84 ms/op 0.99
Buffer.compare 123687377 7.4263 ms/op 8.5535 ms/op 0.87
byteArrayEquals 32 - diff last byte 53.625 ns/op 56.656 ns/op 0.95
Buffer.compare 32 - diff last byte 17.496 ns/op 19.774 ns/op 0.88
byteArrayEquals 1024 - diff last byte 1.6255 us/op 1.7454 us/op 0.93
Buffer.compare 1024 - diff last byte 26.651 ns/op 28.582 ns/op 0.93
byteArrayEquals 16384 - diff last byte 25.622 us/op 27.316 us/op 0.94
Buffer.compare 16384 - diff last byte 187.23 ns/op 221.90 ns/op 0.84
byteArrayEquals 123687377 - diff last byte 200.15 ms/op 200.93 ms/op 1.00
Buffer.compare 123687377 - diff last byte 8.2430 ms/op 9.9356 ms/op 0.83
byteArrayEquals 32 - random bytes 5.4960 ns/op 5.4880 ns/op 1.00
Buffer.compare 32 - random bytes 18.611 ns/op 18.411 ns/op 1.01
byteArrayEquals 1024 - random bytes 5.5220 ns/op 5.5000 ns/op 1.00
Buffer.compare 1024 - random bytes 18.837 ns/op 18.448 ns/op 1.02
byteArrayEquals 16384 - random bytes 5.4440 ns/op 5.9840 ns/op 0.91
Buffer.compare 16384 - random bytes 18.657 ns/op 18.678 ns/op 1.00
byteArrayEquals 123687377 - random bytes 6.8200 ns/op 6.8900 ns/op 0.99
Buffer.compare 123687377 - random bytes 20.730 ns/op 20.240 ns/op 1.02
regular array get 100000 times 35.051 us/op 43.169 us/op 0.81
wrappedArray get 100000 times 34.719 us/op 33.804 us/op 1.03
arrayWithProxy get 100000 times 13.430 ms/op 13.639 ms/op 0.98
ssz.Root.equals 48.404 ns/op 50.234 ns/op 0.96
byteArrayEquals 47.713 ns/op 47.882 ns/op 1.00
Buffer.compare 11.262 ns/op 11.138 ns/op 1.01
processSlot - 1 slots 16.860 us/op 14.874 us/op 1.13
processSlot - 32 slots 3.6719 ms/op 3.5243 ms/op 1.04
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 54.026 ms/op 35.587 ms/op 1.52
getCommitteeAssignments - req 1 vs - 250000 vc 2.4732 ms/op 2.1905 ms/op 1.13
getCommitteeAssignments - req 100 vs - 250000 vc 4.9599 ms/op 4.2854 ms/op 1.16
getCommitteeAssignments - req 1000 vs - 250000 vc 5.8876 ms/op 4.5923 ms/op 1.28
findModifiedValidators - 10000 modified validators 564.55 ms/op 254.90 ms/op 2.21
findModifiedValidators - 1000 modified validators 654.03 ms/op 191.73 ms/op 3.41
findModifiedValidators - 100 modified validators 340.68 ms/op 187.37 ms/op 1.82
findModifiedValidators - 10 modified validators 348.77 ms/op 204.15 ms/op 1.71
findModifiedValidators - 1 modified validators 384.58 ms/op 187.71 ms/op 2.05
findModifiedValidators - no difference 337.09 ms/op 184.29 ms/op 1.83
compare ViewDUs 5.0603 s/op 2.9551 s/op 1.71
compare each validator Uint8Array 1.4885 s/op 1.6434 s/op 0.91
compare ViewDU to Uint8Array 1.1404 s/op 900.78 ms/op 1.27
migrate state 1000000 validators, 24 modified, 0 new 856.79 ms/op 724.38 ms/op 1.18
migrate state 1000000 validators, 1700 modified, 1000 new 983.81 ms/op 963.19 ms/op 1.02
migrate state 1000000 validators, 3400 modified, 2000 new 1.1974 s/op 1.1275 s/op 1.06
migrate state 1500000 validators, 24 modified, 0 new 831.51 ms/op 721.72 ms/op 1.15
migrate state 1500000 validators, 1700 modified, 1000 new 1.0025 s/op 1.0822 s/op 0.93
migrate state 1500000 validators, 3400 modified, 2000 new 1.3159 s/op 1.4231 s/op 0.92
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.3400 ns/op 4.7000 ns/op 1.14
state getBlockRootAtSlot - 250000 vs - 7PWei 747.25 ns/op 599.66 ns/op 1.25
computeProposers - vc 250000 8.4464 ms/op 7.1734 ms/op 1.18
computeEpochShuffling - vc 250000 44.887 ms/op 44.213 ms/op 1.02
getNextSyncCommittee - vc 250000 160.01 ms/op 125.83 ms/op 1.27
computeSigningRoot for AttestationData 24.375 us/op 29.998 us/op 0.81
hash AttestationData serialized data then Buffer.toString(base64) 1.7335 us/op 1.8338 us/op 0.95
toHexString serialized data 1.0632 us/op 1.2935 us/op 0.82
Buffer.toString(base64) 218.36 ns/op 238.81 ns/op 0.91
nodejs block root to RootHex using toHex 164.96 ns/op 169.83 ns/op 0.97
nodejs block root to RootHex using toRootHex 97.020 ns/op 99.878 ns/op 0.97
browser block root to RootHex using the deprecated toHexString 248.15 ns/op 271.74 ns/op 0.91
browser block root to RootHex using toHex 193.38 ns/op 207.56 ns/op 0.93
browser block root to RootHex using toRootHex 185.75 ns/op 179.75 ns/op 1.03

Please sign in to comment.