Skip to content

Commit

Permalink
chore: revert skipping one benchmark (#7415)
Browse files Browse the repository at this point in the history
**Motivation**

Revert changes to the benchmark, so all tests are included. 

**Description**

- Revert changes to the benchmark skip

**Steps to test or reproduce**

- Run all tests

Closes #7380
  • Loading branch information
nazarhussain authored Jan 31, 2025
1 parent 80b3963 commit 7982031
Showing 1 changed file with 1 addition and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,7 @@ describe("find modified validators by different ways", () => {
? "no difference"
: expectedModifiedValidators.length + " modified validators";

// TODO: Diagnose why this benchmark failing after upgrade
// https://github.com/ChainSafe/lodestar/issues/7380
bench.skip({
bench({
id: `${prefix} - ${testCaseName}`,
beforeEach: () => {
const clonedState = state.clone();
Expand Down

1 comment on commit 7982031

@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: 7982031 Previous: c43b070 Ratio
phase0 getAttestationDeltas - 250000 normalcase 18.005 ms/op 4.9848 ms/op 3.61
Full benchmark results
Benchmark suite Current: 7982031 Previous: c43b070 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 795.93 us/op 749.50 us/op 1.06
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 30.864 us/op 29.973 us/op 1.03
BLS verify - blst 881.25 us/op 892.07 us/op 0.99
BLS verifyMultipleSignatures 3 - blst 1.1959 ms/op 1.3042 ms/op 0.92
BLS verifyMultipleSignatures 8 - blst 2.0342 ms/op 2.0867 ms/op 0.97
BLS verifyMultipleSignatures 32 - blst 4.3855 ms/op 4.5189 ms/op 0.97
BLS verifyMultipleSignatures 64 - blst 10.153 ms/op 8.4002 ms/op 1.21
BLS verifyMultipleSignatures 128 - blst 16.003 ms/op 16.010 ms/op 1.00
BLS deserializing 10000 signatures 639.75 ms/op 594.65 ms/op 1.08
BLS deserializing 100000 signatures 6.3466 s/op 6.0440 s/op 1.05
BLS verifyMultipleSignatures - same message - 3 - blst 912.50 us/op 945.02 us/op 0.97
BLS verifyMultipleSignatures - same message - 8 - blst 1.0615 ms/op 1.0763 ms/op 0.99
BLS verifyMultipleSignatures - same message - 32 - blst 1.6351 ms/op 1.6872 ms/op 0.97
BLS verifyMultipleSignatures - same message - 64 - blst 2.5388 ms/op 2.5078 ms/op 1.01
BLS verifyMultipleSignatures - same message - 128 - blst 4.1676 ms/op 4.0633 ms/op 1.03
BLS aggregatePubkeys 32 - blst 17.680 us/op 17.367 us/op 1.02
BLS aggregatePubkeys 128 - blst 62.511 us/op 61.145 us/op 1.02
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 45.499 ms/op 39.819 ms/op 1.14
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 39.918 ms/op 46.088 ms/op 0.87
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 32.529 ms/op 34.808 ms/op 0.93
getSlashingsAndExits - default max 55.968 us/op 58.912 us/op 0.95
getSlashingsAndExits - 2k 315.80 us/op 203.28 us/op 1.55
proposeBlockBody type=full, size=empty 5.1521 ms/op 4.6684 ms/op 1.10
isKnown best case - 1 super set check 398.00 ns/op 387.00 ns/op 1.03
isKnown normal case - 2 super set checks 394.00 ns/op 386.00 ns/op 1.02
isKnown worse case - 16 super set checks 391.00 ns/op 387.00 ns/op 1.01
InMemoryCheckpointStateCache - add get delete 2.3930 us/op 2.4130 us/op 0.99
validate api signedAggregateAndProof - struct 1.5242 ms/op 1.9270 ms/op 0.79
validate gossip signedAggregateAndProof - struct 1.5156 ms/op 1.9389 ms/op 0.78
batch validate gossip attestation - vc 640000 - chunk 32 113.21 us/op 111.36 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 64 95.986 us/op 94.188 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 128 87.560 us/op 87.395 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 256 90.840 us/op 90.324 us/op 1.01
pickEth1Vote - no votes 776.47 us/op 723.65 us/op 1.07
pickEth1Vote - max votes 7.5267 ms/op 7.0104 ms/op 1.07
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.267 ms/op 14.933 ms/op 0.82
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.768 ms/op 20.980 ms/op 1.04
pickEth1Vote - Eth1Data fastSerialize value x2048 336.32 us/op 366.01 us/op 0.92
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.1583 ms/op 4.2346 ms/op 0.75
bytes32 toHexString 653.00 ns/op 539.00 ns/op 1.21
bytes32 Buffer.toString(hex) 437.00 ns/op 421.00 ns/op 1.04
bytes32 Buffer.toString(hex) from Uint8Array 477.00 ns/op 494.00 ns/op 0.97
bytes32 Buffer.toString(hex) + 0x 404.00 ns/op 411.00 ns/op 0.98
Object access 1 prop 0.29400 ns/op 0.30500 ns/op 0.96
Map access 1 prop 0.30400 ns/op 0.31600 ns/op 0.96
Object get x1000 4.9490 ns/op 5.3690 ns/op 0.92
Map get x1000 5.5320 ns/op 5.9770 ns/op 0.93
Object set x1000 20.201 ns/op 18.979 ns/op 1.06
Map set x1000 16.763 ns/op 16.598 ns/op 1.01
Return object 10000 times 0.29590 ns/op 0.29490 ns/op 1.00
Throw Error 10000 times 3.6588 us/op 3.5006 us/op 1.05
toHex 102.13 ns/op 94.292 ns/op 1.08
Buffer.from 89.946 ns/op 88.918 ns/op 1.01
shared Buffer 60.720 ns/op 58.675 ns/op 1.03
fastMsgIdFn sha256 / 200 bytes 1.8740 us/op 1.8170 us/op 1.03
fastMsgIdFn h32 xxhash / 200 bytes 371.00 ns/op 374.00 ns/op 0.99
fastMsgIdFn h64 xxhash / 200 bytes 419.00 ns/op 440.00 ns/op 0.95
fastMsgIdFn sha256 / 1000 bytes 5.5950 us/op 5.8450 us/op 0.96
fastMsgIdFn h32 xxhash / 1000 bytes 487.00 ns/op 508.00 ns/op 0.96
fastMsgIdFn h64 xxhash / 1000 bytes 483.00 ns/op 514.00 ns/op 0.94
fastMsgIdFn sha256 / 10000 bytes 47.157 us/op 50.844 us/op 0.93
fastMsgIdFn h32 xxhash / 10000 bytes 1.7890 us/op 1.8840 us/op 0.95
fastMsgIdFn h64 xxhash / 10000 bytes 1.2490 us/op 1.3230 us/op 0.94
send data - 1000 256B messages 11.600 ms/op 9.7099 ms/op 1.19
send data - 1000 512B messages 15.825 ms/op 13.502 ms/op 1.17
send data - 1000 1024B messages 26.275 ms/op 19.898 ms/op 1.32
send data - 1000 1200B messages 21.962 ms/op 14.960 ms/op 1.47
send data - 1000 2048B messages 23.492 ms/op 14.644 ms/op 1.60
send data - 1000 4096B messages 26.181 ms/op 17.713 ms/op 1.48
send data - 1000 16384B messages 50.114 ms/op 44.959 ms/op 1.11
send data - 1000 65536B messages 283.89 ms/op 241.76 ms/op 1.17
enrSubnets - fastDeserialize 64 bits 976.00 ns/op 1.8000 us/op 0.54
enrSubnets - ssz BitVector 64 bits 513.00 ns/op 496.00 ns/op 1.03
enrSubnets - fastDeserialize 4 bits 335.00 ns/op 322.00 ns/op 1.04
enrSubnets - ssz BitVector 4 bits 601.00 ns/op 500.00 ns/op 1.20
prioritizePeers score -10:0 att 32-0.1 sync 2-0 102.79 us/op 100.09 us/op 1.03
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 127.45 us/op 115.71 us/op 1.10
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 212.55 us/op 169.78 us/op 1.25
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 327.09 us/op 311.84 us/op 1.05
prioritizePeers score 0:0 att 64-1 sync 4-1 394.73 us/op 366.01 us/op 1.08
array of 16000 items push then shift 1.2303 us/op 1.1878 us/op 1.04
LinkedList of 16000 items push then shift 7.4120 ns/op 7.0030 ns/op 1.06
array of 16000 items push then pop 67.187 ns/op 62.282 ns/op 1.08
LinkedList of 16000 items push then pop 6.2000 ns/op 5.9780 ns/op 1.04
array of 24000 items push then shift 1.8479 us/op 1.7413 us/op 1.06
LinkedList of 24000 items push then shift 7.1250 ns/op 6.4170 ns/op 1.11
array of 24000 items push then pop 99.835 ns/op 85.181 ns/op 1.17
LinkedList of 24000 items push then pop 6.3650 ns/op 6.0270 ns/op 1.06
intersect bitArray bitLen 8 11.419 ns/op 5.3950 ns/op 2.12
intersect array and set length 8 65.433 ns/op 33.345 ns/op 1.96
intersect bitArray bitLen 128 26.755 ns/op 26.486 ns/op 1.01
intersect array and set length 128 540.39 ns/op 553.74 ns/op 0.98
bitArray.getTrueBitIndexes() bitLen 128 1.2120 us/op 1.1190 us/op 1.08
bitArray.getTrueBitIndexes() bitLen 248 1.9870 us/op 1.7860 us/op 1.11
bitArray.getTrueBitIndexes() bitLen 512 3.8630 us/op 3.2820 us/op 1.18
Buffer.concat 32 items 841.00 ns/op 791.00 ns/op 1.06
Uint8Array.set 32 items 1.5380 us/op 1.2430 us/op 1.24
Buffer.copy 2.4300 us/op 2.1220 us/op 1.15
Uint8Array.set - with subarray 2.4060 us/op 1.6990 us/op 1.42
Uint8Array.set - without subarray 1.4350 us/op 1.0780 us/op 1.33
getUint32 - dataview 376.00 ns/op 367.00 ns/op 1.02
getUint32 - manual 306.00 ns/op 300.00 ns/op 1.02
Set add up to 64 items then delete first 2.3614 us/op 1.6558 us/op 1.43
OrderedSet add up to 64 items then delete first 3.8436 us/op 2.5669 us/op 1.50
Set add up to 64 items then delete last 2.3513 us/op 1.8872 us/op 1.25
OrderedSet add up to 64 items then delete last 4.2802 us/op 2.8443 us/op 1.50
Set add up to 64 items then delete middle 2.6458 us/op 1.8866 us/op 1.40
OrderedSet add up to 64 items then delete middle 5.7143 us/op 4.3067 us/op 1.33
Set add up to 128 items then delete first 5.1558 us/op 3.7423 us/op 1.38
OrderedSet add up to 128 items then delete first 8.6711 us/op 5.9197 us/op 1.46
Set add up to 128 items then delete last 4.9183 us/op 3.5889 us/op 1.37
OrderedSet add up to 128 items then delete last 8.1924 us/op 5.5388 us/op 1.48
Set add up to 128 items then delete middle 4.9898 us/op 3.5991 us/op 1.39
OrderedSet add up to 128 items then delete middle 14.153 us/op 11.274 us/op 1.26
Set add up to 256 items then delete first 10.678 us/op 7.3338 us/op 1.46
OrderedSet add up to 256 items then delete first 17.273 us/op 11.796 us/op 1.46
Set add up to 256 items then delete last 9.9844 us/op 7.1036 us/op 1.41
OrderedSet add up to 256 items then delete last 16.152 us/op 11.197 us/op 1.44
Set add up to 256 items then delete middle 9.9895 us/op 7.1072 us/op 1.41
OrderedSet add up to 256 items then delete middle 41.454 us/op 32.927 us/op 1.26
transfer serialized Status (84 B) 2.5050 us/op 2.0460 us/op 1.22
copy serialized Status (84 B) 1.9220 us/op 1.3050 us/op 1.47
transfer serialized SignedVoluntaryExit (112 B) 2.6210 us/op 1.9900 us/op 1.32
copy serialized SignedVoluntaryExit (112 B) 1.9170 us/op 1.2290 us/op 1.56
transfer serialized ProposerSlashing (416 B) 2.8730 us/op 2.1210 us/op 1.35
copy serialized ProposerSlashing (416 B) 2.0790 us/op 1.6750 us/op 1.24
transfer serialized Attestation (485 B) 3.0570 us/op 2.1340 us/op 1.43
copy serialized Attestation (485 B) 2.0610 us/op 1.3830 us/op 1.49
transfer serialized AttesterSlashing (33232 B) 3.2310 us/op 3.0010 us/op 1.08
copy serialized AttesterSlashing (33232 B) 5.1610 us/op 4.1940 us/op 1.23
transfer serialized Small SignedBeaconBlock (128000 B) 3.3670 us/op 2.9180 us/op 1.15
copy serialized Small SignedBeaconBlock (128000 B) 13.121 us/op 8.9880 us/op 1.46
transfer serialized Avg SignedBeaconBlock (200000 B) 3.5930 us/op 2.9290 us/op 1.23
copy serialized Avg SignedBeaconBlock (200000 B) 20.446 us/op 12.681 us/op 1.61
transfer serialized BlobsSidecar (524380 B) 6.2570 us/op 3.3090 us/op 1.89
copy serialized BlobsSidecar (524380 B) 87.037 us/op 54.829 us/op 1.59
transfer serialized Big SignedBeaconBlock (1000000 B) 5.0960 us/op 3.6640 us/op 1.39
copy serialized Big SignedBeaconBlock (1000000 B) 118.47 us/op 167.50 us/op 0.71
pass gossip attestations to forkchoice per slot 2.4126 ms/op 2.3013 ms/op 1.05
forkChoice updateHead vc 100000 bc 64 eq 0 357.04 us/op 347.98 us/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 0 2.3709 ms/op 2.1672 ms/op 1.09
forkChoice updateHead vc 1000000 bc 64 eq 0 4.1560 ms/op 3.7719 ms/op 1.10
forkChoice updateHead vc 600000 bc 320 eq 0 2.4172 ms/op 2.1259 ms/op 1.14
forkChoice updateHead vc 600000 bc 1200 eq 0 2.4210 ms/op 2.1320 ms/op 1.14
forkChoice updateHead vc 600000 bc 7200 eq 0 2.9020 ms/op 2.4135 ms/op 1.20
forkChoice updateHead vc 600000 bc 64 eq 1000 9.2432 ms/op 9.1754 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 10000 9.1213 ms/op 9.0711 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 300000 12.069 ms/op 10.936 ms/op 1.10
computeDeltas 500000 validators 300 proto nodes 3.2642 ms/op 3.1029 ms/op 1.05
computeDeltas 500000 validators 1200 proto nodes 3.1869 ms/op 3.1632 ms/op 1.01
computeDeltas 500000 validators 7200 proto nodes 3.0804 ms/op 3.2355 ms/op 0.95
computeDeltas 750000 validators 300 proto nodes 5.0519 ms/op 4.8869 ms/op 1.03
computeDeltas 750000 validators 1200 proto nodes 4.9986 ms/op 4.5519 ms/op 1.10
computeDeltas 750000 validators 7200 proto nodes 4.8697 ms/op 4.6906 ms/op 1.04
computeDeltas 1400000 validators 300 proto nodes 9.2848 ms/op 8.7767 ms/op 1.06
computeDeltas 1400000 validators 1200 proto nodes 9.6495 ms/op 8.7171 ms/op 1.11
computeDeltas 1400000 validators 7200 proto nodes 9.5530 ms/op 8.6016 ms/op 1.11
computeDeltas 2100000 validators 300 proto nodes 14.150 ms/op 12.655 ms/op 1.12
computeDeltas 2100000 validators 1200 proto nodes 13.497 ms/op 12.797 ms/op 1.05
computeDeltas 2100000 validators 7200 proto nodes 13.777 ms/op 12.841 ms/op 1.07
altair processAttestation - 250000 vs - 7PWei normalcase 1.8420 ms/op 1.6911 ms/op 1.09
altair processAttestation - 250000 vs - 7PWei worstcase 3.4327 ms/op 2.5342 ms/op 1.35
altair processAttestation - setStatus - 1/6 committees join 115.12 us/op 93.804 us/op 1.23
altair processAttestation - setStatus - 1/3 committees join 195.25 us/op 187.46 us/op 1.04
altair processAttestation - setStatus - 1/2 committees join 301.77 us/op 278.95 us/op 1.08
altair processAttestation - setStatus - 2/3 committees join 376.10 us/op 341.71 us/op 1.10
altair processAttestation - setStatus - 4/5 committees join 524.77 us/op 510.93 us/op 1.03
altair processAttestation - setStatus - 100% committees join 620.24 us/op 599.04 us/op 1.04
altair processBlock - 250000 vs - 7PWei normalcase 4.8052 ms/op 3.8238 ms/op 1.26
altair processBlock - 250000 vs - 7PWei normalcase hashState 36.296 ms/op 33.493 ms/op 1.08
altair processBlock - 250000 vs - 7PWei worstcase 44.104 ms/op 40.801 ms/op 1.08
altair processBlock - 250000 vs - 7PWei worstcase hashState 91.117 ms/op 86.163 ms/op 1.06
phase0 processBlock - 250000 vs - 7PWei normalcase 1.7090 ms/op 1.9932 ms/op 0.86
phase0 processBlock - 250000 vs - 7PWei worstcase 26.796 ms/op 25.865 ms/op 1.04
altair processEth1Data - 250000 vs - 7PWei normalcase 263.65 us/op 257.31 us/op 1.02
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 6.0110 us/op 5.0580 us/op 1.19
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 29.064 us/op 24.138 us/op 1.20
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 8.1400 us/op 7.4970 us/op 1.09
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.3050 us/op 7.3410 us/op 0.86
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 120.30 us/op 106.06 us/op 1.13
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 784.49 us/op 1.1193 ms/op 0.70
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.0893 ms/op 986.18 us/op 1.10
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6109 ms/op 1.0155 ms/op 1.59
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.3642 ms/op 2.4592 ms/op 1.37
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.0941 ms/op 999.14 us/op 1.10
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.6101 ms/op 2.5734 ms/op 1.40
Tree 40 250000 create 622.31 ms/op 371.24 ms/op 1.68
Tree 40 250000 get(125000) 109.89 ns/op 118.38 ns/op 0.93
Tree 40 250000 set(125000) 2.2597 us/op 1.2886 us/op 1.75
Tree 40 250000 toArray() 22.825 ms/op 9.9550 ms/op 2.29
Tree 40 250000 iterate all - toArray() + loop 21.115 ms/op 10.022 ms/op 2.11
Tree 40 250000 iterate all - get(i) 53.794 ms/op 38.922 ms/op 1.38
Array 250000 create 3.7523 ms/op 2.3702 ms/op 1.58
Array 250000 clone - spread 682.13 us/op 649.32 us/op 1.05
Array 250000 get(125000) 0.57800 ns/op 0.57700 ns/op 1.00
Array 250000 set(125000) 0.58700 ns/op 0.58400 ns/op 1.01
Array 250000 iterate all - loop 83.449 us/op 76.877 us/op 1.09
phase0 afterProcessEpoch - 250000 vs - 7PWei 40.582 ms/op 40.374 ms/op 1.01
Array.fill - length 1000000 4.6708 ms/op 2.3988 ms/op 1.95
Array push - length 1000000 10.332 ms/op 11.285 ms/op 0.92
Array.get 0.26558 ns/op 0.26129 ns/op 1.02
Uint8Array.get 0.34943 ns/op 0.34540 ns/op 1.01
phase0 beforeProcessEpoch - 250000 vs - 7PWei 18.447 ms/op 12.893 ms/op 1.43
altair processEpoch - mainnet_e81889 301.58 ms/op 273.18 ms/op 1.10
mainnet_e81889 - altair beforeProcessEpoch 18.430 ms/op 16.191 ms/op 1.14
mainnet_e81889 - altair processJustificationAndFinalization 5.3680 us/op 4.5950 us/op 1.17
mainnet_e81889 - altair processInactivityUpdates 3.4914 ms/op 3.3280 ms/op 1.05
mainnet_e81889 - altair processRewardsAndPenalties 49.965 ms/op 48.600 ms/op 1.03
mainnet_e81889 - altair processRegistryUpdates 903.00 ns/op 816.00 ns/op 1.11
mainnet_e81889 - altair processSlashings 412.00 ns/op 399.00 ns/op 1.03
mainnet_e81889 - altair processEth1DataReset 403.00 ns/op 396.00 ns/op 1.02
mainnet_e81889 - altair processEffectiveBalanceUpdates 959.60 us/op 941.91 us/op 1.02
mainnet_e81889 - altair processSlashingsReset 1.0910 us/op 1.0960 us/op 1.00
mainnet_e81889 - altair processRandaoMixesReset 1.3030 us/op 1.5170 us/op 0.86
mainnet_e81889 - altair processHistoricalRootsUpdate 396.00 ns/op 412.00 ns/op 0.96
mainnet_e81889 - altair processParticipationFlagUpdates 735.00 ns/op 847.00 ns/op 0.87
mainnet_e81889 - altair processSyncCommitteeUpdates 361.00 ns/op 365.00 ns/op 0.99
mainnet_e81889 - altair afterProcessEpoch 43.609 ms/op 41.137 ms/op 1.06
capella processEpoch - mainnet_e217614 1.1084 s/op 901.94 ms/op 1.23
mainnet_e217614 - capella beforeProcessEpoch 75.123 ms/op 67.211 ms/op 1.12
mainnet_e217614 - capella processJustificationAndFinalization 5.0060 us/op 5.0100 us/op 1.00
mainnet_e217614 - capella processInactivityUpdates 16.592 ms/op 15.842 ms/op 1.05
mainnet_e217614 - capella processRewardsAndPenalties 198.38 ms/op 183.89 ms/op 1.08
mainnet_e217614 - capella processRegistryUpdates 7.5570 us/op 6.8570 us/op 1.10
mainnet_e217614 - capella processSlashings 502.00 ns/op 459.00 ns/op 1.09
mainnet_e217614 - capella processEth1DataReset 504.00 ns/op 395.00 ns/op 1.28
mainnet_e217614 - capella processEffectiveBalanceUpdates 17.392 ms/op 11.715 ms/op 1.48
mainnet_e217614 - capella processSlashingsReset 1.2380 us/op 1.2090 us/op 1.02
mainnet_e217614 - capella processRandaoMixesReset 1.3980 us/op 1.2620 us/op 1.11
mainnet_e217614 - capella processHistoricalRootsUpdate 481.00 ns/op 397.00 ns/op 1.21
mainnet_e217614 - capella processParticipationFlagUpdates 862.00 ns/op 735.00 ns/op 1.17
mainnet_e217614 - capella afterProcessEpoch 106.92 ms/op 105.42 ms/op 1.01
phase0 processEpoch - mainnet_e58758 365.06 ms/op 300.56 ms/op 1.21
mainnet_e58758 - phase0 beforeProcessEpoch 95.620 ms/op 86.306 ms/op 1.11
mainnet_e58758 - phase0 processJustificationAndFinalization 5.7320 us/op 5.9160 us/op 0.97
mainnet_e58758 - phase0 processRewardsAndPenalties 39.956 ms/op 41.483 ms/op 0.96
mainnet_e58758 - phase0 processRegistryUpdates 2.9520 us/op 2.7940 us/op 1.06
mainnet_e58758 - phase0 processSlashings 447.00 ns/op 405.00 ns/op 1.10
mainnet_e58758 - phase0 processEth1DataReset 489.00 ns/op 401.00 ns/op 1.22
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 870.12 us/op 840.16 us/op 1.04
mainnet_e58758 - phase0 processSlashingsReset 1.3060 us/op 1.1550 us/op 1.13
mainnet_e58758 - phase0 processRandaoMixesReset 1.5800 us/op 1.5880 us/op 0.99
mainnet_e58758 - phase0 processHistoricalRootsUpdate 420.00 ns/op 407.00 ns/op 1.03
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.4810 us/op 1.2960 us/op 1.14
mainnet_e58758 - phase0 afterProcessEpoch 38.447 ms/op 35.591 ms/op 1.08
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0238 ms/op 977.63 us/op 1.05
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5357 ms/op 2.3424 ms/op 0.66
altair processInactivityUpdates - 250000 normalcase 16.810 ms/op 17.057 ms/op 0.99
altair processInactivityUpdates - 250000 worstcase 19.878 ms/op 18.277 ms/op 1.09
phase0 processRegistryUpdates - 250000 normalcase 7.8440 us/op 3.5640 us/op 2.20
phase0 processRegistryUpdates - 250000 badcase_full_deposits 310.63 us/op 309.42 us/op 1.00
phase0 processRegistryUpdates - 250000 worstcase 0.5 97.955 ms/op 106.82 ms/op 0.92
altair processRewardsAndPenalties - 250000 normalcase 42.920 ms/op 32.511 ms/op 1.32
altair processRewardsAndPenalties - 250000 worstcase 33.813 ms/op 51.066 ms/op 0.66
phase0 getAttestationDeltas - 250000 normalcase 18.005 ms/op 4.9848 ms/op 3.61
phase0 getAttestationDeltas - 250000 worstcase 6.6229 ms/op 6.5717 ms/op 1.01
phase0 processSlashings - 250000 worstcase 99.224 us/op 98.931 us/op 1.00
altair processSyncCommitteeUpdates - 250000 99.509 ms/op 112.26 ms/op 0.89
BeaconState.hashTreeRoot - No change 451.00 ns/op 447.00 ns/op 1.01
BeaconState.hashTreeRoot - 1 full validator 66.260 us/op 89.500 us/op 0.74
BeaconState.hashTreeRoot - 32 full validator 899.82 us/op 1.1925 ms/op 0.75
BeaconState.hashTreeRoot - 512 full validator 8.5446 ms/op 12.112 ms/op 0.71
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 91.999 us/op 111.69 us/op 0.82
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3112 ms/op 1.7367 ms/op 0.76
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 19.218 ms/op 28.048 ms/op 0.69
BeaconState.hashTreeRoot - 1 balances 65.318 us/op 72.065 us/op 0.91
BeaconState.hashTreeRoot - 32 balances 576.80 us/op 830.33 us/op 0.69
BeaconState.hashTreeRoot - 512 balances 6.3027 ms/op 9.8756 ms/op 0.64
BeaconState.hashTreeRoot - 250000 balances 137.10 ms/op 171.93 ms/op 0.80
aggregationBits - 2048 els - zipIndexesInBitList 21.433 us/op 18.602 us/op 1.15
byteArrayEquals 32 47.044 ns/op 46.405 ns/op 1.01
Buffer.compare 32 15.744 ns/op 16.501 ns/op 0.95
byteArrayEquals 1024 1.3068 us/op 1.2831 us/op 1.02
Buffer.compare 1024 24.500 ns/op 32.906 ns/op 0.74
byteArrayEquals 16384 20.706 us/op 20.400 us/op 1.02
Buffer.compare 16384 184.35 ns/op 193.53 ns/op 0.95
byteArrayEquals 123687377 155.53 ms/op 150.00 ms/op 1.04
Buffer.compare 123687377 5.2423 ms/op 5.8404 ms/op 0.90
byteArrayEquals 32 - diff last byte 47.886 ns/op 44.958 ns/op 1.07
Buffer.compare 32 - diff last byte 16.894 ns/op 15.206 ns/op 1.11
byteArrayEquals 1024 - diff last byte 1.2732 us/op 1.2269 us/op 1.04
Buffer.compare 1024 - diff last byte 25.136 ns/op 23.352 ns/op 1.08
byteArrayEquals 16384 - diff last byte 21.539 us/op 19.475 us/op 1.11
Buffer.compare 16384 - diff last byte 177.03 ns/op 170.00 ns/op 1.04
byteArrayEquals 123687377 - diff last byte 155.41 ms/op 152.85 ms/op 1.02
Buffer.compare 123687377 - diff last byte 7.0310 ms/op 3.9317 ms/op 1.79
byteArrayEquals 32 - random bytes 5.0300 ns/op 4.9300 ns/op 1.02
Buffer.compare 32 - random bytes 16.035 ns/op 16.923 ns/op 0.95
byteArrayEquals 1024 - random bytes 4.9950 ns/op 4.9250 ns/op 1.01
Buffer.compare 1024 - random bytes 15.721 ns/op 17.037 ns/op 0.92
byteArrayEquals 16384 - random bytes 5.0030 ns/op 4.8750 ns/op 1.03
Buffer.compare 16384 - random bytes 15.833 ns/op 17.061 ns/op 0.93
byteArrayEquals 123687377 - random bytes 7.9400 ns/op 7.8000 ns/op 1.02
Buffer.compare 123687377 - random bytes 18.730 ns/op 19.600 ns/op 0.96
regular array get 100000 times 31.439 us/op 30.739 us/op 1.02
wrappedArray get 100000 times 31.329 us/op 30.610 us/op 1.02
arrayWithProxy get 100000 times 9.3698 ms/op 11.019 ms/op 0.85
ssz.Root.equals 45.128 ns/op 42.515 ns/op 1.06
byteArrayEquals 44.481 ns/op 43.225 ns/op 1.03
Buffer.compare 9.1860 ns/op 10.551 ns/op 0.87
processSlot - 1 slots 11.294 us/op 8.9470 us/op 1.26
processSlot - 32 slots 2.5699 ms/op 2.1582 ms/op 1.19
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 60.160 ms/op 59.684 ms/op 1.01
getCommitteeAssignments - req 1 vs - 250000 vc 1.8735 ms/op 1.7046 ms/op 1.10
getCommitteeAssignments - req 100 vs - 250000 vc 3.7171 ms/op 3.3692 ms/op 1.10
getCommitteeAssignments - req 1000 vs - 250000 vc 3.9352 ms/op 3.5696 ms/op 1.10
findModifiedValidators - 10000 modified validators 1.0185 s/op
findModifiedValidators - 1000 modified validators 747.35 ms/op
findModifiedValidators - 100 modified validators 358.75 ms/op
findModifiedValidators - 10 modified validators 261.07 ms/op
findModifiedValidators - 1 modified validators 179.52 ms/op
findModifiedValidators - no difference 155.72 ms/op
compare ViewDUs 6.6545 s/op 6.0514 s/op 1.10
compare each validator Uint8Array 1.4128 s/op 863.10 ms/op 1.64
compare ViewDU to Uint8Array 733.08 ms/op 890.80 ms/op 0.82
migrate state 1000000 validators, 24 modified, 0 new 818.67 ms/op 793.03 ms/op 1.03
migrate state 1000000 validators, 1700 modified, 1000 new 1.1822 s/op 1.1929 s/op 0.99
migrate state 1000000 validators, 3400 modified, 2000 new 1.3061 s/op 1.1763 s/op 1.11
migrate state 1500000 validators, 24 modified, 0 new 917.41 ms/op 869.21 ms/op 1.06
migrate state 1500000 validators, 1700 modified, 1000 new 1.0224 s/op 1.0163 s/op 1.01
migrate state 1500000 validators, 3400 modified, 2000 new 1.2375 s/op 1.1690 s/op 1.06
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.8400 ns/op 5.6600 ns/op 1.03
state getBlockRootAtSlot - 250000 vs - 7PWei 477.35 ns/op 452.32 ns/op 1.06
computeProposers - vc 250000 5.6249 ms/op 6.9085 ms/op 0.81
computeEpochShuffling - vc 250000 35.693 ms/op 34.276 ms/op 1.04
getNextSyncCommittee - vc 250000 113.43 ms/op 98.239 ms/op 1.15
computeSigningRoot for AttestationData 21.248 us/op 21.912 us/op 0.97
hash AttestationData serialized data then Buffer.toString(base64) 1.1840 us/op 1.2096 us/op 0.98
toHexString serialized data 881.06 ns/op 725.45 ns/op 1.21
Buffer.toString(base64) 111.67 ns/op 114.65 ns/op 0.97
nodejs block root to RootHex using toHex 102.97 ns/op 113.96 ns/op 0.90
nodejs block root to RootHex using toRootHex 65.877 ns/op 74.577 ns/op 0.88
browser block root to RootHex using the deprecated toHexString 187.24 ns/op 195.20 ns/op 0.96
browser block root to RootHex using toHex 155.35 ns/op 160.01 ns/op 0.97
browser block root to RootHex using toRootHex 148.84 ns/op 147.10 ns/op 1.01

Please sign in to comment.