Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: use vitest workspace to run all tests #7610

Draft
wants to merge 14 commits into
base: unstable
Choose a base branch
from

Conversation

nazarhussain
Copy link
Contributor

Motivation

Vitest workspaces is feature to mimic the package manager workspaces for the tests only.

It provides following benefits:

  1. Minimize the need the bunch of config files at every package root
  2. Consolidate vitest configuration in project groups
  3. Use consistent test configuration for all projects in the monorepo

Description

  • Remove all unnecessary config files
  • Update package json scripts to use --project flag

Closes #7603

Steps to test or reproduce

Run all tests

Copy link
Contributor

github-actions bot commented Mar 20, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: e564963 Previous: 984f565 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 759.25 us/op 989.24 us/op 0.77
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 29.468 us/op 35.852 us/op 0.82
BLS verify - blst 872.39 us/op 802.74 us/op 1.09
BLS verifyMultipleSignatures 3 - blst 1.3325 ms/op 1.2353 ms/op 1.08
BLS verifyMultipleSignatures 8 - blst 2.1406 ms/op 1.6768 ms/op 1.28
BLS verifyMultipleSignatures 32 - blst 4.5546 ms/op 4.9651 ms/op 0.92
BLS verifyMultipleSignatures 64 - blst 8.7111 ms/op 9.1256 ms/op 0.95
BLS verifyMultipleSignatures 128 - blst 16.278 ms/op 17.561 ms/op 0.93
BLS deserializing 10000 signatures 626.70 ms/op 699.81 ms/op 0.90
BLS deserializing 100000 signatures 6.4595 s/op 6.9772 s/op 0.93
BLS verifyMultipleSignatures - same message - 3 - blst 949.23 us/op 970.58 us/op 0.98
BLS verifyMultipleSignatures - same message - 8 - blst 973.90 us/op 1.1313 ms/op 0.86
BLS verifyMultipleSignatures - same message - 32 - blst 1.6501 ms/op 1.7900 ms/op 0.92
BLS verifyMultipleSignatures - same message - 64 - blst 2.4642 ms/op 2.7974 ms/op 0.88
BLS verifyMultipleSignatures - same message - 128 - blst 4.1270 ms/op 4.6567 ms/op 0.89
BLS aggregatePubkeys 32 - blst 17.742 us/op 19.821 us/op 0.90
BLS aggregatePubkeys 128 - blst 72.905 us/op 70.921 us/op 1.03
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 61.038 ms/op 61.249 ms/op 1.00
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 49.438 ms/op 52.642 ms/op 0.94
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 39.475 ms/op 39.518 ms/op 1.00
getSlashingsAndExits - default max 59.602 us/op 80.582 us/op 0.74
getSlashingsAndExits - 2k 319.76 us/op 302.94 us/op 1.06
proposeBlockBody type=full, size=empty 4.1803 ms/op 4.8365 ms/op 0.86
isKnown best case - 1 super set check 408.00 ns/op 205.00 ns/op 1.99
isKnown normal case - 2 super set checks 403.00 ns/op 202.00 ns/op 2.00
isKnown worse case - 16 super set checks 404.00 ns/op 203.00 ns/op 1.99
InMemoryCheckpointStateCache - add get delete 2.4100 us/op 2.3660 us/op 1.02
validate api signedAggregateAndProof - struct 1.7600 ms/op 1.3885 ms/op 1.27
validate gossip signedAggregateAndProof - struct 1.5250 ms/op 1.3612 ms/op 1.12
batch validate gossip attestation - vc 640000 - chunk 32 119.53 us/op 119.74 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 64 104.98 us/op 107.35 us/op 0.98
batch validate gossip attestation - vc 640000 - chunk 128 101.20 us/op 100.21 us/op 1.01
batch validate gossip attestation - vc 640000 - chunk 256 100.49 us/op 105.91 us/op 0.95
pickEth1Vote - no votes 774.50 us/op 945.67 us/op 0.82
pickEth1Vote - max votes 4.6216 ms/op 5.9434 ms/op 0.78
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.8772 ms/op 12.608 ms/op 0.78
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 14.626 ms/op 18.292 ms/op 0.80
pickEth1Vote - Eth1Data fastSerialize value x2048 349.94 us/op 437.46 us/op 0.80
pickEth1Vote - Eth1Data fastSerialize tree x2048 1.9289 ms/op 2.3185 ms/op 0.83
bytes32 toHexString 520.00 ns/op 373.00 ns/op 1.39
bytes32 Buffer.toString(hex) 423.00 ns/op 234.00 ns/op 1.81
bytes32 Buffer.toString(hex) from Uint8Array 510.00 ns/op 330.00 ns/op 1.55
bytes32 Buffer.toString(hex) + 0x 430.00 ns/op 238.00 ns/op 1.81
Object access 1 prop 0.31800 ns/op 0.11600 ns/op 2.74
Map access 1 prop 0.32700 ns/op 0.12200 ns/op 2.68
Object get x1000 5.1900 ns/op 5.9510 ns/op 0.87
Map get x1000 5.9190 ns/op 6.2910 ns/op 0.94
Object set x1000 19.140 ns/op 30.139 ns/op 0.64
Map set x1000 17.247 ns/op 20.282 ns/op 0.85
Return object 10000 times 0.30220 ns/op 0.29030 ns/op 1.04
Throw Error 10000 times 3.7168 us/op 4.5427 us/op 0.82
toHex 100.92 ns/op 136.86 ns/op 0.74
Buffer.from 93.664 ns/op 121.75 ns/op 0.77
shared Buffer 63.180 ns/op 75.272 ns/op 0.84
fastMsgIdFn sha256 / 200 bytes 1.9450 us/op 2.1730 us/op 0.90
fastMsgIdFn h32 xxhash / 200 bytes 394.00 ns/op 212.00 ns/op 1.86
fastMsgIdFn h64 xxhash / 200 bytes 462.00 ns/op 283.00 ns/op 1.63
fastMsgIdFn sha256 / 1000 bytes 5.7930 us/op 7.2620 us/op 0.80
fastMsgIdFn h32 xxhash / 1000 bytes 515.00 ns/op 343.00 ns/op 1.50
fastMsgIdFn h64 xxhash / 1000 bytes 537.00 ns/op 353.00 ns/op 1.52
fastMsgIdFn sha256 / 10000 bytes 49.595 us/op 68.273 us/op 0.73
fastMsgIdFn h32 xxhash / 10000 bytes 1.9250 us/op 1.8310 us/op 1.05
fastMsgIdFn h64 xxhash / 10000 bytes 1.3760 us/op 1.2330 us/op 1.12
send data - 1000 256B messages 11.175 ms/op 15.019 ms/op 0.74
send data - 1000 512B messages 16.322 ms/op 19.262 ms/op 0.85
send data - 1000 1024B messages 24.189 ms/op 26.280 ms/op 0.92
send data - 1000 1200B messages 16.131 ms/op 21.629 ms/op 0.75
send data - 1000 2048B messages 18.442 ms/op 22.694 ms/op 0.81
send data - 1000 4096B messages 25.010 ms/op 29.113 ms/op 0.86
send data - 1000 16384B messages 53.706 ms/op 69.553 ms/op 0.77
send data - 1000 65536B messages 330.12 ms/op 242.44 ms/op 1.36
enrSubnets - fastDeserialize 64 bits 958.00 ns/op 895.00 ns/op 1.07
enrSubnets - ssz BitVector 64 bits 510.00 ns/op 335.00 ns/op 1.52
enrSubnets - fastDeserialize 4 bits 334.00 ns/op 142.00 ns/op 2.35
enrSubnets - ssz BitVector 4 bits 522.00 ns/op 336.00 ns/op 1.55
prioritizePeers score -10:0 att 32-0.1 sync 2-0 104.59 us/op 118.37 us/op 0.88
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 132.99 us/op 137.95 us/op 0.96
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 188.12 us/op 200.20 us/op 0.94
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 336.67 us/op 375.29 us/op 0.90
prioritizePeers score 0:0 att 64-1 sync 4-1 444.65 us/op 458.06 us/op 0.97
array of 16000 items push then shift 1.2633 us/op 1.6640 us/op 0.76
LinkedList of 16000 items push then shift 8.3550 ns/op 7.5290 ns/op 1.11
array of 16000 items push then pop 78.142 ns/op 78.300 ns/op 1.00
LinkedList of 16000 items push then pop 7.4880 ns/op 7.3340 ns/op 1.02
array of 24000 items push then shift 1.8988 us/op 2.4188 us/op 0.79
LinkedList of 24000 items push then shift 7.7470 ns/op 8.3760 ns/op 0.92
array of 24000 items push then pop 101.98 ns/op 107.39 ns/op 0.95
LinkedList of 24000 items push then pop 6.5120 ns/op 7.1260 ns/op 0.91
intersect bitArray bitLen 8 5.8770 ns/op 6.4210 ns/op 0.92
intersect array and set length 8 32.772 ns/op 38.099 ns/op 0.86
intersect bitArray bitLen 128 26.653 ns/op 29.906 ns/op 0.89
intersect array and set length 128 541.04 ns/op 623.54 ns/op 0.87
bitArray.getTrueBitIndexes() bitLen 128 1.2200 us/op 1.0300 us/op 1.18
bitArray.getTrueBitIndexes() bitLen 248 1.9610 us/op 1.8140 us/op 1.08
bitArray.getTrueBitIndexes() bitLen 512 4.1840 us/op 3.7190 us/op 1.13
Buffer.concat 32 items 896.00 ns/op 602.00 ns/op 1.49
Uint8Array.set 32 items 1.4550 us/op 1.4310 us/op 1.02
Buffer.copy 2.1920 us/op 2.0210 us/op 1.08
Uint8Array.set - with subarray 2.7930 us/op 1.6200 us/op 1.72
Uint8Array.set - without subarray 1.4900 us/op 1.8040 us/op 0.83
getUint32 - dataview 378.00 ns/op 201.00 ns/op 1.88
getUint32 - manual 324.00 ns/op 120.00 ns/op 2.70
Set add up to 64 items then delete first 1.9253 us/op 2.1698 us/op 0.89
OrderedSet add up to 64 items then delete first 2.8980 us/op 3.3180 us/op 0.87
Set add up to 64 items then delete last 2.0941 us/op 2.5038 us/op 0.84
OrderedSet add up to 64 items then delete last 3.1338 us/op 4.7219 us/op 0.66
Set add up to 64 items then delete middle 2.0832 us/op 2.6068 us/op 0.80
OrderedSet add up to 64 items then delete middle 4.6352 us/op 5.8794 us/op 0.79
Set add up to 128 items then delete first 4.0596 us/op 5.0879 us/op 0.80
OrderedSet add up to 128 items then delete first 6.4353 us/op 8.1608 us/op 0.79
Set add up to 128 items then delete last 3.9463 us/op 5.0613 us/op 0.78
OrderedSet add up to 128 items then delete last 6.0908 us/op 8.2251 us/op 0.74
Set add up to 128 items then delete middle 3.9858 us/op 5.4762 us/op 0.73
OrderedSet add up to 128 items then delete middle 12.193 us/op 14.140 us/op 0.86
Set add up to 256 items then delete first 8.2622 us/op 10.363 us/op 0.80
OrderedSet add up to 256 items then delete first 13.014 us/op 16.467 us/op 0.79
Set add up to 256 items then delete last 7.8289 us/op 11.712 us/op 0.67
OrderedSet add up to 256 items then delete last 12.432 us/op 16.745 us/op 0.74
Set add up to 256 items then delete middle 8.5007 us/op 10.092 us/op 0.84
OrderedSet add up to 256 items then delete middle 38.007 us/op 46.896 us/op 0.81
transfer serialized Status (84 B) 2.0580 us/op 2.3780 us/op 0.87
copy serialized Status (84 B) 1.2940 us/op 1.2430 us/op 1.04
transfer serialized SignedVoluntaryExit (112 B) 2.1320 us/op 2.3510 us/op 0.91
copy serialized SignedVoluntaryExit (112 B) 1.5480 us/op 1.3060 us/op 1.19
transfer serialized ProposerSlashing (416 B) 2.4430 us/op 2.4020 us/op 1.02
copy serialized ProposerSlashing (416 B) 1.5370 us/op 1.3530 us/op 1.14
transfer serialized Attestation (485 B) 2.4620 us/op 2.4380 us/op 1.01
copy serialized Attestation (485 B) 1.4510 us/op 1.5310 us/op 0.95
transfer serialized AttesterSlashing (33232 B) 2.5010 us/op 2.8740 us/op 0.87
copy serialized AttesterSlashing (33232 B) 3.1750 us/op 4.3820 us/op 0.72
transfer serialized Small SignedBeaconBlock (128000 B) 2.6760 us/op 3.5730 us/op 0.75
copy serialized Small SignedBeaconBlock (128000 B) 7.1930 us/op 11.838 us/op 0.61
transfer serialized Avg SignedBeaconBlock (200000 B) 2.7950 us/op 3.8440 us/op 0.73
copy serialized Avg SignedBeaconBlock (200000 B) 9.7160 us/op 15.845 us/op 0.61
transfer serialized BlobsSidecar (524380 B) 4.1330 us/op 4.1340 us/op 1.00
copy serialized BlobsSidecar (524380 B) 106.98 us/op 72.154 us/op 1.48
transfer serialized Big SignedBeaconBlock (1000000 B) 4.6360 us/op 4.4030 us/op 1.05
copy serialized Big SignedBeaconBlock (1000000 B) 161.83 us/op 229.97 us/op 0.70
pass gossip attestations to forkchoice per slot 2.4322 ms/op 2.8284 ms/op 0.86
forkChoice updateHead vc 100000 bc 64 eq 0 351.10 us/op 476.00 us/op 0.74
forkChoice updateHead vc 600000 bc 64 eq 0 2.6554 ms/op 3.2421 ms/op 0.82
forkChoice updateHead vc 1000000 bc 64 eq 0 4.5336 ms/op 5.3365 ms/op 0.85
forkChoice updateHead vc 600000 bc 320 eq 0 2.6763 ms/op 3.0680 ms/op 0.87
forkChoice updateHead vc 600000 bc 1200 eq 0 2.6238 ms/op 3.1281 ms/op 0.84
forkChoice updateHead vc 600000 bc 7200 eq 0 2.5015 ms/op 4.1124 ms/op 0.61
forkChoice updateHead vc 600000 bc 64 eq 1000 10.109 ms/op 10.733 ms/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 10000 9.6554 ms/op 10.561 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 300000 11.722 ms/op 13.653 ms/op 0.86
computeDeltas 500000 validators 300 proto nodes 3.1576 ms/op 4.0178 ms/op 0.79
computeDeltas 500000 validators 1200 proto nodes 3.1857 ms/op 4.0154 ms/op 0.79
computeDeltas 500000 validators 7200 proto nodes 3.0897 ms/op 4.0546 ms/op 0.76
computeDeltas 750000 validators 300 proto nodes 4.5807 ms/op 5.9451 ms/op 0.77
computeDeltas 750000 validators 1200 proto nodes 4.5943 ms/op 5.9843 ms/op 0.77
computeDeltas 750000 validators 7200 proto nodes 4.6542 ms/op 5.8870 ms/op 0.79
computeDeltas 1400000 validators 300 proto nodes 8.7665 ms/op 11.309 ms/op 0.78
computeDeltas 1400000 validators 1200 proto nodes 9.0698 ms/op 11.048 ms/op 0.82
computeDeltas 1400000 validators 7200 proto nodes 8.9833 ms/op 11.084 ms/op 0.81
computeDeltas 2100000 validators 300 proto nodes 13.988 ms/op 17.112 ms/op 0.82
computeDeltas 2100000 validators 1200 proto nodes 13.679 ms/op 17.914 ms/op 0.76
computeDeltas 2100000 validators 7200 proto nodes 13.497 ms/op 17.993 ms/op 0.75
altair processAttestation - 250000 vs - 7PWei normalcase 1.5996 ms/op 2.4358 ms/op 0.66
altair processAttestation - 250000 vs - 7PWei worstcase 2.4378 ms/op 3.2315 ms/op 0.75
altair processAttestation - setStatus - 1/6 committees join 98.803 us/op 139.38 us/op 0.71
altair processAttestation - setStatus - 1/3 committees join 194.03 us/op 253.95 us/op 0.76
altair processAttestation - setStatus - 1/2 committees join 259.25 us/op 369.20 us/op 0.70
altair processAttestation - setStatus - 2/3 committees join 350.29 us/op 497.70 us/op 0.70
altair processAttestation - setStatus - 4/5 committees join 491.24 us/op 615.15 us/op 0.80
altair processAttestation - setStatus - 100% committees join 596.16 us/op 759.50 us/op 0.78
altair processBlock - 250000 vs - 7PWei normalcase 4.1022 ms/op 5.3885 ms/op 0.76
altair processBlock - 250000 vs - 7PWei normalcase hashState 32.292 ms/op 36.476 ms/op 0.89
altair processBlock - 250000 vs - 7PWei worstcase 37.116 ms/op 51.307 ms/op 0.72
altair processBlock - 250000 vs - 7PWei worstcase hashState 70.707 ms/op 100.59 ms/op 0.70
phase0 processBlock - 250000 vs - 7PWei normalcase 1.7352 ms/op 2.3375 ms/op 0.74
phase0 processBlock - 250000 vs - 7PWei worstcase 23.820 ms/op 26.428 ms/op 0.90
altair processEth1Data - 250000 vs - 7PWei normalcase 273.97 us/op 346.88 us/op 0.79
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.3570 us/op 6.1990 us/op 0.70
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 27.789 us/op 44.859 us/op 0.62
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.5300 us/op 11.686 us/op 0.64
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 4.6780 us/op 7.1520 us/op 0.65
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 119.62 us/op 167.49 us/op 0.71
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 794.10 us/op 1.0786 ms/op 0.74
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.0991 ms/op 1.4416 ms/op 0.76
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.0881 ms/op 1.4464 ms/op 0.75
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.7374 ms/op 3.9581 ms/op 0.69
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.1301 ms/op 1.4620 ms/op 0.77
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.7571 ms/op 4.6703 ms/op 0.59
Tree 40 250000 create 351.44 ms/op 490.45 ms/op 0.72
Tree 40 250000 get(125000) 112.48 ns/op 148.10 ns/op 0.76
Tree 40 250000 set(125000) 1.2263 us/op 1.6875 us/op 0.73
Tree 40 250000 toArray() 9.6514 ms/op 23.840 ms/op 0.40
Tree 40 250000 iterate all - toArray() + loop 9.5584 ms/op 21.926 ms/op 0.44
Tree 40 250000 iterate all - get(i) 39.771 ms/op 61.171 ms/op 0.65
Array 250000 create 2.3876 ms/op 2.7396 ms/op 0.87
Array 250000 clone - spread 657.48 us/op 1.5051 ms/op 0.44
Array 250000 get(125000) 0.57500 ns/op 0.41600 ns/op 1.38
Array 250000 set(125000) 0.58500 ns/op 0.44200 ns/op 1.32
Array 250000 iterate all - loop 77.197 us/op 102.78 us/op 0.75
phase0 afterProcessEpoch - 250000 vs - 7PWei 40.214 ms/op 44.365 ms/op 0.91
Array.fill - length 1000000 2.6275 ms/op 3.5480 ms/op 0.74
Array push - length 1000000 9.6513 ms/op 19.483 ms/op 0.50
Array.get 0.26818 ns/op 0.28336 ns/op 0.95
Uint8Array.get 0.35053 ns/op 0.45745 ns/op 0.77
phase0 beforeProcessEpoch - 250000 vs - 7PWei 15.783 ms/op 20.209 ms/op 0.78
altair processEpoch - mainnet_e81889 276.53 ms/op 299.06 ms/op 0.92
mainnet_e81889 - altair beforeProcessEpoch 18.460 ms/op 22.567 ms/op 0.82
mainnet_e81889 - altair processJustificationAndFinalization 5.6330 us/op 5.6360 us/op 1.00
mainnet_e81889 - altair processInactivityUpdates 3.6356 ms/op 5.9127 ms/op 0.61
mainnet_e81889 - altair processRewardsAndPenalties 52.363 ms/op 48.583 ms/op 1.08
mainnet_e81889 - altair processRegistryUpdates 1.1060 us/op 1.0340 us/op 1.07
mainnet_e81889 - altair processSlashings 416.00 ns/op 192.00 ns/op 2.17
mainnet_e81889 - altair processEth1DataReset 393.00 ns/op 183.00 ns/op 2.15
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.0371 ms/op 1.9283 ms/op 0.54
mainnet_e81889 - altair processSlashingsReset 1.1520 us/op 980.00 ns/op 1.18
mainnet_e81889 - altair processRandaoMixesReset 1.3850 us/op 1.2350 us/op 1.12
mainnet_e81889 - altair processHistoricalRootsUpdate 403.00 ns/op 185.00 ns/op 2.18
mainnet_e81889 - altair processParticipationFlagUpdates 727.00 ns/op 578.00 ns/op 1.26
mainnet_e81889 - altair processSyncCommitteeUpdates 353.00 ns/op 149.00 ns/op 2.37
mainnet_e81889 - altair afterProcessEpoch 42.159 ms/op 47.321 ms/op 0.89
capella processEpoch - mainnet_e217614 883.89 ms/op 900.36 ms/op 0.98
mainnet_e217614 - capella beforeProcessEpoch 66.841 ms/op 72.604 ms/op 0.92
mainnet_e217614 - capella processJustificationAndFinalization 4.6760 us/op 5.4890 us/op 0.85
mainnet_e217614 - capella processInactivityUpdates 14.426 ms/op 18.304 ms/op 0.79
mainnet_e217614 - capella processRewardsAndPenalties 185.77 ms/op 175.01 ms/op 1.06
mainnet_e217614 - capella processRegistryUpdates 8.1970 us/op 6.5300 us/op 1.26
mainnet_e217614 - capella processSlashings 386.00 ns/op 178.00 ns/op 2.17
mainnet_e217614 - capella processEth1DataReset 388.00 ns/op 177.00 ns/op 2.19
mainnet_e217614 - capella processEffectiveBalanceUpdates 13.483 ms/op 16.529 ms/op 0.82
mainnet_e217614 - capella processSlashingsReset 1.1760 us/op 909.00 ns/op 1.29
mainnet_e217614 - capella processRandaoMixesReset 1.3640 us/op 1.2540 us/op 1.09
mainnet_e217614 - capella processHistoricalRootsUpdate 387.00 ns/op 180.00 ns/op 2.15
mainnet_e217614 - capella processParticipationFlagUpdates 706.00 ns/op 538.00 ns/op 1.31
mainnet_e217614 - capella afterProcessEpoch 107.54 ms/op 120.01 ms/op 0.90
phase0 processEpoch - mainnet_e58758 296.27 ms/op 283.67 ms/op 1.04
mainnet_e58758 - phase0 beforeProcessEpoch 54.899 ms/op 75.884 ms/op 0.72
mainnet_e58758 - phase0 processJustificationAndFinalization 4.6960 us/op 5.9260 us/op 0.79
mainnet_e58758 - phase0 processRewardsAndPenalties 41.724 ms/op 37.567 ms/op 1.11
mainnet_e58758 - phase0 processRegistryUpdates 3.5900 us/op 3.3900 us/op 1.06
mainnet_e58758 - phase0 processSlashings 394.00 ns/op 188.00 ns/op 2.10
mainnet_e58758 - phase0 processEth1DataReset 382.00 ns/op 182.00 ns/op 2.10
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 858.40 us/op 1.0828 ms/op 0.79
mainnet_e58758 - phase0 processSlashingsReset 1.0720 us/op 1.0660 us/op 1.01
mainnet_e58758 - phase0 processRandaoMixesReset 1.2570 us/op 1.3180 us/op 0.95
mainnet_e58758 - phase0 processHistoricalRootsUpdate 408.00 ns/op 183.00 ns/op 2.23
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.2060 us/op 913.00 ns/op 1.32
mainnet_e58758 - phase0 afterProcessEpoch 35.549 ms/op 37.073 ms/op 0.96
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0426 ms/op 1.4558 ms/op 0.72
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4423 ms/op 1.9150 ms/op 0.75
altair processInactivityUpdates - 250000 normalcase 15.593 ms/op 20.993 ms/op 0.74
altair processInactivityUpdates - 250000 worstcase 16.142 ms/op 19.654 ms/op 0.82
phase0 processRegistryUpdates - 250000 normalcase 5.1860 us/op 6.6670 us/op 0.78
phase0 processRegistryUpdates - 250000 badcase_full_deposits 278.05 us/op 310.85 us/op 0.89
phase0 processRegistryUpdates - 250000 worstcase 0.5 109.27 ms/op 110.14 ms/op 0.99
altair processRewardsAndPenalties - 250000 normalcase 55.052 ms/op 50.410 ms/op 1.09
altair processRewardsAndPenalties - 250000 worstcase 39.051 ms/op 40.924 ms/op 0.95
phase0 getAttestationDeltas - 250000 normalcase 4.8112 ms/op 8.5132 ms/op 0.57
phase0 getAttestationDeltas - 250000 worstcase 6.0449 ms/op 8.1055 ms/op 0.75
phase0 processSlashings - 250000 worstcase 90.992 us/op 127.41 us/op 0.71
altair processSyncCommitteeUpdates - 250000 9.7318 ms/op 18.101 ms/op 0.54
BeaconState.hashTreeRoot - No change 446.00 ns/op 244.00 ns/op 1.83
BeaconState.hashTreeRoot - 1 full validator 91.763 us/op 90.411 us/op 1.01
BeaconState.hashTreeRoot - 32 full validator 807.61 us/op 852.56 us/op 0.95
BeaconState.hashTreeRoot - 512 full validator 8.2068 ms/op 14.546 ms/op 0.56
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 94.009 us/op 128.21 us/op 0.73
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.1490 ms/op 2.1456 ms/op 0.54
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.519 ms/op 21.568 ms/op 1.18
BeaconState.hashTreeRoot - 1 balances 78.454 us/op 74.113 us/op 1.06
BeaconState.hashTreeRoot - 32 balances 549.53 us/op 743.63 us/op 0.74
BeaconState.hashTreeRoot - 512 balances 6.9419 ms/op 9.1422 ms/op 0.76
BeaconState.hashTreeRoot - 250000 balances 136.66 ms/op 227.53 ms/op 0.60
aggregationBits - 2048 els - zipIndexesInBitList 19.294 us/op 27.671 us/op 0.70
byteArrayEquals 32 45.791 ns/op 54.981 ns/op 0.83
Buffer.compare 32 14.583 ns/op 18.185 ns/op 0.80
byteArrayEquals 1024 1.2221 us/op 1.6694 us/op 0.73
Buffer.compare 1024 23.697 ns/op 26.685 ns/op 0.89
byteArrayEquals 16384 19.662 us/op 27.072 us/op 0.73
Buffer.compare 16384 200.58 ns/op 208.99 ns/op 0.96
byteArrayEquals 123687377 154.44 ms/op 208.09 ms/op 0.74
Buffer.compare 123687377 5.5915 ms/op 10.245 ms/op 0.55
byteArrayEquals 32 - diff last byte 48.399 ns/op 56.503 ns/op 0.86
Buffer.compare 32 - diff last byte 16.136 ns/op 19.115 ns/op 0.84
byteArrayEquals 1024 - diff last byte 1.2921 us/op 1.7595 us/op 0.73
Buffer.compare 1024 - diff last byte 23.172 ns/op 29.143 ns/op 0.80
byteArrayEquals 16384 - diff last byte 20.388 us/op 29.420 us/op 0.69
Buffer.compare 16384 - diff last byte 176.38 ns/op 251.66 ns/op 0.70
byteArrayEquals 123687377 - diff last byte 146.37 ms/op 206.30 ms/op 0.71
Buffer.compare 123687377 - diff last byte 5.5166 ms/op 11.043 ms/op 0.50
byteArrayEquals 32 - random bytes 4.7210 ns/op 5.5740 ns/op 0.85
Buffer.compare 32 - random bytes 14.885 ns/op 19.664 ns/op 0.76
byteArrayEquals 1024 - random bytes 4.7400 ns/op 5.4820 ns/op 0.86
Buffer.compare 1024 - random bytes 14.736 ns/op 19.151 ns/op 0.77
byteArrayEquals 16384 - random bytes 4.7220 ns/op 5.3780 ns/op 0.88
Buffer.compare 16384 - random bytes 14.756 ns/op 19.017 ns/op 0.78
byteArrayEquals 123687377 - random bytes 7.5300 ns/op 6.7400 ns/op 1.12
Buffer.compare 123687377 - random bytes 17.510 ns/op 20.070 ns/op 0.87
regular array get 100000 times 29.295 us/op 44.128 us/op 0.66
wrappedArray get 100000 times 29.387 us/op 43.921 us/op 0.67
arrayWithProxy get 100000 times 9.4888 ms/op 14.191 ms/op 0.67
ssz.Root.equals 37.918 ns/op 49.672 ns/op 0.76
byteArrayEquals 41.506 ns/op 49.249 ns/op 0.84
Buffer.compare 8.4700 ns/op 11.582 ns/op 0.73
processSlot - 1 slots 8.4010 us/op 13.335 us/op 0.63
processSlot - 32 slots 1.5026 ms/op 3.5275 ms/op 0.43
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.916 ms/op 60.014 ms/op 0.97
getCommitteeAssignments - req 1 vs - 250000 vc 1.7572 ms/op 2.2840 ms/op 0.77
getCommitteeAssignments - req 100 vs - 250000 vc 3.4491 ms/op 4.3976 ms/op 0.78
getCommitteeAssignments - req 1000 vs - 250000 vc 3.6552 ms/op 4.6655 ms/op 0.78
findModifiedValidators - 10000 modified validators 777.95 ms/op 797.44 ms/op 0.98
findModifiedValidators - 1000 modified validators 677.05 ms/op 777.31 ms/op 0.87
findModifiedValidators - 100 modified validators 253.80 ms/op 311.01 ms/op 0.82
findModifiedValidators - 10 modified validators 130.91 ms/op 240.73 ms/op 0.54
findModifiedValidators - 1 modified validators 233.01 ms/op 156.30 ms/op 1.49
findModifiedValidators - no difference 139.19 ms/op 185.37 ms/op 0.75
compare ViewDUs 6.1131 s/op 7.5155 s/op 0.81
compare each validator Uint8Array 1.7817 s/op 1.9576 s/op 0.91
compare ViewDU to Uint8Array 1.1495 s/op 1.6743 s/op 0.69
migrate state 1000000 validators, 24 modified, 0 new 866.55 ms/op 1.2227 s/op 0.71
migrate state 1000000 validators, 1700 modified, 1000 new 1.0873 s/op 1.6830 s/op 0.65
migrate state 1000000 validators, 3400 modified, 2000 new 1.2374 s/op 1.8545 s/op 0.67
migrate state 1500000 validators, 24 modified, 0 new 871.08 ms/op 1.0648 s/op 0.82
migrate state 1500000 validators, 1700 modified, 1000 new 1.0229 s/op 1.3708 s/op 0.75
migrate state 1500000 validators, 3400 modified, 2000 new 1.3121 s/op 1.4473 s/op 0.91
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.8100 ns/op 4.4300 ns/op 1.31
state getBlockRootAtSlot - 250000 vs - 7PWei 355.03 ns/op 626.12 ns/op 0.57
naive computeProposerIndex 100000 validators 43.554 ms/op 58.065 ms/op 0.75
computeProposerIndex 100000 validators 1.3312 ms/op 1.5442 ms/op 0.86
naiveGetNextSyncCommitteeIndices 1000 validators 10.902 s/op 7.5915 s/op 1.44
getNextSyncCommitteeIndices 1000 validators 101.09 ms/op 115.91 ms/op 0.87
naiveGetNextSyncCommitteeIndices 10000 validators 5.8953 s/op 8.1708 s/op 0.72
getNextSyncCommitteeIndices 10000 validators 94.829 ms/op 115.29 ms/op 0.82
naiveGetNextSyncCommitteeIndices 100000 validators 6.1921 s/op 8.3398 s/op 0.74
getNextSyncCommitteeIndices 100000 validators 93.662 ms/op 120.51 ms/op 0.78
naive computeShuffledIndex 100000 validators 18.371 s/op 27.020 s/op 0.68
cached computeShuffledIndex 100000 validators 474.46 ms/op 632.48 ms/op 0.75
naive computeShuffledIndex 2000000 validators 423.50 s/op 476.50 s/op 0.89
cached computeShuffledIndex 2000000 validators 18.595 s/op 41.917 s/op 0.44
computeProposers - vc 250000 516.60 us/op 586.04 us/op 0.88
computeEpochShuffling - vc 250000 37.700 ms/op 42.047 ms/op 0.90
getNextSyncCommittee - vc 250000 9.2120 ms/op 10.509 ms/op 0.88
computeSigningRoot for AttestationData 29.569 us/op 19.614 us/op 1.51
hash AttestationData serialized data then Buffer.toString(base64) 1.2063 us/op 1.6096 us/op 0.75
toHexString serialized data 963.04 ns/op 1.1342 us/op 0.85
Buffer.toString(base64) 109.88 ns/op 168.96 ns/op 0.65
nodejs block root to RootHex using toHex 108.00 ns/op 136.42 ns/op 0.79
nodejs block root to RootHex using toRootHex 70.884 ns/op 80.626 ns/op 0.88
browser block root to RootHex using the deprecated toHexString 191.31 ns/op 211.24 ns/op 0.91
browser block root to RootHex using toHex 160.09 ns/op 170.46 ns/op 0.94
browser block root to RootHex using toRootHex 152.28 ns/op 158.27 ns/op 0.96

by benchmarkbot/action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vitest multiple config files warning
1 participant