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: migrate utils tests to vitest #6225

Merged
merged 2 commits into from
Dec 21, 2023
Merged

test: migrate utils tests to vitest #6225

merged 2 commits into from
Dec 21, 2023

Conversation

nazarhussain
Copy link
Contributor

Motivation

Consolidate the testing frameworks and migrate to vitest.

Description

Migrate utils and spec tests to vitest.

Steps to test or reproduce

  • Run all tests

@nazarhussain nazarhussain requested a review from a team as a code owner December 21, 2023 16:24
@nazarhussain nazarhussain self-assigned this Dec 21, 2023
Copy link

codecov bot commented Dec 21, 2023

Codecov Report

Merging #6225 (ecf0d65) into unstable (2530fae) will not change coverage.
Report is 1 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6225   +/-   ##
=========================================
  Coverage     84.46%   84.46%           
=========================================
  Files           177      177           
  Lines         14913    14913           
  Branches        909      909           
=========================================
  Hits          12596    12596           
  Misses         2294     2294           
  Partials         23       23           

@nazarhussain
Copy link
Contributor Author

That is clear but why choose value 5000ms?

Any value greater than the timeout value will have worked fine.

Copy link
Contributor

⚠️ 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: de5f242 Previous: 2530fae Ratio
Map set x1000 59.919 ns/op 17.542 ns/op 3.42
Set add up to 128 items then delete last 11.329 us/op 3.7722 us/op 3.00
Set add up to 256 items then delete last 22.437 us/op 7.4153 us/op 3.03
Full benchmark results
Benchmark suite Current: de5f242 Previous: 2530fae Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 711.88 us/op 391.97 us/op 1.82
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 149.22 us/op 56.089 us/op 2.66
BLS verify - blst-native 1.3786 ms/op 1.1020 ms/op 1.25
BLS verifyMultipleSignatures 3 - blst-native 3.0091 ms/op 2.2812 ms/op 1.32
BLS verifyMultipleSignatures 8 - blst-native 6.4605 ms/op 5.0032 ms/op 1.29
BLS verifyMultipleSignatures 32 - blst-native 23.082 ms/op 18.692 ms/op 1.23
BLS verifyMultipleSignatures 64 - blst-native 45.336 ms/op 36.461 ms/op 1.24
BLS verifyMultipleSignatures 128 - blst-native 90.123 ms/op 75.582 ms/op 1.19
BLS deserializing 10000 signatures 987.28 ms/op 790.63 ms/op 1.25
BLS deserializing 100000 signatures 9.1837 s/op 8.0558 s/op 1.14
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.4438 ms/op 1.1746 ms/op 1.23
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5954 ms/op 1.3177 ms/op 1.21
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.3876 ms/op 2.1175 ms/op 1.13
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.5290 ms/op 3.2463 ms/op 1.09
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.7824 ms/op 6.8566 ms/op 0.84
BLS aggregatePubkeys 32 - blst-native 27.178 us/op 23.949 us/op 1.13
BLS aggregatePubkeys 128 - blst-native 105.06 us/op 85.627 us/op 1.23
getAttestationsForBlock 55.070 ms/op 39.689 ms/op 1.39
getSlashingsAndExits - default max 238.18 us/op 94.766 us/op 2.51
getSlashingsAndExits - 2k 397.96 us/op 402.02 us/op 0.99
proposeBlockBody type=full, size=empty 6.4318 ms/op 4.0703 ms/op 1.58
isKnown best case - 1 super set check 569.00 ns/op 331.00 ns/op 1.72
isKnown normal case - 2 super set checks 591.00 ns/op 321.00 ns/op 1.84
isKnown worse case - 16 super set checks 565.00 ns/op 331.00 ns/op 1.71
CheckpointStateCache - add get delete 7.4130 us/op 3.6920 us/op 2.01
validate api signedAggregateAndProof - struct 2.9979 ms/op 2.5660 ms/op 1.17
validate gossip signedAggregateAndProof - struct 2.9518 ms/op 2.5464 ms/op 1.16
validate gossip attestation - vc 640000 1.4143 ms/op 1.1868 ms/op 1.19
batch validate gossip attestation - vc 640000 - chunk 32 176.36 us/op 146.65 us/op 1.20
batch validate gossip attestation - vc 640000 - chunk 64 155.86 us/op 124.32 us/op 1.25
batch validate gossip attestation - vc 640000 - chunk 128 144.98 us/op 118.70 us/op 1.22
batch validate gossip attestation - vc 640000 - chunk 256 154.32 us/op 113.37 us/op 1.36
pickEth1Vote - no votes 1.5998 ms/op 924.25 us/op 1.73
pickEth1Vote - max votes 16.486 ms/op 13.091 ms/op 1.26
pickEth1Vote - Eth1Data hashTreeRoot value x2048 25.113 ms/op 23.765 ms/op 1.06
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 44.957 ms/op 23.761 ms/op 1.89
pickEth1Vote - Eth1Data fastSerialize value x2048 946.17 us/op 513.03 us/op 1.84
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.1392 ms/op 4.4490 ms/op 2.05
bytes32 toHexString 1.0460 us/op 670.00 ns/op 1.56
bytes32 Buffer.toString(hex) 364.00 ns/op 354.00 ns/op 1.03
bytes32 Buffer.toString(hex) from Uint8Array 718.00 ns/op 520.00 ns/op 1.38
bytes32 Buffer.toString(hex) + 0x 346.00 ns/op 321.00 ns/op 1.08
Object access 1 prop 0.23400 ns/op 0.21000 ns/op 1.11
Map access 1 prop 0.15900 ns/op 0.20100 ns/op 0.79
Object get x1000 9.8470 ns/op 5.8160 ns/op 1.69
Map get x1000 0.94300 ns/op 0.73300 ns/op 1.29
Object set x1000 82.757 ns/op 28.161 ns/op 2.94
Map set x1000 59.919 ns/op 17.542 ns/op 3.42
Return object 10000 times 0.26910 ns/op 0.22640 ns/op 1.19
Throw Error 10000 times 4.3952 us/op 2.7868 us/op 1.58
fastMsgIdFn sha256 / 200 bytes 3.6140 us/op 1.9390 us/op 1.86
fastMsgIdFn h32 xxhash / 200 bytes 398.00 ns/op 299.00 ns/op 1.33
fastMsgIdFn h64 xxhash / 200 bytes 451.00 ns/op 344.00 ns/op 1.31
fastMsgIdFn sha256 / 1000 bytes 12.349 us/op 6.2100 us/op 1.99
fastMsgIdFn h32 xxhash / 1000 bytes 524.00 ns/op 405.00 ns/op 1.29
fastMsgIdFn h64 xxhash / 1000 bytes 509.00 ns/op 405.00 ns/op 1.26
fastMsgIdFn sha256 / 10000 bytes 110.02 us/op 52.287 us/op 2.10
fastMsgIdFn h32 xxhash / 10000 bytes 2.1210 us/op 1.7810 us/op 1.19
fastMsgIdFn h64 xxhash / 10000 bytes 1.5260 us/op 1.2210 us/op 1.25
send data - 1000 256B messages 25.161 ms/op 11.508 ms/op 2.19
send data - 1000 512B messages 33.123 ms/op 14.913 ms/op 2.22
send data - 1000 1024B messages 50.932 ms/op 23.158 ms/op 2.20
send data - 1000 1200B messages 47.149 ms/op 28.532 ms/op 1.65
send data - 1000 2048B messages 47.200 ms/op 36.292 ms/op 1.30
send data - 1000 4096B messages 37.211 ms/op 31.335 ms/op 1.19
send data - 1000 16384B messages 134.62 ms/op 92.439 ms/op 1.46
send data - 1000 65536B messages 612.51 ms/op 422.93 ms/op 1.45
enrSubnets - fastDeserialize 64 bits 1.8350 us/op 976.00 ns/op 1.88
enrSubnets - ssz BitVector 64 bits 546.00 ns/op 411.00 ns/op 1.33
enrSubnets - fastDeserialize 4 bits 233.00 ns/op 201.00 ns/op 1.16
enrSubnets - ssz BitVector 4 bits 558.00 ns/op 416.00 ns/op 1.34
prioritizePeers score -10:0 att 32-0.1 sync 2-0 127.83 us/op 69.770 us/op 1.83
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 147.71 us/op 77.468 us/op 1.91
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 218.43 us/op 102.49 us/op 2.13
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 357.53 us/op 179.67 us/op 1.99
prioritizePeers score 0:0 att 64-1 sync 4-1 414.80 us/op 203.80 us/op 2.04
array of 16000 items push then shift 1.8484 us/op 1.2761 us/op 1.45
LinkedList of 16000 items push then shift 11.755 ns/op 5.9540 ns/op 1.97
array of 16000 items push then pop 122.84 ns/op 57.390 ns/op 2.14
LinkedList of 16000 items push then pop 10.037 ns/op 5.6330 ns/op 1.78
array of 24000 items push then shift 2.7617 us/op 1.8935 us/op 1.46
LinkedList of 24000 items push then shift 10.054 ns/op 5.7590 ns/op 1.75
array of 24000 items push then pop 158.89 ns/op 76.674 ns/op 2.07
LinkedList of 24000 items push then pop 9.1460 ns/op 5.6860 ns/op 1.61
intersect bitArray bitLen 8 6.7870 ns/op 5.0550 ns/op 1.34
intersect array and set length 8 83.610 ns/op 49.177 ns/op 1.70
intersect bitArray bitLen 128 34.920 ns/op 27.571 ns/op 1.27
intersect array and set length 128 1.1706 us/op 686.06 ns/op 1.71
bitArray.getTrueBitIndexes() bitLen 128 2.5400 us/op 1.1500 us/op 2.21
bitArray.getTrueBitIndexes() bitLen 248 3.4200 us/op 1.8300 us/op 1.87
bitArray.getTrueBitIndexes() bitLen 512 7.0530 us/op 3.4360 us/op 2.05
Buffer.concat 32 items 1.0680 us/op 838.00 ns/op 1.27
Uint8Array.set 32 items 1.9110 us/op 1.5860 us/op 1.20
Set add up to 64 items then delete first 4.8365 us/op 1.7346 us/op 2.79
OrderedSet add up to 64 items then delete first 6.2225 us/op 2.6479 us/op 2.35
Set add up to 64 items then delete last 5.5150 us/op 1.9891 us/op 2.77
OrderedSet add up to 64 items then delete last 7.3896 us/op 2.9662 us/op 2.49
Set add up to 64 items then delete middle 5.4238 us/op 1.9838 us/op 2.73
OrderedSet add up to 64 items then delete middle 8.3850 us/op 4.1603 us/op 2.02
Set add up to 128 items then delete first 11.239 us/op 3.9154 us/op 2.87
OrderedSet add up to 128 items then delete first 15.156 us/op 6.1481 us/op 2.47
Set add up to 128 items then delete last 11.329 us/op 3.7722 us/op 3.00
OrderedSet add up to 128 items then delete last 14.887 us/op 5.7034 us/op 2.61
Set add up to 128 items then delete middle 10.820 us/op 3.7910 us/op 2.85
OrderedSet add up to 128 items then delete middle 20.957 us/op 10.672 us/op 1.96
Set add up to 256 items then delete first 21.358 us/op 7.6162 us/op 2.80
OrderedSet add up to 256 items then delete first 31.458 us/op 12.176 us/op 2.58
Set add up to 256 items then delete last 22.437 us/op 7.4153 us/op 3.03
OrderedSet add up to 256 items then delete last 28.605 us/op 11.342 us/op 2.52
Set add up to 256 items then delete middle 21.074 us/op 7.3950 us/op 2.85
OrderedSet add up to 256 items then delete middle 51.171 us/op 30.140 us/op 1.70
transfer serialized Status (84 B) 1.9710 us/op 1.3580 us/op 1.45
copy serialized Status (84 B) 1.7640 us/op 1.1650 us/op 1.51
transfer serialized SignedVoluntaryExit (112 B) 2.1380 us/op 1.3710 us/op 1.56
copy serialized SignedVoluntaryExit (112 B) 1.7820 us/op 1.1720 us/op 1.52
transfer serialized ProposerSlashing (416 B) 2.7500 us/op 1.5180 us/op 1.81
copy serialized ProposerSlashing (416 B) 2.7040 us/op 1.3720 us/op 1.97
transfer serialized Attestation (485 B) 2.8490 us/op 1.5680 us/op 1.82
copy serialized Attestation (485 B) 2.4710 us/op 1.3820 us/op 1.79
transfer serialized AttesterSlashing (33232 B) 2.5090 us/op 1.6410 us/op 1.53
copy serialized AttesterSlashing (33232 B) 8.7590 us/op 3.4760 us/op 2.52
transfer serialized Small SignedBeaconBlock (128000 B) 2.8320 us/op 1.7240 us/op 1.64
copy serialized Small SignedBeaconBlock (128000 B) 18.812 us/op 8.3810 us/op 2.24
transfer serialized Avg SignedBeaconBlock (200000 B) 3.3330 us/op 1.9190 us/op 1.74
copy serialized Avg SignedBeaconBlock (200000 B) 31.843 us/op 12.711 us/op 2.51
transfer serialized BlobsSidecar (524380 B) 3.8280 us/op 2.2330 us/op 1.71
copy serialized BlobsSidecar (524380 B) 119.76 us/op 78.101 us/op 1.53
transfer serialized Big SignedBeaconBlock (1000000 B) 3.7640 us/op 2.6970 us/op 1.40
copy serialized Big SignedBeaconBlock (1000000 B) 177.50 us/op 195.67 us/op 0.91
pass gossip attestations to forkchoice per slot 3.9029 ms/op 2.7362 ms/op 1.43
forkChoice updateHead vc 100000 bc 64 eq 0 693.35 us/op 491.32 us/op 1.41
forkChoice updateHead vc 600000 bc 64 eq 0 4.5781 ms/op 2.7156 ms/op 1.69
forkChoice updateHead vc 1000000 bc 64 eq 0 8.5665 ms/op 4.4277 ms/op 1.93
forkChoice updateHead vc 600000 bc 320 eq 0 4.2766 ms/op 2.6223 ms/op 1.63
forkChoice updateHead vc 600000 bc 1200 eq 0 4.4388 ms/op 2.6921 ms/op 1.65
forkChoice updateHead vc 600000 bc 7200 eq 0 5.5420 ms/op 3.5379 ms/op 1.57
forkChoice updateHead vc 600000 bc 64 eq 1000 11.308 ms/op 10.063 ms/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 10000 11.950 ms/op 9.7239 ms/op 1.23
forkChoice updateHead vc 600000 bc 64 eq 300000 16.715 ms/op 11.895 ms/op 1.41
computeDeltas 500000 validators 300 proto nodes 6.8889 ms/op 3.0617 ms/op 2.25
computeDeltas 500000 validators 1200 proto nodes 7.3444 ms/op 2.9465 ms/op 2.49
computeDeltas 500000 validators 7200 proto nodes 6.8794 ms/op 3.0148 ms/op 2.28
computeDeltas 750000 validators 300 proto nodes 10.742 ms/op 4.7349 ms/op 2.27
computeDeltas 750000 validators 1200 proto nodes 11.888 ms/op 4.7388 ms/op 2.51
computeDeltas 750000 validators 7200 proto nodes 11.188 ms/op 4.5791 ms/op 2.44
computeDeltas 1400000 validators 300 proto nodes 21.097 ms/op 9.4619 ms/op 2.23
computeDeltas 1400000 validators 1200 proto nodes 20.369 ms/op 8.9484 ms/op 2.28
computeDeltas 1400000 validators 7200 proto nodes 22.954 ms/op 9.1763 ms/op 2.50
computeDeltas 2100000 validators 300 proto nodes 30.451 ms/op 13.958 ms/op 2.18
computeDeltas 2100000 validators 1200 proto nodes 31.331 ms/op 13.560 ms/op 2.31
computeDeltas 2100000 validators 7200 proto nodes 30.482 ms/op 13.674 ms/op 2.23
computeProposerBoostScoreFromBalances 500000 validators 4.0293 ms/op 3.2580 ms/op 1.24
computeProposerBoostScoreFromBalances 750000 validators 4.3587 ms/op 3.2912 ms/op 1.32
computeProposerBoostScoreFromBalances 1400000 validators 4.2226 ms/op 3.2024 ms/op 1.32
computeProposerBoostScoreFromBalances 2100000 validators 4.1403 ms/op 3.2294 ms/op 1.28
altair processAttestation - 250000 vs - 7PWei normalcase 3.4923 ms/op 1.6979 ms/op 2.06
altair processAttestation - 250000 vs - 7PWei worstcase 5.9193 ms/op 2.8145 ms/op 2.10
altair processAttestation - setStatus - 1/6 committees join 217.30 us/op 122.77 us/op 1.77
altair processAttestation - setStatus - 1/3 committees join 421.36 us/op 210.54 us/op 2.00
altair processAttestation - setStatus - 1/2 committees join 552.42 us/op 364.88 us/op 1.51
altair processAttestation - setStatus - 2/3 committees join 706.32 us/op 404.38 us/op 1.75
altair processAttestation - setStatus - 4/5 committees join 908.83 us/op 691.76 us/op 1.31
altair processAttestation - setStatus - 100% committees join 1.0752 ms/op 647.73 us/op 1.66
altair processBlock - 250000 vs - 7PWei normalcase 12.108 ms/op 12.047 ms/op 1.01
altair processBlock - 250000 vs - 7PWei normalcase hashState 40.289 ms/op 40.059 ms/op 1.01
altair processBlock - 250000 vs - 7PWei worstcase 42.793 ms/op 49.499 ms/op 0.86
altair processBlock - 250000 vs - 7PWei worstcase hashState 98.436 ms/op 136.43 ms/op 0.72
phase0 processBlock - 250000 vs - 7PWei normalcase 2.8859 ms/op 4.0689 ms/op 0.71
phase0 processBlock - 250000 vs - 7PWei worstcase 33.988 ms/op 34.489 ms/op 0.99
altair processEth1Data - 250000 vs - 7PWei normalcase 696.62 us/op 750.49 us/op 0.93
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 16.066 us/op 5.4010 us/op 2.97
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 109.26 us/op 52.845 us/op 2.07
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 29.231 us/op 14.676 us/op 1.99
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 22.607 us/op 9.1200 us/op 2.48
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 212.65 us/op 154.45 us/op 1.38
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.6268 ms/op 1.5432 ms/op 1.05
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.6284 ms/op 1.0401 ms/op 1.57
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7240 ms/op 1.4502 ms/op 1.19
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.6925 ms/op 2.2438 ms/op 1.65
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.6002 ms/op 1.7352 ms/op 1.50
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.0416 ms/op 3.3702 ms/op 1.79
Tree 40 250000 create 396.00 ms/op 272.28 ms/op 1.45
Tree 40 250000 get(125000) 217.27 ns/op 105.15 ns/op 2.07
Tree 40 250000 set(125000) 1.1404 us/op 732.16 ns/op 1.56
Tree 40 250000 toArray() 23.773 ms/op 14.880 ms/op 1.60
Tree 40 250000 iterate all - toArray() + loop 23.646 ms/op 14.651 ms/op 1.61
Tree 40 250000 iterate all - get(i) 72.259 ms/op 40.548 ms/op 1.78
MutableVector 250000 create 13.928 ms/op 11.686 ms/op 1.19
MutableVector 250000 get(125000) 6.7250 ns/op 5.3550 ns/op 1.26
MutableVector 250000 set(125000) 294.00 ns/op 196.76 ns/op 1.49
MutableVector 250000 toArray() 3.9343 ms/op 2.5651 ms/op 1.53
MutableVector 250000 iterate all - toArray() + loop 4.0931 ms/op 2.7324 ms/op 1.50
MutableVector 250000 iterate all - get(i) 1.5321 ms/op 1.3298 ms/op 1.15
Array 250000 create 3.3181 ms/op 2.3689 ms/op 1.40
Array 250000 clone - spread 1.2675 ms/op 9.1842 ms/op 0.14
Array 250000 get(125000) 1.0760 ns/op 1.0410 ns/op 1.03
Array 250000 set(125000) 4.1950 ns/op 1.1490 ns/op 3.65
Array 250000 iterate all - loop 165.56 us/op 147.23 us/op 1.12
effectiveBalanceIncrements clone Uint8Array 300000 28.234 us/op 18.699 us/op 1.51
effectiveBalanceIncrements clone MutableVector 300000 352.00 ns/op 352.00 ns/op 1.00
effectiveBalanceIncrements rw all Uint8Array 300000 198.29 us/op 176.45 us/op 1.12
effectiveBalanceIncrements rw all MutableVector 300000 87.488 ms/op 61.459 ms/op 1.42
phase0 afterProcessEpoch - 250000 vs - 7PWei 121.37 ms/op 77.303 ms/op 1.57
phase0 beforeProcessEpoch - 250000 vs - 7PWei 66.176 ms/op 44.584 ms/op 1.48
altair processEpoch - mainnet_e81889 539.87 ms/op 428.32 ms/op 1.26
mainnet_e81889 - altair beforeProcessEpoch 89.444 ms/op 74.221 ms/op 1.21
mainnet_e81889 - altair processJustificationAndFinalization 18.951 us/op 10.411 us/op 1.82
mainnet_e81889 - altair processInactivityUpdates 6.3619 ms/op 5.9123 ms/op 1.08
mainnet_e81889 - altair processRewardsAndPenalties 67.293 ms/op 58.935 ms/op 1.14
mainnet_e81889 - altair processRegistryUpdates 4.2110 us/op 2.5700 us/op 1.64
mainnet_e81889 - altair processSlashings 589.00 ns/op 601.00 ns/op 0.98
mainnet_e81889 - altair processEth1DataReset 1.0060 us/op 571.00 ns/op 1.76
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4835 ms/op 1.7600 ms/op 0.84
mainnet_e81889 - altair processSlashingsReset 4.4500 us/op 2.4930 us/op 1.78
mainnet_e81889 - altair processRandaoMixesReset 5.3530 us/op 2.8330 us/op 1.89
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2780 us/op 649.00 ns/op 1.97
mainnet_e81889 - altair processParticipationFlagUpdates 2.4240 us/op 1.4530 us/op 1.67
mainnet_e81889 - altair processSyncCommitteeUpdates 628.00 ns/op 532.00 ns/op 1.18
mainnet_e81889 - altair afterProcessEpoch 126.71 ms/op 80.565 ms/op 1.57
capella processEpoch - mainnet_e217614 2.8460 s/op 2.2132 s/op 1.29
mainnet_e217614 - capella beforeProcessEpoch 587.42 ms/op 429.03 ms/op 1.37
mainnet_e217614 - capella processJustificationAndFinalization 26.614 us/op 11.791 us/op 2.26
mainnet_e217614 - capella processInactivityUpdates 26.019 ms/op 19.446 ms/op 1.34
mainnet_e217614 - capella processRewardsAndPenalties 504.63 ms/op 383.38 ms/op 1.32
mainnet_e217614 - capella processRegistryUpdates 45.627 us/op 13.682 us/op 3.33
mainnet_e217614 - capella processSlashings 1.8090 us/op 591.00 ns/op 3.06
mainnet_e217614 - capella processEth1DataReset 873.00 ns/op 628.00 ns/op 1.39
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.1015 ms/op 3.4986 ms/op 1.74
mainnet_e217614 - capella processSlashingsReset 5.0870 us/op 3.0990 us/op 1.64
mainnet_e217614 - capella processRandaoMixesReset 8.3120 us/op 8.2410 us/op 1.01
mainnet_e217614 - capella processHistoricalRootsUpdate 664.00 ns/op 793.00 ns/op 0.84
mainnet_e217614 - capella processParticipationFlagUpdates 3.0850 us/op 1.3540 us/op 2.28
mainnet_e217614 - capella afterProcessEpoch 363.82 ms/op 227.97 ms/op 1.60
phase0 processEpoch - mainnet_e58758 675.98 ms/op 415.10 ms/op 1.63
mainnet_e58758 - phase0 beforeProcessEpoch 246.74 ms/op 142.03 ms/op 1.74
mainnet_e58758 - phase0 processJustificationAndFinalization 36.729 us/op 16.703 us/op 2.20
mainnet_e58758 - phase0 processRewardsAndPenalties 73.325 ms/op 47.537 ms/op 1.54
mainnet_e58758 - phase0 processRegistryUpdates 25.860 us/op 9.0180 us/op 2.87
mainnet_e58758 - phase0 processSlashings 1.8220 us/op 978.00 ns/op 1.86
mainnet_e58758 - phase0 processEth1DataReset 1.4720 us/op 640.00 ns/op 2.30
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.0860 ms/op 969.53 us/op 2.15
mainnet_e58758 - phase0 processSlashingsReset 7.7980 us/op 4.1260 us/op 1.89
mainnet_e58758 - phase0 processRandaoMixesReset 12.303 us/op 4.2310 us/op 2.91
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.1650 us/op 997.00 ns/op 1.17
mainnet_e58758 - phase0 processParticipationRecordUpdates 12.026 us/op 5.0010 us/op 2.40
mainnet_e58758 - phase0 afterProcessEpoch 128.17 ms/op 68.392 ms/op 1.87
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.2344 ms/op 1.2471 ms/op 1.79
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.4564 ms/op 1.2880 ms/op 1.91
altair processInactivityUpdates - 250000 normalcase 55.950 ms/op 30.384 ms/op 1.84
altair processInactivityUpdates - 250000 worstcase 57.491 ms/op 26.847 ms/op 2.14
phase0 processRegistryUpdates - 250000 normalcase 19.871 us/op 11.336 us/op 1.75
phase0 processRegistryUpdates - 250000 badcase_full_deposits 718.98 us/op 391.91 us/op 1.83
phase0 processRegistryUpdates - 250000 worstcase 0.5 203.43 ms/op 114.00 ms/op 1.78
altair processRewardsAndPenalties - 250000 normalcase 106.22 ms/op 41.015 ms/op 2.59
altair processRewardsAndPenalties - 250000 worstcase 113.94 ms/op 54.871 ms/op 2.08
phase0 getAttestationDeltas - 250000 normalcase 16.262 ms/op 5.9943 ms/op 2.71
phase0 getAttestationDeltas - 250000 worstcase 16.390 ms/op 8.3034 ms/op 1.97
phase0 processSlashings - 250000 worstcase 132.97 us/op 84.615 us/op 1.57
altair processSyncCommitteeUpdates - 250000 172.38 ms/op 127.03 ms/op 1.36
BeaconState.hashTreeRoot - No change 276.00 ns/op 447.00 ns/op 0.62
BeaconState.hashTreeRoot - 1 full validator 152.76 us/op 130.44 us/op 1.17
BeaconState.hashTreeRoot - 32 full validator 1.6571 ms/op 1.4590 ms/op 1.14
BeaconState.hashTreeRoot - 512 full validator 21.865 ms/op 18.472 ms/op 1.18
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 202.98 us/op 150.25 us/op 1.35
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.8342 ms/op 2.0279 ms/op 1.40
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 40.336 ms/op 32.852 ms/op 1.23
BeaconState.hashTreeRoot - 1 balances 190.26 us/op 118.80 us/op 1.60
BeaconState.hashTreeRoot - 32 balances 2.0046 ms/op 1.1455 ms/op 1.75
BeaconState.hashTreeRoot - 512 balances 15.988 ms/op 10.696 ms/op 1.49
BeaconState.hashTreeRoot - 250000 balances 254.26 ms/op 192.93 ms/op 1.32
aggregationBits - 2048 els - zipIndexesInBitList 34.588 us/op 10.749 us/op 3.22
byteArrayEquals 32 83.081 ns/op 65.390 ns/op 1.27
Buffer.compare 32 59.575 ns/op 39.177 ns/op 1.52
byteArrayEquals 1024 3.9192 us/op 1.7661 us/op 2.22
Buffer.compare 1024 106.30 ns/op 47.677 ns/op 2.23
byteArrayEquals 16384 38.609 us/op 28.330 us/op 1.36
Buffer.compare 16384 286.00 ns/op 223.57 ns/op 1.28
byteArrayEquals 123687377 315.13 ms/op 206.09 ms/op 1.53
Buffer.compare 123687377 12.302 ms/op 7.7511 ms/op 1.59
byteArrayEquals 32 - diff last byte 129.58 ns/op 65.340 ns/op 1.98
Buffer.compare 32 - diff last byte 67.186 ns/op 42.034 ns/op 1.60
byteArrayEquals 1024 - diff last byte 2.1437 us/op 1.9043 us/op 1.13
Buffer.compare 1024 - diff last byte 75.341 ns/op 48.633 ns/op 1.55
byteArrayEquals 16384 - diff last byte 35.172 us/op 27.886 us/op 1.26
Buffer.compare 16384 - diff last byte 287.70 ns/op 241.23 ns/op 1.19
byteArrayEquals 123687377 - diff last byte 287.30 ms/op 213.52 ms/op 1.35
Buffer.compare 123687377 - diff last byte 9.2592 ms/op 6.4727 ms/op 1.43
byteArrayEquals 32 - random bytes 7.3430 ns/op 5.3600 ns/op 1.37
Buffer.compare 32 - random bytes 64.376 ns/op 39.720 ns/op 1.62
byteArrayEquals 1024 - random bytes 6.6450 ns/op 5.0070 ns/op 1.33
Buffer.compare 1024 - random bytes 63.877 ns/op 37.014 ns/op 1.73
byteArrayEquals 16384 - random bytes 7.2140 ns/op 4.9680 ns/op 1.45
Buffer.compare 16384 - random bytes 67.746 ns/op 36.888 ns/op 1.84
byteArrayEquals 123687377 - random bytes 13.800 ns/op 8.1300 ns/op 1.70
Buffer.compare 123687377 - random bytes 79.050 ns/op 39.220 ns/op 2.02
regular array get 100000 times 50.029 us/op 41.615 us/op 1.20
wrappedArray get 100000 times 50.903 us/op 41.354 us/op 1.23
arrayWithProxy get 100000 times 16.612 ms/op 9.2633 ms/op 1.79
ssz.Root.equals 57.579 ns/op 55.729 ns/op 1.03
byteArrayEquals 56.248 ns/op 53.145 ns/op 1.06
Buffer.compare 12.649 ns/op 9.8420 ns/op 1.29
shuffle list - 16384 els 7.8048 ms/op 4.7429 ms/op 1.65
shuffle list - 250000 els 108.80 ms/op 71.127 ms/op 1.53
processSlot - 1 slots 18.906 us/op 15.393 us/op 1.23
processSlot - 32 slots 3.5130 ms/op 2.8292 ms/op 1.24
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 61.051 ms/op 52.256 ms/op 1.17
getCommitteeAssignments - req 1 vs - 250000 vc 2.5400 ms/op 2.2709 ms/op 1.12
getCommitteeAssignments - req 100 vs - 250000 vc 3.7693 ms/op 3.2926 ms/op 1.14
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1346 ms/op 3.7173 ms/op 1.11
findModifiedValidators - 10000 modified validators 525.03 ms/op 433.44 ms/op 1.21
findModifiedValidators - 1000 modified validators 435.35 ms/op 334.49 ms/op 1.30
findModifiedValidators - 100 modified validators 457.27 ms/op 298.28 ms/op 1.53
findModifiedValidators - 10 modified validators 450.88 ms/op 343.26 ms/op 1.31
findModifiedValidators - 1 modified validators 424.57 ms/op 300.73 ms/op 1.41
findModifiedValidators - no difference 439.70 ms/op 286.71 ms/op 1.53
compare ViewDUs 4.7371 s/op 3.9242 s/op 1.21
compare each validator Uint8Array 1.7839 s/op 1.9307 s/op 0.92
compare ViewDU to Uint8Array 1.3515 s/op 786.47 ms/op 1.72
migrate state 1000000 validators, 24 modified, 0 new 865.57 ms/op 748.66 ms/op 1.16
migrate state 1000000 validators, 1700 modified, 1000 new 1.1552 s/op 941.61 ms/op 1.23
migrate state 1000000 validators, 3400 modified, 2000 new 1.4468 s/op 1.1895 s/op 1.22
migrate state 1500000 validators, 24 modified, 0 new 1.0555 s/op 711.67 ms/op 1.48
migrate state 1500000 validators, 1700 modified, 1000 new 1.2053 s/op 931.91 ms/op 1.29
migrate state 1500000 validators, 3400 modified, 2000 new 1.3192 s/op 1.0465 s/op 1.26
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.6800 ns/op 4.3100 ns/op 1.09
state getBlockRootAtSlot - 250000 vs - 7PWei 563.00 ns/op 405.66 ns/op 1.39
computeProposers - vc 250000 9.1952 ms/op 6.1354 ms/op 1.50
computeEpochShuffling - vc 250000 104.16 ms/op 70.765 ms/op 1.47
getNextSyncCommittee - vc 250000 164.05 ms/op 113.51 ms/op 1.45
computeSigningRoot for AttestationData 29.275 us/op 26.077 us/op 1.12
hash AttestationData serialized data then Buffer.toString(base64) 2.3437 us/op 1.2731 us/op 1.84
toHexString serialized data 1.1147 us/op 794.82 ns/op 1.40
Buffer.toString(base64) 223.49 ns/op 152.03 ns/op 1.47

by benchmarkbot/action

@nazarhussain nazarhussain merged commit ae04197 into unstable Dec 21, 2023
11 of 15 checks passed
@nazarhussain nazarhussain deleted the nh/vitest-utils branch December 21, 2023 20:31
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.14.0 🎉

ensi321 pushed a commit to ensi321/lodestar that referenced this pull request Jan 22, 2024
* Migrate utils tests to vitest

* Remove e2e test script
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.

3 participants