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 validator tests to vitest #6301

Merged
merged 2 commits into from
Jan 16, 2024
Merged

Conversation

nazarhussain
Copy link
Contributor

Motivation

Consolidate the testing frameworks and migrate to vitest.

Description

Migrate validator 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 January 15, 2024 20:45
@nazarhussain nazarhussain self-assigned this Jan 15, 2024
Copy link

codecov bot commented Jan 15, 2024

Codecov Report

Merging #6301 (053d9fa) into unstable (bf4969f) will decrease coverage by 4.53%.
Report is 6 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6301      +/-   ##
============================================
- Coverage     81.05%   76.53%   -4.53%     
============================================
  Files           120      248     +128     
  Lines         13835    25936   +12101     
  Branches        790     1449     +659     
============================================
+ Hits          11214    19850    +8636     
- Misses         2608     6056    +3448     
- Partials         13       30      +17     

@wemeetagain
Copy link
Member

validator e2e tests failing

Copy link
Contributor

github-actions bot commented Jan 15, 2024

⚠️ 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: 5ddbb97 Previous: 4ff2911 Ratio
isKnown normal case - 2 super set checks 947.00 ns/op 314.00 ns/op 3.02
Full benchmark results
Benchmark suite Current: 5ddbb97 Previous: 4ff2911 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 521.09 us/op 790.42 us/op 0.66
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 85.727 us/op 80.935 us/op 1.06
BLS verify - blst-native 1.3050 ms/op 1.3015 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 2.7347 ms/op 2.7542 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst-native 5.9769 ms/op 6.1017 ms/op 0.98
BLS verifyMultipleSignatures 32 - blst-native 22.049 ms/op 22.375 ms/op 0.99
BLS verifyMultipleSignatures 64 - blst-native 43.375 ms/op 43.855 ms/op 0.99
BLS verifyMultipleSignatures 128 - blst-native 85.477 ms/op 86.832 ms/op 0.98
BLS deserializing 10000 signatures 939.73 ms/op 928.19 ms/op 1.01
BLS deserializing 100000 signatures 9.5020 s/op 9.3938 s/op 1.01
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.4981 ms/op 1.3394 ms/op 1.12
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.9351 ms/op 1.5185 ms/op 1.27
BLS verifyMultipleSignatures - same message - 32 - blst-native 3.1795 ms/op 2.3234 ms/op 1.37
BLS verifyMultipleSignatures - same message - 64 - blst-native 5.2372 ms/op 4.4427 ms/op 1.18
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.1471 ms/op 7.8803 ms/op 0.78
BLS aggregatePubkeys 32 - blst-native 26.590 us/op 26.029 us/op 1.02
BLS aggregatePubkeys 128 - blst-native 107.57 us/op 100.23 us/op 1.07
getAttestationsForBlock 68.744 ms/op 49.463 ms/op 1.39
getSlashingsAndExits - default max 317.59 us/op 158.89 us/op 2.00
getSlashingsAndExits - 2k 642.08 us/op 370.92 us/op 1.73
proposeBlockBody type=full, size=empty 7.3305 ms/op 4.9057 ms/op 1.49
isKnown best case - 1 super set check 819.00 ns/op 320.00 ns/op 2.56
isKnown normal case - 2 super set checks 947.00 ns/op 314.00 ns/op 3.02
isKnown worse case - 16 super set checks 782.00 ns/op 309.00 ns/op 2.53
CheckpointStateCache - add get delete 8.6580 us/op 5.8350 us/op 1.48
validate api signedAggregateAndProof - struct 3.2010 ms/op 2.7171 ms/op 1.18
validate gossip signedAggregateAndProof - struct 3.7533 ms/op 2.7186 ms/op 1.38
validate gossip attestation - vc 640000 1.5323 ms/op 1.3136 ms/op 1.17
batch validate gossip attestation - vc 640000 - chunk 32 187.31 us/op 156.85 us/op 1.19
batch validate gossip attestation - vc 640000 - chunk 64 161.15 us/op 143.75 us/op 1.12
batch validate gossip attestation - vc 640000 - chunk 128 151.17 us/op 131.74 us/op 1.15
batch validate gossip attestation - vc 640000 - chunk 256 146.41 us/op 128.63 us/op 1.14
pickEth1Vote - no votes 1.3556 ms/op 1.2189 ms/op 1.11
pickEth1Vote - max votes 11.028 ms/op 10.697 ms/op 1.03
pickEth1Vote - Eth1Data hashTreeRoot value x2048 20.323 ms/op 18.045 ms/op 1.13
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 29.444 ms/op 26.088 ms/op 1.13
pickEth1Vote - Eth1Data fastSerialize value x2048 734.94 us/op 575.92 us/op 1.28
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.5539 ms/op 6.1417 ms/op 0.90
bytes32 toHexString 728.00 ns/op 476.00 ns/op 1.53
bytes32 Buffer.toString(hex) 308.00 ns/op 274.00 ns/op 1.12
bytes32 Buffer.toString(hex) from Uint8Array 530.00 ns/op 395.00 ns/op 1.34
bytes32 Buffer.toString(hex) + 0x 305.00 ns/op 275.00 ns/op 1.11
Object access 1 prop 0.20200 ns/op 0.14800 ns/op 1.36
Map access 1 prop 0.15900 ns/op 0.13800 ns/op 1.15
Object get x1000 7.5550 ns/op 7.3300 ns/op 1.03
Map get x1000 0.87100 ns/op 0.70200 ns/op 1.24
Object set x1000 69.429 ns/op 47.136 ns/op 1.47
Map set x1000 50.841 ns/op 36.368 ns/op 1.40
Return object 10000 times 0.26770 ns/op 0.22460 ns/op 1.19
Throw Error 10000 times 4.0157 us/op 3.6671 us/op 1.10
fastMsgIdFn sha256 / 200 bytes 3.3520 us/op 3.1190 us/op 1.07
fastMsgIdFn h32 xxhash / 200 bytes 307.00 ns/op 275.00 ns/op 1.12
fastMsgIdFn h64 xxhash / 200 bytes 358.00 ns/op 337.00 ns/op 1.06
fastMsgIdFn sha256 / 1000 bytes 11.640 us/op 10.823 us/op 1.08
fastMsgIdFn h32 xxhash / 1000 bytes 437.00 ns/op 396.00 ns/op 1.10
fastMsgIdFn h64 xxhash / 1000 bytes 435.00 ns/op 393.00 ns/op 1.11
fastMsgIdFn sha256 / 10000 bytes 105.00 us/op 99.559 us/op 1.05
fastMsgIdFn h32 xxhash / 10000 bytes 2.0110 us/op 1.8430 us/op 1.09
fastMsgIdFn h64 xxhash / 10000 bytes 1.3920 us/op 1.2710 us/op 1.10
send data - 1000 256B messages 20.602 ms/op 17.545 ms/op 1.17
send data - 1000 512B messages 28.291 ms/op 25.348 ms/op 1.12
send data - 1000 1024B messages 43.779 ms/op 39.271 ms/op 1.11
send data - 1000 1200B messages 39.031 ms/op 37.281 ms/op 1.05
send data - 1000 2048B messages 45.649 ms/op 42.997 ms/op 1.06
send data - 1000 4096B messages 41.124 ms/op 40.091 ms/op 1.03
send data - 1000 16384B messages 121.99 ms/op 115.93 ms/op 1.05
send data - 1000 65536B messages 422.10 ms/op 451.35 ms/op 0.94
enrSubnets - fastDeserialize 64 bits 1.2700 us/op 1.2390 us/op 1.03
enrSubnets - ssz BitVector 64 bits 425.00 ns/op 418.00 ns/op 1.02
enrSubnets - fastDeserialize 4 bits 167.00 ns/op 173.00 ns/op 0.97
enrSubnets - ssz BitVector 4 bits 424.00 ns/op 409.00 ns/op 1.04
prioritizePeers score -10:0 att 32-0.1 sync 2-0 111.90 us/op 98.759 us/op 1.13
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 137.59 us/op 119.74 us/op 1.15
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 177.03 us/op 155.55 us/op 1.14
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 311.04 us/op 278.17 us/op 1.12
prioritizePeers score 0:0 att 64-1 sync 4-1 351.93 us/op 324.54 us/op 1.08
array of 16000 items push then shift 1.6221 us/op 1.5390 us/op 1.05
LinkedList of 16000 items push then shift 8.8420 ns/op 8.6190 ns/op 1.03
array of 16000 items push then pop 104.00 ns/op 72.656 ns/op 1.43
LinkedList of 16000 items push then pop 8.8650 ns/op 8.3760 ns/op 1.06
array of 24000 items push then shift 2.6468 us/op 2.2840 us/op 1.16
LinkedList of 24000 items push then shift 9.0660 ns/op 8.5720 ns/op 1.06
array of 24000 items push then pop 157.64 ns/op 110.05 ns/op 1.43
LinkedList of 24000 items push then pop 9.2240 ns/op 8.3110 ns/op 1.11
intersect bitArray bitLen 8 6.5770 ns/op 6.1340 ns/op 1.07
intersect array and set length 8 69.009 ns/op 60.318 ns/op 1.14
intersect bitArray bitLen 128 37.473 ns/op 32.565 ns/op 1.15
intersect array and set length 128 1.0355 us/op 816.37 ns/op 1.27
bitArray.getTrueBitIndexes() bitLen 128 1.6790 us/op 1.4100 us/op 1.19
bitArray.getTrueBitIndexes() bitLen 248 2.8000 us/op 2.3900 us/op 1.17
bitArray.getTrueBitIndexes() bitLen 512 5.4040 us/op 4.7750 us/op 1.13
Buffer.concat 32 items 986.00 ns/op 959.00 ns/op 1.03
Uint8Array.set 32 items 1.6930 us/op 1.9970 us/op 0.85
Set add up to 64 items then delete first 4.4770 us/op 4.2766 us/op 1.05
OrderedSet add up to 64 items then delete first 5.8012 us/op 5.3239 us/op 1.09
Set add up to 64 items then delete last 4.7042 us/op 4.4071 us/op 1.07
OrderedSet add up to 64 items then delete last 5.9735 us/op 5.4437 us/op 1.10
Set add up to 64 items then delete middle 4.8546 us/op 4.3592 us/op 1.11
OrderedSet add up to 64 items then delete middle 7.4139 us/op 6.6675 us/op 1.11
Set add up to 128 items then delete first 9.4153 us/op 8.8194 us/op 1.07
OrderedSet add up to 128 items then delete first 12.530 us/op 12.050 us/op 1.04
Set add up to 128 items then delete last 9.2762 us/op 8.9694 us/op 1.03
OrderedSet add up to 128 items then delete last 12.102 us/op 11.249 us/op 1.08
Set add up to 128 items then delete middle 9.1762 us/op 8.9656 us/op 1.02
OrderedSet add up to 128 items then delete middle 18.919 us/op 16.603 us/op 1.14
Set add up to 256 items then delete first 22.176 us/op 18.457 us/op 1.20
OrderedSet add up to 256 items then delete first 29.752 us/op 24.903 us/op 1.19
Set add up to 256 items then delete last 21.310 us/op 17.955 us/op 1.19
OrderedSet add up to 256 items then delete last 28.621 us/op 22.709 us/op 1.26
Set add up to 256 items then delete middle 21.897 us/op 17.827 us/op 1.23
OrderedSet add up to 256 items then delete middle 52.259 us/op 44.808 us/op 1.17
transfer serialized Status (84 B) 2.0800 us/op 1.7300 us/op 1.20
copy serialized Status (84 B) 1.7410 us/op 1.4500 us/op 1.20
transfer serialized SignedVoluntaryExit (112 B) 2.0610 us/op 1.9570 us/op 1.05
copy serialized SignedVoluntaryExit (112 B) 1.8280 us/op 1.6090 us/op 1.14
transfer serialized ProposerSlashing (416 B) 2.5940 us/op 3.0070 us/op 0.86
copy serialized ProposerSlashing (416 B) 2.4390 us/op 2.9280 us/op 0.83
transfer serialized Attestation (485 B) 2.6640 us/op 3.1300 us/op 0.85
copy serialized Attestation (485 B) 2.6990 us/op 2.9280 us/op 0.92
transfer serialized AttesterSlashing (33232 B) 2.6550 us/op 3.0570 us/op 0.87
copy serialized AttesterSlashing (33232 B) 7.9120 us/op 6.0850 us/op 1.30
transfer serialized Small SignedBeaconBlock (128000 B) 2.7360 us/op 3.1580 us/op 0.87
copy serialized Small SignedBeaconBlock (128000 B) 18.197 us/op 14.113 us/op 1.29
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2230 us/op 3.5600 us/op 0.91
copy serialized Avg SignedBeaconBlock (200000 B) 26.131 us/op 20.032 us/op 1.30
transfer serialized BlobsSidecar (524380 B) 3.3590 us/op 3.3220 us/op 1.01
copy serialized BlobsSidecar (524380 B) 144.60 us/op 81.919 us/op 1.77
transfer serialized Big SignedBeaconBlock (1000000 B) 3.8020 us/op 3.6740 us/op 1.03
copy serialized Big SignedBeaconBlock (1000000 B) 212.93 us/op 148.79 us/op 1.43
pass gossip attestations to forkchoice per slot 3.9058 ms/op 3.8246 ms/op 1.02
forkChoice updateHead vc 100000 bc 64 eq 0 680.15 us/op 660.19 us/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 0 4.7513 ms/op 4.4605 ms/op 1.07
forkChoice updateHead vc 1000000 bc 64 eq 0 7.5078 ms/op 6.9217 ms/op 1.08
forkChoice updateHead vc 600000 bc 320 eq 0 4.2889 ms/op 4.1475 ms/op 1.03
forkChoice updateHead vc 600000 bc 1200 eq 0 4.5805 ms/op 4.2859 ms/op 1.07
forkChoice updateHead vc 600000 bc 7200 eq 0 5.4590 ms/op 5.1188 ms/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 1000 11.815 ms/op 11.180 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 10000 12.145 ms/op 11.816 ms/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 300000 16.802 ms/op 15.579 ms/op 1.08
computeDeltas 500000 validators 300 proto nodes 6.6516 ms/op 6.5100 ms/op 1.02
computeDeltas 500000 validators 1200 proto nodes 6.6431 ms/op 6.3606 ms/op 1.04
computeDeltas 500000 validators 7200 proto nodes 6.4835 ms/op 6.3198 ms/op 1.03
computeDeltas 750000 validators 300 proto nodes 9.8384 ms/op 9.2726 ms/op 1.06
computeDeltas 750000 validators 1200 proto nodes 10.151 ms/op 9.3949 ms/op 1.08
computeDeltas 750000 validators 7200 proto nodes 10.151 ms/op 9.4504 ms/op 1.07
computeDeltas 1400000 validators 300 proto nodes 20.382 ms/op 18.846 ms/op 1.08
computeDeltas 1400000 validators 1200 proto nodes 19.365 ms/op 18.823 ms/op 1.03
computeDeltas 1400000 validators 7200 proto nodes 18.839 ms/op 18.532 ms/op 1.02
computeDeltas 2100000 validators 300 proto nodes 28.489 ms/op 28.620 ms/op 1.00
computeDeltas 2100000 validators 1200 proto nodes 28.253 ms/op 27.150 ms/op 1.04
computeDeltas 2100000 validators 7200 proto nodes 28.657 ms/op 27.829 ms/op 1.03
computeProposerBoostScoreFromBalances 500000 validators 3.7045 ms/op 3.6500 ms/op 1.01
computeProposerBoostScoreFromBalances 750000 validators 3.7106 ms/op 3.5938 ms/op 1.03
computeProposerBoostScoreFromBalances 1400000 validators 3.6477 ms/op 3.5832 ms/op 1.02
computeProposerBoostScoreFromBalances 2100000 validators 3.6330 ms/op 3.6292 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei normalcase 2.2286 ms/op 2.0451 ms/op 1.09
altair processAttestation - 250000 vs - 7PWei worstcase 3.2619 ms/op 3.0241 ms/op 1.08
altair processAttestation - setStatus - 1/6 committees join 172.36 us/op 139.07 us/op 1.24
altair processAttestation - setStatus - 1/3 committees join 322.66 us/op 272.95 us/op 1.18
altair processAttestation - setStatus - 1/2 committees join 438.31 us/op 371.71 us/op 1.18
altair processAttestation - setStatus - 2/3 committees join 573.62 us/op 457.49 us/op 1.25
altair processAttestation - setStatus - 4/5 committees join 766.96 us/op 655.43 us/op 1.17
altair processAttestation - setStatus - 100% committees join 867.04 us/op 758.18 us/op 1.14
altair processBlock - 250000 vs - 7PWei normalcase 10.060 ms/op 9.7957 ms/op 1.03
altair processBlock - 250000 vs - 7PWei normalcase hashState 37.296 ms/op 33.317 ms/op 1.12
altair processBlock - 250000 vs - 7PWei worstcase 36.934 ms/op 35.864 ms/op 1.03
altair processBlock - 250000 vs - 7PWei worstcase hashState 94.857 ms/op 88.727 ms/op 1.07
phase0 processBlock - 250000 vs - 7PWei normalcase 2.2978 ms/op 2.4592 ms/op 0.93
phase0 processBlock - 250000 vs - 7PWei worstcase 28.789 ms/op 30.141 ms/op 0.96
altair processEth1Data - 250000 vs - 7PWei normalcase 586.80 us/op 503.90 us/op 1.16
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.1880 us/op 12.199 us/op 0.59
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 47.659 us/op 57.078 us/op 0.83
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 16.297 us/op 10.631 us/op 1.53
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 11.905 us/op 9.6820 us/op 1.23
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 160.37 us/op 130.14 us/op 1.23
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3589 ms/op 1.0699 ms/op 1.27
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4563 ms/op 1.5594 ms/op 0.93
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7953 ms/op 1.5198 ms/op 1.18
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.5447 ms/op 3.2428 ms/op 1.09
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.3607 ms/op 2.2669 ms/op 1.04
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.4498 ms/op 4.4695 ms/op 1.22
Tree 40 250000 create 330.43 ms/op 336.21 ms/op 0.98
Tree 40 250000 get(125000) 186.93 ns/op 197.93 ns/op 0.94
Tree 40 250000 set(125000) 919.22 ns/op 978.60 ns/op 0.94
Tree 40 250000 toArray() 18.146 ms/op 18.555 ms/op 0.98
Tree 40 250000 iterate all - toArray() + loop 18.457 ms/op 18.713 ms/op 0.99
Tree 40 250000 iterate all - get(i) 62.955 ms/op 64.208 ms/op 0.98
MutableVector 250000 create 13.364 ms/op 13.648 ms/op 0.98
MutableVector 250000 get(125000) 6.8420 ns/op 6.3780 ns/op 1.07
MutableVector 250000 set(125000) 263.99 ns/op 267.42 ns/op 0.99
MutableVector 250000 toArray() 2.9917 ms/op 2.9909 ms/op 1.00
MutableVector 250000 iterate all - toArray() + loop 3.6243 ms/op 3.6905 ms/op 0.98
MutableVector 250000 iterate all - get(i) 1.7550 ms/op 1.8969 ms/op 0.93
Array 250000 create 2.6755 ms/op 2.7935 ms/op 0.96
Array 250000 clone - spread 1.1393 ms/op 1.2348 ms/op 0.92
Array 250000 get(125000) 0.97800 ns/op 1.0270 ns/op 0.95
Array 250000 set(125000) 3.8830 ns/op 4.0590 ns/op 0.96
Array 250000 iterate all - loop 158.97 us/op 163.76 us/op 0.97
effectiveBalanceIncrements clone Uint8Array 300000 24.555 us/op 26.326 us/op 0.93
effectiveBalanceIncrements clone MutableVector 300000 341.00 ns/op 364.00 ns/op 0.94
effectiveBalanceIncrements rw all Uint8Array 300000 190.92 us/op 197.45 us/op 0.97
effectiveBalanceIncrements rw all MutableVector 300000 77.376 ms/op 80.961 ms/op 0.96
phase0 afterProcessEpoch - 250000 vs - 7PWei 110.46 ms/op 111.13 ms/op 0.99
phase0 beforeProcessEpoch - 250000 vs - 7PWei 51.402 ms/op 51.951 ms/op 0.99
altair processEpoch - mainnet_e81889 496.78 ms/op 496.82 ms/op 1.00
mainnet_e81889 - altair beforeProcessEpoch 85.945 ms/op 80.107 ms/op 1.07
mainnet_e81889 - altair processJustificationAndFinalization 15.234 us/op 14.500 us/op 1.05
mainnet_e81889 - altair processInactivityUpdates 5.7434 ms/op 5.4021 ms/op 1.06
mainnet_e81889 - altair processRewardsAndPenalties 62.981 ms/op 60.038 ms/op 1.05
mainnet_e81889 - altair processRegistryUpdates 2.8600 us/op 2.5020 us/op 1.14
mainnet_e81889 - altair processSlashings 496.00 ns/op 426.00 ns/op 1.16
mainnet_e81889 - altair processEth1DataReset 645.00 ns/op 426.00 ns/op 1.51
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4670 ms/op 1.4261 ms/op 1.03
mainnet_e81889 - altair processSlashingsReset 4.3720 us/op 3.6460 us/op 1.20
mainnet_e81889 - altair processRandaoMixesReset 6.0530 us/op 5.0450 us/op 1.20
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0920 us/op 599.00 ns/op 1.82
mainnet_e81889 - altair processParticipationFlagUpdates 2.8590 us/op 2.0950 us/op 1.36
mainnet_e81889 - altair processSyncCommitteeUpdates 507.00 ns/op 556.00 ns/op 0.91
mainnet_e81889 - altair afterProcessEpoch 122.04 ms/op 115.28 ms/op 1.06
capella processEpoch - mainnet_e217614 2.4761 s/op 2.1276 s/op 1.16
mainnet_e217614 - capella beforeProcessEpoch 508.21 ms/op 508.01 ms/op 1.00
mainnet_e217614 - capella processJustificationAndFinalization 14.961 us/op 22.100 us/op 0.68
mainnet_e217614 - capella processInactivityUpdates 16.904 ms/op 23.811 ms/op 0.71
mainnet_e217614 - capella processRewardsAndPenalties 391.80 ms/op 401.69 ms/op 0.98
mainnet_e217614 - capella processRegistryUpdates 17.501 us/op 29.402 us/op 0.60
mainnet_e217614 - capella processSlashings 661.00 ns/op 551.00 ns/op 1.20
mainnet_e217614 - capella processEth1DataReset 479.00 ns/op 516.00 ns/op 0.93
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.9161 ms/op 4.7723 ms/op 1.03
mainnet_e217614 - capella processSlashingsReset 3.4330 us/op 4.3460 us/op 0.79
mainnet_e217614 - capella processRandaoMixesReset 4.9400 us/op 7.5620 us/op 0.65
mainnet_e217614 - capella processHistoricalRootsUpdate 653.00 ns/op 431.00 ns/op 1.52
mainnet_e217614 - capella processParticipationFlagUpdates 2.2600 us/op 1.4720 us/op 1.54
mainnet_e217614 - capella afterProcessEpoch 342.54 ms/op 324.86 ms/op 1.05
phase0 processEpoch - mainnet_e58758 479.25 ms/op 467.16 ms/op 1.03
mainnet_e58758 - phase0 beforeProcessEpoch 112.39 ms/op 121.18 ms/op 0.93
mainnet_e58758 - phase0 processJustificationAndFinalization 15.713 us/op 16.160 us/op 0.97
mainnet_e58758 - phase0 processRewardsAndPenalties 54.485 ms/op 53.539 ms/op 1.02
mainnet_e58758 - phase0 processRegistryUpdates 11.703 us/op 10.390 us/op 1.13
mainnet_e58758 - phase0 processSlashings 593.00 ns/op 538.00 ns/op 1.10
mainnet_e58758 - phase0 processEth1DataReset 501.00 ns/op 376.00 ns/op 1.33
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2218 ms/op 1.1608 ms/op 1.05
mainnet_e58758 - phase0 processSlashingsReset 3.0410 us/op 4.1090 us/op 0.74
mainnet_e58758 - phase0 processRandaoMixesReset 5.5390 us/op 4.0210 us/op 1.38
mainnet_e58758 - phase0 processHistoricalRootsUpdate 563.00 ns/op 465.00 ns/op 1.21
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.0630 us/op 3.1960 us/op 1.27
mainnet_e58758 - phase0 afterProcessEpoch 98.655 ms/op 95.741 ms/op 1.03
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3565 ms/op 1.4046 ms/op 0.97
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4412 ms/op 1.5675 ms/op 0.92
altair processInactivityUpdates - 250000 normalcase 27.739 ms/op 22.633 ms/op 1.23
altair processInactivityUpdates - 250000 worstcase 20.230 ms/op 26.726 ms/op 0.76
phase0 processRegistryUpdates - 250000 normalcase 9.1690 us/op 8.5330 us/op 1.07
phase0 processRegistryUpdates - 250000 badcase_full_deposits 334.94 us/op 392.11 us/op 0.85
phase0 processRegistryUpdates - 250000 worstcase 0.5 143.10 ms/op 122.18 ms/op 1.17
altair processRewardsAndPenalties - 250000 normalcase 58.739 ms/op 60.541 ms/op 0.97
altair processRewardsAndPenalties - 250000 worstcase 61.945 ms/op 56.345 ms/op 1.10
phase0 getAttestationDeltas - 250000 normalcase 8.9419 ms/op 8.7505 ms/op 1.02
phase0 getAttestationDeltas - 250000 worstcase 8.6884 ms/op 9.6382 ms/op 0.90
phase0 processSlashings - 250000 worstcase 87.913 us/op 91.957 us/op 0.96
altair processSyncCommitteeUpdates - 250000 157.46 ms/op 156.41 ms/op 1.01
BeaconState.hashTreeRoot - No change 239.00 ns/op 279.00 ns/op 0.86
BeaconState.hashTreeRoot - 1 full validator 136.09 us/op 152.18 us/op 0.89
BeaconState.hashTreeRoot - 32 full validator 1.5831 ms/op 1.5033 ms/op 1.05
BeaconState.hashTreeRoot - 512 full validator 14.650 ms/op 18.899 ms/op 0.78
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 156.34 us/op 217.97 us/op 0.72
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.3272 ms/op 2.1629 ms/op 1.08
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 29.197 ms/op 28.830 ms/op 1.01
BeaconState.hashTreeRoot - 1 balances 149.09 us/op 122.81 us/op 1.21
BeaconState.hashTreeRoot - 32 balances 1.3905 ms/op 1.1012 ms/op 1.26
BeaconState.hashTreeRoot - 512 balances 12.443 ms/op 17.039 ms/op 0.73
BeaconState.hashTreeRoot - 250000 balances 202.68 ms/op 191.84 ms/op 1.06
aggregationBits - 2048 els - zipIndexesInBitList 17.357 us/op 17.567 us/op 0.99
byteArrayEquals 32 74.624 ns/op 74.156 ns/op 1.01
Buffer.compare 32 55.363 ns/op 55.489 ns/op 1.00
byteArrayEquals 1024 2.0319 us/op 1.9760 us/op 1.03
Buffer.compare 1024 71.547 ns/op 68.704 ns/op 1.04
byteArrayEquals 16384 32.516 us/op 32.149 us/op 1.01
Buffer.compare 16384 252.31 ns/op 269.65 ns/op 0.94
byteArrayEquals 123687377 246.62 ms/op 248.04 ms/op 0.99
Buffer.compare 123687377 6.8942 ms/op 8.2399 ms/op 0.84
byteArrayEquals 32 - diff last byte 71.641 ns/op 73.137 ns/op 0.98
Buffer.compare 32 - diff last byte 55.707 ns/op 57.264 ns/op 0.97
byteArrayEquals 1024 - diff last byte 2.0357 us/op 2.0942 us/op 0.97
Buffer.compare 1024 - diff last byte 71.858 ns/op 74.388 ns/op 0.97
byteArrayEquals 16384 - diff last byte 32.485 us/op 33.441 us/op 0.97
Buffer.compare 16384 - diff last byte 273.67 ns/op 262.95 ns/op 1.04
byteArrayEquals 123687377 - diff last byte 246.68 ms/op 247.00 ms/op 1.00
Buffer.compare 123687377 - diff last byte 7.4616 ms/op 7.2223 ms/op 1.03
byteArrayEquals 32 - random bytes 6.1280 ns/op 5.5930 ns/op 1.10
Buffer.compare 32 - random bytes 65.749 ns/op 60.883 ns/op 1.08
byteArrayEquals 1024 - random bytes 5.9570 ns/op 5.1950 ns/op 1.15
Buffer.compare 1024 - random bytes 62.293 ns/op 59.228 ns/op 1.05
byteArrayEquals 16384 - random bytes 6.0080 ns/op 5.3840 ns/op 1.12
Buffer.compare 16384 - random bytes 61.583 ns/op 60.049 ns/op 1.03
byteArrayEquals 123687377 - random bytes 8.9700 ns/op 8.5500 ns/op 1.05
Buffer.compare 123687377 - random bytes 63.360 ns/op 63.820 ns/op 0.99
regular array get 100000 times 44.893 us/op 44.849 us/op 1.00
wrappedArray get 100000 times 45.262 us/op 44.861 us/op 1.01
arrayWithProxy get 100000 times 14.363 ms/op 14.251 ms/op 1.01
ssz.Root.equals 54.174 ns/op 54.040 ns/op 1.00
byteArrayEquals 53.590 ns/op 53.087 ns/op 1.01
Buffer.compare 10.949 ns/op 11.987 ns/op 0.91
shuffle list - 16384 els 7.0195 ms/op 7.0339 ms/op 1.00
shuffle list - 250000 els 102.38 ms/op 103.54 ms/op 0.99
processSlot - 1 slots 18.122 us/op 17.249 us/op 1.05
processSlot - 32 slots 3.9992 ms/op 3.0352 ms/op 1.32
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 59.104 ms/op 55.220 ms/op 1.07
getCommitteeAssignments - req 1 vs - 250000 vc 2.4992 ms/op 2.4843 ms/op 1.01
getCommitteeAssignments - req 100 vs - 250000 vc 3.7091 ms/op 3.6614 ms/op 1.01
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0299 ms/op 4.0440 ms/op 1.00
findModifiedValidators - 10000 modified validators 511.60 ms/op 523.62 ms/op 0.98
findModifiedValidators - 1000 modified validators 432.23 ms/op 430.54 ms/op 1.00
findModifiedValidators - 100 modified validators 398.71 ms/op 380.59 ms/op 1.05
findModifiedValidators - 10 modified validators 406.25 ms/op 394.07 ms/op 1.03
findModifiedValidators - 1 modified validators 421.07 ms/op 431.32 ms/op 0.98
findModifiedValidators - no difference 392.88 ms/op 425.19 ms/op 0.92
compare ViewDUs 4.4223 s/op 4.3265 s/op 1.02
compare each validator Uint8Array 1.8803 s/op 1.8364 s/op 1.02
compare ViewDU to Uint8Array 1.1405 s/op 1.1131 s/op 1.02
migrate state 1000000 validators, 24 modified, 0 new 750.87 ms/op 781.60 ms/op 0.96
migrate state 1000000 validators, 1700 modified, 1000 new 1.1392 s/op 1.0800 s/op 1.05
migrate state 1000000 validators, 3400 modified, 2000 new 1.3838 s/op 1.3188 s/op 1.05
migrate state 1500000 validators, 24 modified, 0 new 746.36 ms/op 796.33 ms/op 0.94
migrate state 1500000 validators, 1700 modified, 1000 new 1.1000 s/op 1.0936 s/op 1.01
migrate state 1500000 validators, 3400 modified, 2000 new 1.3498 s/op 1.3197 s/op 1.02
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.1100 ns/op 4.4000 ns/op 0.93
state getBlockRootAtSlot - 250000 vs - 7PWei 715.67 ns/op 730.74 ns/op 0.98
computeProposers - vc 250000 8.7380 ms/op 9.1791 ms/op 0.95
computeEpochShuffling - vc 250000 97.485 ms/op 99.063 ms/op 0.98
getNextSyncCommittee - vc 250000 146.43 ms/op 157.65 ms/op 0.93
computeSigningRoot for AttestationData 28.127 us/op 26.756 us/op 1.05
hash AttestationData serialized data then Buffer.toString(base64) 2.2855 us/op 2.2539 us/op 1.01
toHexString serialized data 1.0736 us/op 1.0456 us/op 1.03
Buffer.toString(base64) 220.13 ns/op 211.17 ns/op 1.04

by benchmarkbot/action

@nazarhussain
Copy link
Contributor Author

validator e2e tests failing

Yes its timeout on downloading the docker image. In mocha single timeout value is used for both test and hooks. In Vitest we can configure those separately. Increased the hook timeout so docker image can be downloaded.

@wemeetagain wemeetagain merged commit e4cd53a into unstable Jan 16, 2024
12 of 15 checks passed
@wemeetagain wemeetagain deleted the nh/vitest-validator branch January 16, 2024 15:24
ensi321 pushed a commit to ensi321/lodestar that referenced this pull request Jan 22, 2024
* Migrate validator tests to vitest

* Increase hook timeout for e2e test
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.15.0 🎉

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.

2 participants