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 light-client tests to vitest #6221

Merged
merged 2 commits into from
Dec 28, 2023

Conversation

nazarhussain
Copy link
Contributor

Motivation

Consolidate the testing frameworks and migrate to vitest.

Description

Migrate light-client 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 14:36
@nazarhussain nazarhussain self-assigned this Dec 21, 2023
Copy link
Contributor

github-actions bot commented Dec 21, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: f3526fd Previous: 2530fae Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 918.60 us/op 391.97 us/op 2.34
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 91.836 us/op 56.089 us/op 1.64
BLS verify - blst-native 1.1823 ms/op 1.1020 ms/op 1.07
BLS verifyMultipleSignatures 3 - blst-native 2.5346 ms/op 2.2812 ms/op 1.11
BLS verifyMultipleSignatures 8 - blst-native 5.4617 ms/op 5.0032 ms/op 1.09
BLS verifyMultipleSignatures 32 - blst-native 19.764 ms/op 18.692 ms/op 1.06
BLS verifyMultipleSignatures 64 - blst-native 38.829 ms/op 36.461 ms/op 1.06
BLS verifyMultipleSignatures 128 - blst-native 79.068 ms/op 75.582 ms/op 1.05
BLS deserializing 10000 signatures 866.24 ms/op 790.63 ms/op 1.10
BLS deserializing 100000 signatures 8.7274 s/op 8.0558 s/op 1.08
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1572 ms/op 1.1746 ms/op 0.99
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.2896 ms/op 1.3177 ms/op 0.98
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.4371 ms/op 2.1175 ms/op 1.15
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.0849 ms/op 3.2463 ms/op 0.95
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.1002 ms/op 6.8566 ms/op 1.04
BLS aggregatePubkeys 32 - blst-native 25.185 us/op 23.949 us/op 1.05
BLS aggregatePubkeys 128 - blst-native 97.399 us/op 85.627 us/op 1.14
getAttestationsForBlock 51.913 ms/op 39.689 ms/op 1.31
getSlashingsAndExits - default max 111.52 us/op 94.766 us/op 1.18
getSlashingsAndExits - 2k 440.44 us/op 402.02 us/op 1.10
proposeBlockBody type=full, size=empty 4.3800 ms/op 4.0703 ms/op 1.08
isKnown best case - 1 super set check 350.00 ns/op 331.00 ns/op 1.06
isKnown normal case - 2 super set checks 366.00 ns/op 321.00 ns/op 1.14
isKnown worse case - 16 super set checks 357.00 ns/op 331.00 ns/op 1.08
CheckpointStateCache - add get delete 4.3040 us/op 3.6920 us/op 1.17
validate api signedAggregateAndProof - struct 2.5864 ms/op 2.5660 ms/op 1.01
validate gossip signedAggregateAndProof - struct 2.4059 ms/op 2.5464 ms/op 0.94
validate gossip attestation - vc 640000 1.1819 ms/op 1.1868 ms/op 1.00
batch validate gossip attestation - vc 640000 - chunk 32 150.13 us/op 146.65 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 64 130.09 us/op 124.32 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 128 123.22 us/op 118.70 us/op 1.04
batch validate gossip attestation - vc 640000 - chunk 256 119.44 us/op 113.37 us/op 1.05
pickEth1Vote - no votes 904.43 us/op 924.25 us/op 0.98
pickEth1Vote - max votes 10.946 ms/op 13.091 ms/op 0.84
pickEth1Vote - Eth1Data hashTreeRoot value x2048 19.727 ms/op 23.765 ms/op 0.83
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 27.947 ms/op 23.761 ms/op 1.18
pickEth1Vote - Eth1Data fastSerialize value x2048 437.97 us/op 513.03 us/op 0.85
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.9556 ms/op 4.4490 ms/op 1.34
bytes32 toHexString 461.00 ns/op 670.00 ns/op 0.69
bytes32 Buffer.toString(hex) 385.00 ns/op 354.00 ns/op 1.09
bytes32 Buffer.toString(hex) from Uint8Array 453.00 ns/op 520.00 ns/op 0.87
bytes32 Buffer.toString(hex) + 0x 333.00 ns/op 321.00 ns/op 1.04
Object access 1 prop 0.19800 ns/op 0.21000 ns/op 0.94
Map access 1 prop 0.19700 ns/op 0.20100 ns/op 0.98
Object get x1000 5.7080 ns/op 5.8160 ns/op 0.98
Map get x1000 0.73800 ns/op 0.73300 ns/op 1.01
Object set x1000 29.183 ns/op 28.161 ns/op 1.04
Map set x1000 17.701 ns/op 17.542 ns/op 1.01
Return object 10000 times 0.23340 ns/op 0.22640 ns/op 1.03
Throw Error 10000 times 2.8426 us/op 2.7868 us/op 1.02
fastMsgIdFn sha256 / 200 bytes 2.1140 us/op 1.9390 us/op 1.09
fastMsgIdFn h32 xxhash / 200 bytes 312.00 ns/op 299.00 ns/op 1.04
fastMsgIdFn h64 xxhash / 200 bytes 348.00 ns/op 344.00 ns/op 1.01
fastMsgIdFn sha256 / 1000 bytes 6.2550 us/op 6.2100 us/op 1.01
fastMsgIdFn h32 xxhash / 1000 bytes 417.00 ns/op 405.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 1000 bytes 406.00 ns/op 405.00 ns/op 1.00
fastMsgIdFn sha256 / 10000 bytes 52.999 us/op 52.287 us/op 1.01
fastMsgIdFn h32 xxhash / 10000 bytes 1.8370 us/op 1.7810 us/op 1.03
fastMsgIdFn h64 xxhash / 10000 bytes 1.2470 us/op 1.2210 us/op 1.02
send data - 1000 256B messages 11.969 ms/op 11.508 ms/op 1.04
send data - 1000 512B messages 15.467 ms/op 14.913 ms/op 1.04
send data - 1000 1024B messages 23.356 ms/op 23.158 ms/op 1.01
send data - 1000 1200B messages 24.859 ms/op 28.532 ms/op 0.87
send data - 1000 2048B messages 37.389 ms/op 36.292 ms/op 1.03
send data - 1000 4096B messages 35.231 ms/op 31.335 ms/op 1.12
send data - 1000 16384B messages 93.188 ms/op 92.439 ms/op 1.01
send data - 1000 65536B messages 444.99 ms/op 422.93 ms/op 1.05
enrSubnets - fastDeserialize 64 bits 1.2290 us/op 976.00 ns/op 1.26
enrSubnets - ssz BitVector 64 bits 530.00 ns/op 411.00 ns/op 1.29
enrSubnets - fastDeserialize 4 bits 268.00 ns/op 201.00 ns/op 1.33
enrSubnets - ssz BitVector 4 bits 568.00 ns/op 416.00 ns/op 1.37
prioritizePeers score -10:0 att 32-0.1 sync 2-0 83.745 us/op 69.770 us/op 1.20
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 112.73 us/op 77.468 us/op 1.46
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 148.42 us/op 102.49 us/op 1.45
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 242.61 us/op 179.67 us/op 1.35
prioritizePeers score 0:0 att 64-1 sync 4-1 248.07 us/op 203.80 us/op 1.22
array of 16000 items push then shift 1.4708 us/op 1.2761 us/op 1.15
LinkedList of 16000 items push then shift 6.3810 ns/op 5.9540 ns/op 1.07
array of 16000 items push then pop 109.45 ns/op 57.390 ns/op 1.91
LinkedList of 16000 items push then pop 6.6930 ns/op 5.6330 ns/op 1.19
array of 24000 items push then shift 1.8547 us/op 1.8935 us/op 0.98
LinkedList of 24000 items push then shift 6.9820 ns/op 5.7590 ns/op 1.21
array of 24000 items push then pop 167.26 ns/op 76.674 ns/op 2.18
LinkedList of 24000 items push then pop 8.2960 ns/op 5.6860 ns/op 1.46
intersect bitArray bitLen 8 5.3520 ns/op 5.0550 ns/op 1.06
intersect array and set length 8 84.816 ns/op 49.177 ns/op 1.72
intersect bitArray bitLen 128 27.788 ns/op 27.571 ns/op 1.01
intersect array and set length 128 818.55 ns/op 686.06 ns/op 1.19
bitArray.getTrueBitIndexes() bitLen 128 1.5030 us/op 1.1500 us/op 1.31
bitArray.getTrueBitIndexes() bitLen 248 2.4860 us/op 1.8300 us/op 1.36
bitArray.getTrueBitIndexes() bitLen 512 5.1690 us/op 3.4360 us/op 1.50
Buffer.concat 32 items 1.0090 us/op 838.00 ns/op 1.20
Uint8Array.set 32 items 2.2590 us/op 1.5860 us/op 1.42
Set add up to 64 items then delete first 1.7863 us/op 1.7346 us/op 1.03
OrderedSet add up to 64 items then delete first 2.7112 us/op 2.6479 us/op 1.02
Set add up to 64 items then delete last 2.0213 us/op 1.9891 us/op 1.02
OrderedSet add up to 64 items then delete last 3.0118 us/op 2.9662 us/op 1.02
Set add up to 64 items then delete middle 2.0175 us/op 1.9838 us/op 1.02
OrderedSet add up to 64 items then delete middle 4.3685 us/op 4.1603 us/op 1.05
Set add up to 128 items then delete first 4.2237 us/op 3.9154 us/op 1.08
OrderedSet add up to 128 items then delete first 7.4080 us/op 6.1481 us/op 1.20
Set add up to 128 items then delete last 5.1766 us/op 3.7722 us/op 1.37
OrderedSet add up to 128 items then delete last 7.2901 us/op 5.7034 us/op 1.28
Set add up to 128 items then delete middle 4.3914 us/op 3.7910 us/op 1.16
OrderedSet add up to 128 items then delete middle 14.034 us/op 10.672 us/op 1.32
Set add up to 256 items then delete first 9.5401 us/op 7.6162 us/op 1.25
OrderedSet add up to 256 items then delete first 12.428 us/op 12.176 us/op 1.02
Set add up to 256 items then delete last 7.4459 us/op 7.4153 us/op 1.00
OrderedSet add up to 256 items then delete last 11.963 us/op 11.342 us/op 1.05
Set add up to 256 items then delete middle 7.8939 us/op 7.3950 us/op 1.07
OrderedSet add up to 256 items then delete middle 35.908 us/op 30.140 us/op 1.19
transfer serialized Status (84 B) 1.4400 us/op 1.3580 us/op 1.06
copy serialized Status (84 B) 1.2670 us/op 1.1650 us/op 1.09
transfer serialized SignedVoluntaryExit (112 B) 1.5240 us/op 1.3710 us/op 1.11
copy serialized SignedVoluntaryExit (112 B) 1.2930 us/op 1.1720 us/op 1.10
transfer serialized ProposerSlashing (416 B) 2.4700 us/op 1.5180 us/op 1.63
copy serialized ProposerSlashing (416 B) 2.1760 us/op 1.3720 us/op 1.59
transfer serialized Attestation (485 B) 1.7390 us/op 1.5680 us/op 1.11
copy serialized Attestation (485 B) 1.8610 us/op 1.3820 us/op 1.35
transfer serialized AttesterSlashing (33232 B) 1.8180 us/op 1.6410 us/op 1.11
copy serialized AttesterSlashing (33232 B) 3.8210 us/op 3.4760 us/op 1.10
transfer serialized Small SignedBeaconBlock (128000 B) 1.7800 us/op 1.7240 us/op 1.03
copy serialized Small SignedBeaconBlock (128000 B) 9.2930 us/op 8.3810 us/op 1.11
transfer serialized Avg SignedBeaconBlock (200000 B) 2.0450 us/op 1.9190 us/op 1.07
copy serialized Avg SignedBeaconBlock (200000 B) 51.419 us/op 12.711 us/op 4.05
transfer serialized BlobsSidecar (524380 B) 2.4450 us/op 2.2330 us/op 1.09
copy serialized BlobsSidecar (524380 B) 84.216 us/op 78.101 us/op 1.08
transfer serialized Big SignedBeaconBlock (1000000 B) 2.8150 us/op 2.6970 us/op 1.04
copy serialized Big SignedBeaconBlock (1000000 B) 195.40 us/op 195.67 us/op 1.00
pass gossip attestations to forkchoice per slot 3.0578 ms/op 2.7362 ms/op 1.12
forkChoice updateHead vc 100000 bc 64 eq 0 595.81 us/op 491.32 us/op 1.21
forkChoice updateHead vc 600000 bc 64 eq 0 3.0644 ms/op 2.7156 ms/op 1.13
forkChoice updateHead vc 1000000 bc 64 eq 0 5.1750 ms/op 4.4277 ms/op 1.17
forkChoice updateHead vc 600000 bc 320 eq 0 2.9649 ms/op 2.6223 ms/op 1.13
forkChoice updateHead vc 600000 bc 1200 eq 0 3.1848 ms/op 2.6921 ms/op 1.18
forkChoice updateHead vc 600000 bc 7200 eq 0 4.5816 ms/op 3.5379 ms/op 1.29
forkChoice updateHead vc 600000 bc 64 eq 1000 10.511 ms/op 10.063 ms/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 10000 10.311 ms/op 9.7239 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 300000 13.995 ms/op 11.895 ms/op 1.18
computeDeltas 500000 validators 300 proto nodes 3.8701 ms/op 3.0617 ms/op 1.26
computeDeltas 500000 validators 1200 proto nodes 3.4785 ms/op 2.9465 ms/op 1.18
computeDeltas 500000 validators 7200 proto nodes 3.3490 ms/op 3.0148 ms/op 1.11
computeDeltas 750000 validators 300 proto nodes 5.0431 ms/op 4.7349 ms/op 1.07
computeDeltas 750000 validators 1200 proto nodes 5.0366 ms/op 4.7388 ms/op 1.06
computeDeltas 750000 validators 7200 proto nodes 5.1706 ms/op 4.5791 ms/op 1.13
computeDeltas 1400000 validators 300 proto nodes 10.103 ms/op 9.4619 ms/op 1.07
computeDeltas 1400000 validators 1200 proto nodes 9.5094 ms/op 8.9484 ms/op 1.06
computeDeltas 1400000 validators 7200 proto nodes 9.6733 ms/op 9.1763 ms/op 1.05
computeDeltas 2100000 validators 300 proto nodes 14.417 ms/op 13.958 ms/op 1.03
computeDeltas 2100000 validators 1200 proto nodes 14.811 ms/op 13.560 ms/op 1.09
computeDeltas 2100000 validators 7200 proto nodes 16.009 ms/op 13.674 ms/op 1.17
computeProposerBoostScoreFromBalances 500000 validators 3.4606 ms/op 3.2580 ms/op 1.06
computeProposerBoostScoreFromBalances 750000 validators 3.4783 ms/op 3.2912 ms/op 1.06
computeProposerBoostScoreFromBalances 1400000 validators 3.4668 ms/op 3.2024 ms/op 1.08
computeProposerBoostScoreFromBalances 2100000 validators 3.4738 ms/op 3.2294 ms/op 1.08
altair processAttestation - 250000 vs - 7PWei normalcase 3.0711 ms/op 1.6979 ms/op 1.81
altair processAttestation - 250000 vs - 7PWei worstcase 2.7414 ms/op 2.8145 ms/op 0.97
altair processAttestation - setStatus - 1/6 committees join 156.16 us/op 122.77 us/op 1.27
altair processAttestation - setStatus - 1/3 committees join 200.60 us/op 210.54 us/op 0.95
altair processAttestation - setStatus - 1/2 committees join 293.89 us/op 364.88 us/op 0.81
altair processAttestation - setStatus - 2/3 committees join 455.68 us/op 404.38 us/op 1.13
altair processAttestation - setStatus - 4/5 committees join 549.48 us/op 691.76 us/op 0.79
altair processAttestation - setStatus - 100% committees join 708.91 us/op 647.73 us/op 1.09
altair processBlock - 250000 vs - 7PWei normalcase 9.2625 ms/op 12.047 ms/op 0.77
altair processBlock - 250000 vs - 7PWei normalcase hashState 32.294 ms/op 40.059 ms/op 0.81
altair processBlock - 250000 vs - 7PWei worstcase 33.561 ms/op 49.499 ms/op 0.68
altair processBlock - 250000 vs - 7PWei worstcase hashState 84.396 ms/op 136.43 ms/op 0.62
phase0 processBlock - 250000 vs - 7PWei normalcase 3.1518 ms/op 4.0689 ms/op 0.77
phase0 processBlock - 250000 vs - 7PWei worstcase 30.156 ms/op 34.489 ms/op 0.87
altair processEth1Data - 250000 vs - 7PWei normalcase 503.73 us/op 750.49 us/op 0.67
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.693 us/op 5.4010 us/op 1.98
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 43.789 us/op 52.845 us/op 0.83
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 15.394 us/op 14.676 us/op 1.05
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 16.083 us/op 9.1200 us/op 1.76
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 162.87 us/op 154.45 us/op 1.05
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 748.59 us/op 1.5432 ms/op 0.49
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.5172 ms/op 1.0401 ms/op 1.46
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7849 ms/op 1.4502 ms/op 1.23
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.7816 ms/op 2.2438 ms/op 1.24
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.5039 ms/op 1.7352 ms/op 1.44
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.6666 ms/op 3.3702 ms/op 1.98
Tree 40 250000 create 416.44 ms/op 272.28 ms/op 1.53
Tree 40 250000 get(125000) 132.86 ns/op 105.15 ns/op 1.26
Tree 40 250000 set(125000) 1.2335 us/op 732.16 ns/op 1.68
Tree 40 250000 toArray() 22.683 ms/op 14.880 ms/op 1.52
Tree 40 250000 iterate all - toArray() + loop 23.238 ms/op 14.651 ms/op 1.59
Tree 40 250000 iterate all - get(i) 54.042 ms/op 40.548 ms/op 1.33
MutableVector 250000 create 13.435 ms/op 11.686 ms/op 1.15
MutableVector 250000 get(125000) 6.1880 ns/op 5.3550 ns/op 1.16
MutableVector 250000 set(125000) 337.47 ns/op 196.76 ns/op 1.72
MutableVector 250000 toArray() 4.9080 ms/op 2.5651 ms/op 1.91
MutableVector 250000 iterate all - toArray() + loop 4.2646 ms/op 2.7324 ms/op 1.56
MutableVector 250000 iterate all - get(i) 1.3907 ms/op 1.3298 ms/op 1.05
Array 250000 create 3.6101 ms/op 2.3689 ms/op 1.52
Array 250000 clone - spread 1.1206 ms/op 9.1842 ms/op 0.12
Array 250000 get(125000) 1.4580 ns/op 1.0410 ns/op 1.40
Array 250000 set(125000) 2.0430 ns/op 1.1490 ns/op 1.78
Array 250000 iterate all - loop 156.25 us/op 147.23 us/op 1.06
effectiveBalanceIncrements clone Uint8Array 300000 15.889 us/op 18.699 us/op 0.85
effectiveBalanceIncrements clone MutableVector 300000 292.00 ns/op 352.00 ns/op 0.83
effectiveBalanceIncrements rw all Uint8Array 300000 186.13 us/op 176.45 us/op 1.05
effectiveBalanceIncrements rw all MutableVector 300000 94.990 ms/op 61.459 ms/op 1.55
phase0 afterProcessEpoch - 250000 vs - 7PWei 81.282 ms/op 77.303 ms/op 1.05
phase0 beforeProcessEpoch - 250000 vs - 7PWei 50.282 ms/op 44.584 ms/op 1.13
altair processEpoch - mainnet_e81889 457.37 ms/op 428.32 ms/op 1.07
mainnet_e81889 - altair beforeProcessEpoch 68.492 ms/op 74.221 ms/op 0.92
mainnet_e81889 - altair processJustificationAndFinalization 7.2340 us/op 10.411 us/op 0.69
mainnet_e81889 - altair processInactivityUpdates 6.5383 ms/op 5.9123 ms/op 1.11
mainnet_e81889 - altair processRewardsAndPenalties 58.253 ms/op 58.935 ms/op 0.99
mainnet_e81889 - altair processRegistryUpdates 3.4530 us/op 2.5700 us/op 1.34
mainnet_e81889 - altair processSlashings 829.00 ns/op 601.00 ns/op 1.38
mainnet_e81889 - altair processEth1DataReset 710.00 ns/op 571.00 ns/op 1.24
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4598 ms/op 1.7600 ms/op 0.83
mainnet_e81889 - altair processSlashingsReset 4.4120 us/op 2.4930 us/op 1.77
mainnet_e81889 - altair processRandaoMixesReset 4.6420 us/op 2.8330 us/op 1.64
mainnet_e81889 - altair processHistoricalRootsUpdate 777.00 ns/op 649.00 ns/op 1.20
mainnet_e81889 - altair processParticipationFlagUpdates 2.7330 us/op 1.4530 us/op 1.88
mainnet_e81889 - altair processSyncCommitteeUpdates 1.1470 us/op 532.00 ns/op 2.16
mainnet_e81889 - altair afterProcessEpoch 84.827 ms/op 80.565 ms/op 1.05
capella processEpoch - mainnet_e217614 2.3463 s/op 2.2132 s/op 1.06
mainnet_e217614 - capella beforeProcessEpoch 494.17 ms/op 429.03 ms/op 1.15
mainnet_e217614 - capella processJustificationAndFinalization 18.074 us/op 11.791 us/op 1.53
mainnet_e217614 - capella processInactivityUpdates 24.571 ms/op 19.446 ms/op 1.26
mainnet_e217614 - capella processRewardsAndPenalties 436.97 ms/op 383.38 ms/op 1.14
mainnet_e217614 - capella processRegistryUpdates 29.803 us/op 13.682 us/op 2.18
mainnet_e217614 - capella processSlashings 1.0250 us/op 591.00 ns/op 1.73
mainnet_e217614 - capella processEth1DataReset 1.1200 us/op 628.00 ns/op 1.78
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.8753 ms/op 3.4986 ms/op 1.39
mainnet_e217614 - capella processSlashingsReset 7.3810 us/op 3.0990 us/op 2.38
mainnet_e217614 - capella processRandaoMixesReset 7.2050 us/op 8.2410 us/op 0.87
mainnet_e217614 - capella processHistoricalRootsUpdate 1.1910 us/op 793.00 ns/op 1.50
mainnet_e217614 - capella processParticipationFlagUpdates 3.3290 us/op 1.3540 us/op 2.46
mainnet_e217614 - capella afterProcessEpoch 243.04 ms/op 227.97 ms/op 1.07
phase0 processEpoch - mainnet_e58758 603.02 ms/op 415.10 ms/op 1.45
mainnet_e58758 - phase0 beforeProcessEpoch 151.49 ms/op 142.03 ms/op 1.07
mainnet_e58758 - phase0 processJustificationAndFinalization 21.149 us/op 16.703 us/op 1.27
mainnet_e58758 - phase0 processRewardsAndPenalties 52.347 ms/op 47.537 ms/op 1.10
mainnet_e58758 - phase0 processRegistryUpdates 12.874 us/op 9.0180 us/op 1.43
mainnet_e58758 - phase0 processSlashings 871.00 ns/op 978.00 ns/op 0.89
mainnet_e58758 - phase0 processEth1DataReset 851.00 ns/op 640.00 ns/op 1.33
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 941.66 us/op 969.53 us/op 0.97
mainnet_e58758 - phase0 processSlashingsReset 3.7850 us/op 4.1260 us/op 0.92
mainnet_e58758 - phase0 processRandaoMixesReset 4.7100 us/op 4.2310 us/op 1.11
mainnet_e58758 - phase0 processHistoricalRootsUpdate 826.00 ns/op 997.00 ns/op 0.83
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.6360 us/op 5.0010 us/op 1.13
mainnet_e58758 - phase0 afterProcessEpoch 68.334 ms/op 68.392 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0968 ms/op 1.2471 ms/op 0.88
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.1768 ms/op 1.2880 ms/op 0.91
altair processInactivityUpdates - 250000 normalcase 27.487 ms/op 30.384 ms/op 0.90
altair processInactivityUpdates - 250000 worstcase 25.804 ms/op 26.847 ms/op 0.96
phase0 processRegistryUpdates - 250000 normalcase 13.854 us/op 11.336 us/op 1.22
phase0 processRegistryUpdates - 250000 badcase_full_deposits 426.02 us/op 391.91 us/op 1.09
phase0 processRegistryUpdates - 250000 worstcase 0.5 143.88 ms/op 114.00 ms/op 1.26
altair processRewardsAndPenalties - 250000 normalcase 59.673 ms/op 41.015 ms/op 1.45
altair processRewardsAndPenalties - 250000 worstcase 59.835 ms/op 54.871 ms/op 1.09
phase0 getAttestationDeltas - 250000 normalcase 6.4395 ms/op 5.9943 ms/op 1.07
phase0 getAttestationDeltas - 250000 worstcase 5.5746 ms/op 8.3034 ms/op 0.67
phase0 processSlashings - 250000 worstcase 93.768 us/op 84.615 us/op 1.11
altair processSyncCommitteeUpdates - 250000 100.05 ms/op 127.03 ms/op 0.79
BeaconState.hashTreeRoot - No change 334.00 ns/op 447.00 ns/op 0.75
BeaconState.hashTreeRoot - 1 full validator 94.141 us/op 130.44 us/op 0.72
BeaconState.hashTreeRoot - 32 full validator 1.0691 ms/op 1.4590 ms/op 0.73
BeaconState.hashTreeRoot - 512 full validator 11.704 ms/op 18.472 ms/op 0.63
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 183.33 us/op 150.25 us/op 1.22
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.7659 ms/op 2.0279 ms/op 1.36
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 34.300 ms/op 32.852 ms/op 1.04
BeaconState.hashTreeRoot - 1 balances 167.69 us/op 118.80 us/op 1.41
BeaconState.hashTreeRoot - 32 balances 1.1487 ms/op 1.1455 ms/op 1.00
BeaconState.hashTreeRoot - 512 balances 15.164 ms/op 10.696 ms/op 1.42
BeaconState.hashTreeRoot - 250000 balances 223.49 ms/op 192.93 ms/op 1.16
aggregationBits - 2048 els - zipIndexesInBitList 12.253 us/op 10.749 us/op 1.14
byteArrayEquals 32 66.825 ns/op 65.390 ns/op 1.02
Buffer.compare 32 38.710 ns/op 39.177 ns/op 0.99
byteArrayEquals 1024 1.7460 us/op 1.7661 us/op 0.99
Buffer.compare 1024 43.883 ns/op 47.677 ns/op 0.92
byteArrayEquals 16384 28.268 us/op 28.330 us/op 1.00
Buffer.compare 16384 202.22 ns/op 223.57 ns/op 0.90
byteArrayEquals 123687377 216.37 ms/op 206.09 ms/op 1.05
Buffer.compare 123687377 7.0314 ms/op 7.7511 ms/op 0.91
byteArrayEquals 32 - diff last byte 65.462 ns/op 65.340 ns/op 1.00
Buffer.compare 32 - diff last byte 41.044 ns/op 42.034 ns/op 0.98
byteArrayEquals 1024 - diff last byte 1.8033 us/op 1.9043 us/op 0.95
Buffer.compare 1024 - diff last byte 51.384 ns/op 48.633 ns/op 1.06
byteArrayEquals 16384 - diff last byte 35.116 us/op 27.886 us/op 1.26
Buffer.compare 16384 - diff last byte 240.80 ns/op 241.23 ns/op 1.00
byteArrayEquals 123687377 - diff last byte 219.57 ms/op 213.52 ms/op 1.03
Buffer.compare 123687377 - diff last byte 7.6002 ms/op 6.4727 ms/op 1.17
byteArrayEquals 32 - random bytes 5.3850 ns/op 5.3600 ns/op 1.00
Buffer.compare 32 - random bytes 42.497 ns/op 39.720 ns/op 1.07
byteArrayEquals 1024 - random bytes 4.7880 ns/op 5.0070 ns/op 0.96
Buffer.compare 1024 - random bytes 40.886 ns/op 37.014 ns/op 1.10
byteArrayEquals 16384 - random bytes 4.6430 ns/op 4.9680 ns/op 0.93
Buffer.compare 16384 - random bytes 38.178 ns/op 36.888 ns/op 1.03
byteArrayEquals 123687377 - random bytes 17.530 ns/op 8.1300 ns/op 2.16
Buffer.compare 123687377 - random bytes 51.040 ns/op 39.220 ns/op 1.30
regular array get 100000 times 43.153 us/op 41.615 us/op 1.04
wrappedArray get 100000 times 44.049 us/op 41.354 us/op 1.07
arrayWithProxy get 100000 times 9.9249 ms/op 9.2633 ms/op 1.07
ssz.Root.equals 57.331 ns/op 55.729 ns/op 1.03
byteArrayEquals 56.186 ns/op 53.145 ns/op 1.06
Buffer.compare 11.877 ns/op 9.8420 ns/op 1.21
shuffle list - 16384 els 5.0595 ms/op 4.7429 ms/op 1.07
shuffle list - 250000 els 71.608 ms/op 71.127 ms/op 1.01
processSlot - 1 slots 18.967 us/op 15.393 us/op 1.23
processSlot - 32 slots 4.1733 ms/op 2.8292 ms/op 1.48
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.914 ms/op 52.256 ms/op 1.11
getCommitteeAssignments - req 1 vs - 250000 vc 2.3144 ms/op 2.2709 ms/op 1.02
getCommitteeAssignments - req 100 vs - 250000 vc 3.4573 ms/op 3.2926 ms/op 1.05
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7393 ms/op 3.7173 ms/op 1.01
findModifiedValidators - 10000 modified validators 422.33 ms/op 433.44 ms/op 0.97
findModifiedValidators - 1000 modified validators 369.36 ms/op 334.49 ms/op 1.10
findModifiedValidators - 100 modified validators 356.94 ms/op 298.28 ms/op 1.20
findModifiedValidators - 10 modified validators 366.92 ms/op 343.26 ms/op 1.07
findModifiedValidators - 1 modified validators 349.82 ms/op 300.73 ms/op 1.16
findModifiedValidators - no difference 365.69 ms/op 286.71 ms/op 1.28
compare ViewDUs 4.6841 s/op 3.9242 s/op 1.19
compare each validator Uint8Array 1.3527 s/op 1.9307 s/op 0.70
compare ViewDU to Uint8Array 1.1092 s/op 786.47 ms/op 1.41
migrate state 1000000 validators, 24 modified, 0 new 817.44 ms/op 748.66 ms/op 1.09
migrate state 1000000 validators, 1700 modified, 1000 new 1.1868 s/op 941.61 ms/op 1.26
migrate state 1000000 validators, 3400 modified, 2000 new 1.3913 s/op 1.1895 s/op 1.17
migrate state 1500000 validators, 24 modified, 0 new 824.03 ms/op 711.67 ms/op 1.16
migrate state 1500000 validators, 1700 modified, 1000 new 1.2241 s/op 931.91 ms/op 1.31
migrate state 1500000 validators, 3400 modified, 2000 new 1.5070 s/op 1.0465 s/op 1.44
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.8400 ns/op 4.3100 ns/op 1.35
state getBlockRootAtSlot - 250000 vs - 7PWei 1.1885 us/op 405.66 ns/op 2.93
computeProposers - vc 250000 6.5447 ms/op 6.1354 ms/op 1.07
computeEpochShuffling - vc 250000 73.211 ms/op 70.765 ms/op 1.03
getNextSyncCommittee - vc 250000 146.32 ms/op 113.51 ms/op 1.29
computeSigningRoot for AttestationData 26.593 us/op 26.077 us/op 1.02
hash AttestationData serialized data then Buffer.toString(base64) 1.3194 us/op 1.2731 us/op 1.04
toHexString serialized data 849.71 ns/op 794.82 ns/op 1.07
Buffer.toString(base64) 160.06 ns/op 152.03 ns/op 1.05

by benchmarkbot/action

Copy link

codecov bot commented Dec 21, 2023

Codecov Report

Merging #6221 (ee77d50) into unstable (2530fae) will decrease coverage by 1.01%.
The diff coverage is n/a.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6221      +/-   ##
============================================
- Coverage     84.46%   83.45%   -1.01%     
============================================
  Files           177      194      +17     
  Lines         14913    16581    +1668     
  Branches        909      998      +89     
============================================
+ Hits          12596    13838    +1242     
- Misses         2294     2719     +425     
- Partials         23       24       +1     

Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@nazarhussain nazarhussain merged commit 82d7bc2 into unstable Dec 28, 2023
14 checks passed
@nazarhussain nazarhussain deleted the nh/vitest-light-client branch December 28, 2023 12:04
@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
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.

None yet

3 participants