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 db unit tests to vitest #6214

Merged
merged 1 commit into from
Dec 21, 2023
Merged

test: migrate db unit tests to vitest #6214

merged 1 commit into from
Dec 21, 2023

Conversation

nazarhussain
Copy link
Contributor

Motivation

Consolidate the testing frameworks and migrate to vitest.

Description

Migratedb unit tests to vitest.

Steps to test or reproduce

  • Run all tests

@nazarhussain nazarhussain requested a review from a team as a code owner December 20, 2023 18:41
Copy link

codecov bot commented Dec 20, 2023

Codecov Report

Merging #6214 (33c497e) into unstable (6d1dc61) will decrease coverage by 1.18%.
The diff coverage is n/a.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6214      +/-   ##
============================================
- Coverage     85.63%   84.46%   -1.18%     
============================================
  Files           172      177       +5     
  Lines         14372    14913     +541     
  Branches        880      909      +29     
============================================
+ Hits          12308    12596     +288     
- Misses         2041     2294     +253     
  Partials         23       23              

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 70a46fd Previous: 6d1dc61 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 599.72 us/op 477.06 us/op 1.26
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 133.36 us/op 85.441 us/op 1.56
BLS verify - blst-native 1.3635 ms/op 1.3061 ms/op 1.04
BLS verifyMultipleSignatures 3 - blst-native 2.9098 ms/op 2.7523 ms/op 1.06
BLS verifyMultipleSignatures 8 - blst-native 6.3220 ms/op 6.1292 ms/op 1.03
BLS verifyMultipleSignatures 32 - blst-native 23.484 ms/op 22.356 ms/op 1.05
BLS verifyMultipleSignatures 64 - blst-native 46.513 ms/op 44.101 ms/op 1.05
BLS verifyMultipleSignatures 128 - blst-native 93.553 ms/op 86.021 ms/op 1.09
BLS deserializing 10000 signatures 973.02 ms/op 942.18 ms/op 1.03
BLS deserializing 100000 signatures 9.2858 s/op 9.4869 s/op 0.98
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3871 ms/op 1.3654 ms/op 1.02
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.6506 ms/op 1.5460 ms/op 1.07
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.5302 ms/op 3.4229 ms/op 0.74
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.7556 ms/op 3.6201 ms/op 1.04
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.0326 ms/op 8.2203 ms/op 0.73
BLS aggregatePubkeys 32 - blst-native 27.581 us/op 28.839 us/op 0.96
BLS aggregatePubkeys 128 - blst-native 105.06 us/op 106.33 us/op 0.99
getAttestationsForBlock 57.202 ms/op 63.800 ms/op 0.90
getSlashingsAndExits - default max 157.23 us/op 184.97 us/op 0.85
getSlashingsAndExits - 2k 422.87 us/op 609.71 us/op 0.69
proposeBlockBody type=full, size=empty 6.7838 ms/op 5.1596 ms/op 1.31
isKnown best case - 1 super set check 563.00 ns/op 322.00 ns/op 1.75
isKnown normal case - 2 super set checks 496.00 ns/op 320.00 ns/op 1.55
isKnown worse case - 16 super set checks 579.00 ns/op 314.00 ns/op 1.84
CheckpointStateCache - add get delete 6.1590 us/op 6.2910 us/op 0.98
validate api signedAggregateAndProof - struct 2.9451 ms/op 2.8432 ms/op 1.04
validate gossip signedAggregateAndProof - struct 2.9699 ms/op 2.8490 ms/op 1.04
validate gossip attestation - vc 640000 1.3973 ms/op 1.4318 ms/op 0.98
batch validate gossip attestation - vc 640000 - chunk 32 166.26 us/op 174.64 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 64 150.40 us/op 187.19 us/op 0.80
batch validate gossip attestation - vc 640000 - chunk 128 178.46 us/op 163.44 us/op 1.09
batch validate gossip attestation - vc 640000 - chunk 256 168.90 us/op 142.80 us/op 1.18
pickEth1Vote - no votes 1.5639 ms/op 1.3629 ms/op 1.15
pickEth1Vote - max votes 13.022 ms/op 12.663 ms/op 1.03
pickEth1Vote - Eth1Data hashTreeRoot value x2048 25.136 ms/op 22.618 ms/op 1.11
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 42.407 ms/op 28.098 ms/op 1.51
pickEth1Vote - Eth1Data fastSerialize value x2048 899.84 us/op 773.62 us/op 1.16
pickEth1Vote - Eth1Data fastSerialize tree x2048 10.503 ms/op 5.1535 ms/op 2.04
bytes32 toHexString 899.00 ns/op 622.00 ns/op 1.45
bytes32 Buffer.toString(hex) 348.00 ns/op 308.00 ns/op 1.13
bytes32 Buffer.toString(hex) from Uint8Array 625.00 ns/op 537.00 ns/op 1.16
bytes32 Buffer.toString(hex) + 0x 361.00 ns/op 323.00 ns/op 1.12
Object access 1 prop 0.27300 ns/op 0.19200 ns/op 1.42
Map access 1 prop 0.18100 ns/op 0.14600 ns/op 1.24
Object get x1000 8.3510 ns/op 7.0620 ns/op 1.18
Map get x1000 0.97400 ns/op 0.83900 ns/op 1.16
Object set x1000 84.324 ns/op 61.327 ns/op 1.37
Map set x1000 62.017 ns/op 50.037 ns/op 1.24
Return object 10000 times 0.28300 ns/op 0.24570 ns/op 1.15
Throw Error 10000 times 4.4740 us/op 4.1298 us/op 1.08
fastMsgIdFn sha256 / 200 bytes 4.1110 us/op 3.4300 us/op 1.20
fastMsgIdFn h32 xxhash / 200 bytes 402.00 ns/op 341.00 ns/op 1.18
fastMsgIdFn h64 xxhash / 200 bytes 441.00 ns/op 384.00 ns/op 1.15
fastMsgIdFn sha256 / 1000 bytes 13.471 us/op 11.927 us/op 1.13
fastMsgIdFn h32 xxhash / 1000 bytes 552.00 ns/op 475.00 ns/op 1.16
fastMsgIdFn h64 xxhash / 1000 bytes 521.00 ns/op 468.00 ns/op 1.11
fastMsgIdFn sha256 / 10000 bytes 142.00 us/op 105.40 us/op 1.35
fastMsgIdFn h32 xxhash / 10000 bytes 2.3420 us/op 1.9800 us/op 1.18
fastMsgIdFn h64 xxhash / 10000 bytes 1.5640 us/op 1.3670 us/op 1.14
send data - 1000 256B messages 26.171 ms/op 20.883 ms/op 1.25
send data - 1000 512B messages 35.035 ms/op 28.669 ms/op 1.22
send data - 1000 1024B messages 52.496 ms/op 43.133 ms/op 1.22
send data - 1000 1200B messages 47.383 ms/op 39.017 ms/op 1.21
send data - 1000 2048B messages 54.425 ms/op 46.233 ms/op 1.18
send data - 1000 4096B messages 58.534 ms/op 42.571 ms/op 1.37
send data - 1000 16384B messages 170.82 ms/op 125.18 ms/op 1.36
send data - 1000 65536B messages 607.02 ms/op 471.39 ms/op 1.29
enrSubnets - fastDeserialize 64 bits 2.2770 us/op 1.2250 us/op 1.86
enrSubnets - ssz BitVector 64 bits 661.00 ns/op 406.00 ns/op 1.63
enrSubnets - fastDeserialize 4 bits 288.00 ns/op 161.00 ns/op 1.79
enrSubnets - ssz BitVector 4 bits 632.00 ns/op 409.00 ns/op 1.55
prioritizePeers score -10:0 att 32-0.1 sync 2-0 163.42 us/op 101.50 us/op 1.61
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 210.24 us/op 126.45 us/op 1.66
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 310.06 us/op 164.05 us/op 1.89
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 415.99 us/op 301.89 us/op 1.38
prioritizePeers score 0:0 att 64-1 sync 4-1 462.74 us/op 374.16 us/op 1.24
array of 16000 items push then shift 2.0083 us/op 1.6712 us/op 1.20
LinkedList of 16000 items push then shift 10.991 ns/op 8.9480 ns/op 1.23
array of 16000 items push then pop 135.65 ns/op 102.48 ns/op 1.32
LinkedList of 16000 items push then pop 10.719 ns/op 9.0580 ns/op 1.18
array of 24000 items push then shift 2.8863 us/op 2.4286 us/op 1.19
LinkedList of 24000 items push then shift 11.987 ns/op 9.1320 ns/op 1.31
array of 24000 items push then pop 204.53 ns/op 139.60 ns/op 1.47
LinkedList of 24000 items push then pop 10.390 ns/op 8.8290 ns/op 1.18
intersect bitArray bitLen 8 7.3050 ns/op 6.7790 ns/op 1.08
intersect array and set length 8 105.07 ns/op 65.353 ns/op 1.61
intersect bitArray bitLen 128 43.932 ns/op 35.439 ns/op 1.24
intersect array and set length 128 1.2765 us/op 876.97 ns/op 1.46
bitArray.getTrueBitIndexes() bitLen 128 2.1380 us/op 1.4800 us/op 1.44
bitArray.getTrueBitIndexes() bitLen 248 3.6840 us/op 2.6880 us/op 1.37
bitArray.getTrueBitIndexes() bitLen 512 7.6920 us/op 4.9400 us/op 1.56
Buffer.concat 32 items 1.2200 us/op 958.00 ns/op 1.27
Uint8Array.set 32 items 3.1440 us/op 1.7480 us/op 1.80
Set add up to 64 items then delete first 5.7356 us/op 4.3900 us/op 1.31
OrderedSet add up to 64 items then delete first 7.5971 us/op 5.4993 us/op 1.38
Set add up to 64 items then delete last 6.8179 us/op 4.6051 us/op 1.48
OrderedSet add up to 64 items then delete last 9.0211 us/op 5.7723 us/op 1.56
Set add up to 64 items then delete middle 6.1367 us/op 4.6056 us/op 1.33
OrderedSet add up to 64 items then delete middle 9.8513 us/op 7.6316 us/op 1.29
Set add up to 128 items then delete first 12.398 us/op 9.3975 us/op 1.32
OrderedSet add up to 128 items then delete first 17.683 us/op 12.052 us/op 1.47
Set add up to 128 items then delete last 12.364 us/op 9.0872 us/op 1.36
OrderedSet add up to 128 items then delete last 16.062 us/op 11.612 us/op 1.38
Set add up to 128 items then delete middle 12.061 us/op 9.0175 us/op 1.34
OrderedSet add up to 128 items then delete middle 22.565 us/op 17.378 us/op 1.30
Set add up to 256 items then delete first 25.733 us/op 18.308 us/op 1.41
OrderedSet add up to 256 items then delete first 36.311 us/op 25.208 us/op 1.44
Set add up to 256 items then delete last 24.108 us/op 18.327 us/op 1.32
OrderedSet add up to 256 items then delete last 32.382 us/op 24.033 us/op 1.35
Set add up to 256 items then delete middle 23.764 us/op 18.729 us/op 1.27
OrderedSet add up to 256 items then delete middle 70.768 us/op 46.639 us/op 1.52
transfer serialized Status (84 B) 2.4850 us/op 1.8300 us/op 1.36
copy serialized Status (84 B) 2.1090 us/op 1.5300 us/op 1.38
transfer serialized SignedVoluntaryExit (112 B) 2.6310 us/op 1.8290 us/op 1.44
copy serialized SignedVoluntaryExit (112 B) 2.0600 us/op 1.4770 us/op 1.39
transfer serialized ProposerSlashing (416 B) 2.6900 us/op 1.9540 us/op 1.38
copy serialized ProposerSlashing (416 B) 2.7290 us/op 1.8490 us/op 1.48
transfer serialized Attestation (485 B) 2.8110 us/op 2.7240 us/op 1.03
copy serialized Attestation (485 B) 3.6540 us/op 1.9560 us/op 1.87
transfer serialized AttesterSlashing (33232 B) 4.2480 us/op 2.2170 us/op 1.92
copy serialized AttesterSlashing (33232 B) 10.831 us/op 5.6350 us/op 1.92
transfer serialized Small SignedBeaconBlock (128000 B) 3.2680 us/op 2.5720 us/op 1.27
copy serialized Small SignedBeaconBlock (128000 B) 32.136 us/op 17.332 us/op 1.85
transfer serialized Avg SignedBeaconBlock (200000 B) 3.7500 us/op 2.9370 us/op 1.28
copy serialized Avg SignedBeaconBlock (200000 B) 46.930 us/op 22.174 us/op 2.12
transfer serialized BlobsSidecar (524380 B) 4.7240 us/op 2.9330 us/op 1.61
copy serialized BlobsSidecar (524380 B) 139.27 us/op 98.144 us/op 1.42
transfer serialized Big SignedBeaconBlock (1000000 B) 5.2540 us/op 3.6200 us/op 1.45
copy serialized Big SignedBeaconBlock (1000000 B) 265.24 us/op 166.44 us/op 1.59
pass gossip attestations to forkchoice per slot 5.0155 ms/op 4.5102 ms/op 1.11
forkChoice updateHead vc 100000 bc 64 eq 0 859.66 us/op 729.77 us/op 1.18
forkChoice updateHead vc 600000 bc 64 eq 0 5.7023 ms/op 5.1815 ms/op 1.10
forkChoice updateHead vc 1000000 bc 64 eq 0 10.889 ms/op 7.1304 ms/op 1.53
forkChoice updateHead vc 600000 bc 320 eq 0 4.9411 ms/op 4.3376 ms/op 1.14
forkChoice updateHead vc 600000 bc 1200 eq 0 5.6408 ms/op 4.4175 ms/op 1.28
forkChoice updateHead vc 600000 bc 7200 eq 0 7.1759 ms/op 5.2179 ms/op 1.38
forkChoice updateHead vc 600000 bc 64 eq 1000 20.165 ms/op 11.418 ms/op 1.77
forkChoice updateHead vc 600000 bc 64 eq 10000 13.893 ms/op 12.130 ms/op 1.15
forkChoice updateHead vc 600000 bc 64 eq 300000 39.717 ms/op 15.993 ms/op 2.48
computeDeltas 500000 validators 300 proto nodes 7.6049 ms/op 6.8080 ms/op 1.12
computeDeltas 500000 validators 1200 proto nodes 6.6386 ms/op 6.7258 ms/op 0.99
computeDeltas 500000 validators 7200 proto nodes 6.4157 ms/op 6.6348 ms/op 0.97
computeDeltas 750000 validators 300 proto nodes 9.7192 ms/op 10.297 ms/op 0.94
computeDeltas 750000 validators 1200 proto nodes 9.5507 ms/op 10.017 ms/op 0.95
computeDeltas 750000 validators 7200 proto nodes 9.4130 ms/op 10.345 ms/op 0.91
computeDeltas 1400000 validators 300 proto nodes 18.735 ms/op 25.738 ms/op 0.73
computeDeltas 1400000 validators 1200 proto nodes 19.605 ms/op 19.752 ms/op 0.99
computeDeltas 1400000 validators 7200 proto nodes 19.522 ms/op 20.283 ms/op 0.96
computeDeltas 2100000 validators 300 proto nodes 30.089 ms/op 29.409 ms/op 1.02
computeDeltas 2100000 validators 1200 proto nodes 29.539 ms/op 29.607 ms/op 1.00
computeDeltas 2100000 validators 7200 proto nodes 29.437 ms/op 30.475 ms/op 0.97
computeProposerBoostScoreFromBalances 500000 validators 4.1152 ms/op 4.1322 ms/op 1.00
computeProposerBoostScoreFromBalances 750000 validators 4.4933 ms/op 3.9190 ms/op 1.15
computeProposerBoostScoreFromBalances 1400000 validators 4.2320 ms/op 3.8170 ms/op 1.11
computeProposerBoostScoreFromBalances 2100000 validators 4.4690 ms/op 3.9122 ms/op 1.14
altair processAttestation - 250000 vs - 7PWei normalcase 4.1173 ms/op 3.9577 ms/op 1.04
altair processAttestation - 250000 vs - 7PWei worstcase 6.1216 ms/op 5.1160 ms/op 1.20
altair processAttestation - setStatus - 1/6 committees join 241.11 us/op 219.97 us/op 1.10
altair processAttestation - setStatus - 1/3 committees join 439.85 us/op 390.65 us/op 1.13
altair processAttestation - setStatus - 1/2 committees join 614.57 us/op 548.78 us/op 1.12
altair processAttestation - setStatus - 2/3 committees join 890.96 us/op 696.29 us/op 1.28
altair processAttestation - setStatus - 4/5 committees join 1.0284 ms/op 863.14 us/op 1.19
altair processAttestation - setStatus - 100% committees join 1.2614 ms/op 1.1470 ms/op 1.10
altair processBlock - 250000 vs - 7PWei normalcase 15.282 ms/op 11.988 ms/op 1.27
altair processBlock - 250000 vs - 7PWei normalcase hashState 50.882 ms/op 44.336 ms/op 1.15
altair processBlock - 250000 vs - 7PWei worstcase 54.680 ms/op 41.404 ms/op 1.32
altair processBlock - 250000 vs - 7PWei worstcase hashState 144.26 ms/op 105.32 ms/op 1.37
phase0 processBlock - 250000 vs - 7PWei normalcase 5.9976 ms/op 3.0582 ms/op 1.96
phase0 processBlock - 250000 vs - 7PWei worstcase 39.706 ms/op 33.862 ms/op 1.17
altair processEth1Data - 250000 vs - 7PWei normalcase 829.72 us/op 777.41 us/op 1.07
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 30.724 us/op 12.498 us/op 2.46
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 77.562 us/op 91.770 us/op 0.85
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 37.612 us/op 24.942 us/op 1.51
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 21.957 us/op 17.359 us/op 1.26
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 239.74 us/op 274.59 us/op 0.87
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.9210 ms/op 2.6342 ms/op 0.73
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.2940 ms/op 3.6711 ms/op 0.62
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.7423 ms/op 2.9309 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 5.2965 ms/op 8.1992 ms/op 0.65
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.0918 ms/op 4.1331 ms/op 0.75
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 8.9804 ms/op 15.054 ms/op 0.60
Tree 40 250000 create 803.02 ms/op 995.28 ms/op 0.81
Tree 40 250000 get(125000) 225.88 ns/op 309.45 ns/op 0.73
Tree 40 250000 set(125000) 2.2449 us/op 1.3746 us/op 1.63
Tree 40 250000 toArray() 27.297 ms/op 25.730 ms/op 1.06
Tree 40 250000 iterate all - toArray() + loop 27.322 ms/op 28.900 ms/op 0.95
Tree 40 250000 iterate all - get(i) 84.517 ms/op 81.290 ms/op 1.04
MutableVector 250000 create 17.833 ms/op 15.328 ms/op 1.16
MutableVector 250000 get(125000) 7.6910 ns/op 6.9470 ns/op 1.11
MutableVector 250000 set(125000) 621.40 ns/op 360.51 ns/op 1.72
MutableVector 250000 toArray() 5.5075 ms/op 4.4648 ms/op 1.23
MutableVector 250000 iterate all - toArray() + loop 5.8482 ms/op 4.9187 ms/op 1.19
MutableVector 250000 iterate all - get(i) 1.7599 ms/op 1.5712 ms/op 1.12
Array 250000 create 4.7937 ms/op 4.3060 ms/op 1.11
Array 250000 clone - spread 1.6979 ms/op 1.4250 ms/op 1.19
Array 250000 get(125000) 2.0850 ns/op 1.2840 ns/op 1.62
Array 250000 set(125000) 5.4560 ns/op 5.4580 ns/op 1.00
Array 250000 iterate all - loop 182.54 us/op 179.22 us/op 1.02
effectiveBalanceIncrements clone Uint8Array 300000 56.357 us/op 60.477 us/op 0.93
effectiveBalanceIncrements clone MutableVector 300000 445.00 ns/op 476.00 ns/op 0.93
effectiveBalanceIncrements rw all Uint8Array 300000 219.29 us/op 202.56 us/op 1.08
effectiveBalanceIncrements rw all MutableVector 300000 151.78 ms/op 113.56 ms/op 1.34
phase0 afterProcessEpoch - 250000 vs - 7PWei 128.40 ms/op 118.56 ms/op 1.08
phase0 beforeProcessEpoch - 250000 vs - 7PWei 64.657 ms/op 42.520 ms/op 1.52
altair processEpoch - mainnet_e81889 531.07 ms/op 558.74 ms/op 0.95
mainnet_e81889 - altair beforeProcessEpoch 97.116 ms/op 103.09 ms/op 0.94
mainnet_e81889 - altair processJustificationAndFinalization 17.162 us/op 22.220 us/op 0.77
mainnet_e81889 - altair processInactivityUpdates 7.1830 ms/op 6.3538 ms/op 1.13
mainnet_e81889 - altair processRewardsAndPenalties 65.081 ms/op 71.975 ms/op 0.90
mainnet_e81889 - altair processRegistryUpdates 3.2540 us/op 4.2240 us/op 0.77
mainnet_e81889 - altair processSlashings 522.00 ns/op 834.00 ns/op 0.63
mainnet_e81889 - altair processEth1DataReset 824.00 ns/op 1.0800 us/op 0.76
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.5027 ms/op 1.4898 ms/op 1.01
mainnet_e81889 - altair processSlashingsReset 3.7600 us/op 4.7620 us/op 0.79
mainnet_e81889 - altair processRandaoMixesReset 7.4370 us/op 6.6130 us/op 1.12
mainnet_e81889 - altair processHistoricalRootsUpdate 974.00 ns/op 960.00 ns/op 1.01
mainnet_e81889 - altair processParticipationFlagUpdates 2.7270 us/op 2.9530 us/op 0.92
mainnet_e81889 - altair processSyncCommitteeUpdates 840.00 ns/op 1.0280 us/op 0.82
mainnet_e81889 - altair afterProcessEpoch 122.17 ms/op 125.94 ms/op 0.97
capella processEpoch - mainnet_e217614 2.7865 s/op 2.8289 s/op 0.99
mainnet_e217614 - capella beforeProcessEpoch 608.18 ms/op 582.69 ms/op 1.04
mainnet_e217614 - capella processJustificationAndFinalization 18.197 us/op 23.099 us/op 0.79
mainnet_e217614 - capella processInactivityUpdates 25.207 ms/op 26.894 ms/op 0.94
mainnet_e217614 - capella processRewardsAndPenalties 456.91 ms/op 497.18 ms/op 0.92
mainnet_e217614 - capella processRegistryUpdates 26.313 us/op 44.724 us/op 0.59
mainnet_e217614 - capella processSlashings 1.9300 us/op 1.1020 us/op 1.75
mainnet_e217614 - capella processEth1DataReset 677.00 ns/op 1.2310 us/op 0.55
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.6540 ms/op 7.7432 ms/op 0.86
mainnet_e217614 - capella processSlashingsReset 11.598 us/op 8.4870 us/op 1.37
mainnet_e217614 - capella processRandaoMixesReset 7.7480 us/op 10.168 us/op 0.76
mainnet_e217614 - capella processHistoricalRootsUpdate 697.00 ns/op 1.5930 us/op 0.44
mainnet_e217614 - capella processParticipationFlagUpdates 2.1000 us/op 4.2690 us/op 0.49
mainnet_e217614 - capella afterProcessEpoch 341.16 ms/op 371.10 ms/op 0.92
phase0 processEpoch - mainnet_e58758 570.71 ms/op 667.97 ms/op 0.85
mainnet_e58758 - phase0 beforeProcessEpoch 209.29 ms/op 235.66 ms/op 0.89
mainnet_e58758 - phase0 processJustificationAndFinalization 25.929 us/op 35.726 us/op 0.73
mainnet_e58758 - phase0 processRewardsAndPenalties 66.802 ms/op 73.694 ms/op 0.91
mainnet_e58758 - phase0 processRegistryUpdates 17.386 us/op 28.223 us/op 0.62
mainnet_e58758 - phase0 processSlashings 925.00 ns/op 1.4660 us/op 0.63
mainnet_e58758 - phase0 processEth1DataReset 777.00 ns/op 1.0360 us/op 0.75
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.6916 ms/op 1.5936 ms/op 1.06
mainnet_e58758 - phase0 processSlashingsReset 6.8890 us/op 6.6120 us/op 1.04
mainnet_e58758 - phase0 processRandaoMixesReset 12.860 us/op 7.7460 us/op 1.66
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.8560 us/op 1.2040 us/op 1.54
mainnet_e58758 - phase0 processParticipationRecordUpdates 10.837 us/op 7.1980 us/op 1.51
mainnet_e58758 - phase0 afterProcessEpoch 129.17 ms/op 101.39 ms/op 1.27
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.8978 ms/op 1.4472 ms/op 1.31
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.2778 ms/op 1.6279 ms/op 1.40
altair processInactivityUpdates - 250000 normalcase 38.805 ms/op 23.822 ms/op 1.63
altair processInactivityUpdates - 250000 worstcase 32.649 ms/op 29.260 ms/op 1.12
phase0 processRegistryUpdates - 250000 normalcase 20.185 us/op 14.071 us/op 1.43
phase0 processRegistryUpdates - 250000 badcase_full_deposits 672.24 us/op 488.15 us/op 1.38
phase0 processRegistryUpdates - 250000 worstcase 0.5 230.17 ms/op 173.78 ms/op 1.32
altair processRewardsAndPenalties - 250000 normalcase 90.737 ms/op 63.537 ms/op 1.43
altair processRewardsAndPenalties - 250000 worstcase 80.545 ms/op 46.339 ms/op 1.74
phase0 getAttestationDeltas - 250000 normalcase 17.487 ms/op 8.8429 ms/op 1.98
phase0 getAttestationDeltas - 250000 worstcase 16.220 ms/op 12.863 ms/op 1.26
phase0 processSlashings - 250000 worstcase 127.08 us/op 138.36 us/op 0.92
altair processSyncCommitteeUpdates - 250000 183.41 ms/op 192.19 ms/op 0.95
BeaconState.hashTreeRoot - No change 280.00 ns/op 321.00 ns/op 0.87
BeaconState.hashTreeRoot - 1 full validator 171.82 us/op 178.86 us/op 0.96
BeaconState.hashTreeRoot - 32 full validator 2.0011 ms/op 2.3780 ms/op 0.84
BeaconState.hashTreeRoot - 512 full validator 19.867 ms/op 22.237 ms/op 0.89
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 206.73 us/op 219.61 us/op 0.94
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.7081 ms/op 2.7165 ms/op 1.00
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 35.482 ms/op 37.704 ms/op 0.94
BeaconState.hashTreeRoot - 1 balances 170.09 us/op 181.68 us/op 0.94
BeaconState.hashTreeRoot - 32 balances 1.6641 ms/op 1.6211 ms/op 1.03
BeaconState.hashTreeRoot - 512 balances 15.349 ms/op 18.226 ms/op 0.84
BeaconState.hashTreeRoot - 250000 balances 255.83 ms/op 267.26 ms/op 0.96
aggregationBits - 2048 els - zipIndexesInBitList 32.858 us/op 35.996 us/op 0.91
byteArrayEquals 32 86.191 ns/op 96.030 ns/op 0.90
Buffer.compare 32 67.115 ns/op 59.988 ns/op 1.12
byteArrayEquals 1024 2.7842 us/op 2.2495 us/op 1.24
Buffer.compare 1024 103.26 ns/op 76.409 ns/op 1.35
byteArrayEquals 16384 61.694 us/op 35.053 us/op 1.76
Buffer.compare 16384 402.65 ns/op 300.11 ns/op 1.34
byteArrayEquals 123687377 277.61 ms/op 293.76 ms/op 0.95
Buffer.compare 123687377 11.074 ms/op 12.497 ms/op 0.89
byteArrayEquals 32 - diff last byte 82.518 ns/op 93.576 ns/op 0.88
Buffer.compare 32 - diff last byte 64.477 ns/op 65.595 ns/op 0.98
byteArrayEquals 1024 - diff last byte 2.2659 us/op 2.5168 us/op 0.90
Buffer.compare 1024 - diff last byte 82.135 ns/op 84.889 ns/op 0.97
byteArrayEquals 16384 - diff last byte 34.620 us/op 36.875 us/op 0.94
Buffer.compare 16384 - diff last byte 269.20 ns/op 290.18 ns/op 0.93
byteArrayEquals 123687377 - diff last byte 306.02 ms/op 298.64 ms/op 1.02
Buffer.compare 123687377 - diff last byte 22.561 ms/op 8.4752 ms/op 2.66
byteArrayEquals 32 - random bytes 8.5520 ns/op 7.0780 ns/op 1.21
Buffer.compare 32 - random bytes 80.395 ns/op 69.703 ns/op 1.15
byteArrayEquals 1024 - random bytes 7.5680 ns/op 6.3340 ns/op 1.19
Buffer.compare 1024 - random bytes 76.555 ns/op 66.205 ns/op 1.16
byteArrayEquals 16384 - random bytes 7.7850 ns/op 6.3840 ns/op 1.22
Buffer.compare 16384 - random bytes 79.247 ns/op 66.744 ns/op 1.19
byteArrayEquals 123687377 - random bytes 11.770 ns/op 9.7400 ns/op 1.21
Buffer.compare 123687377 - random bytes 98.010 ns/op 78.030 ns/op 1.26
regular array get 100000 times 50.776 us/op 47.955 us/op 1.06
wrappedArray get 100000 times 53.869 us/op 47.620 us/op 1.13
arrayWithProxy get 100000 times 19.093 ms/op 14.973 ms/op 1.28
ssz.Root.equals 67.958 ns/op 59.232 ns/op 1.15
byteArrayEquals 60.446 ns/op 57.182 ns/op 1.06
Buffer.compare 14.165 ns/op 13.645 ns/op 1.04
shuffle list - 16384 els 8.0176 ms/op 7.5244 ms/op 1.07
shuffle list - 250000 els 114.45 ms/op 109.35 ms/op 1.05
processSlot - 1 slots 22.563 us/op 21.271 us/op 1.06
processSlot - 32 slots 4.0833 ms/op 3.8978 ms/op 1.05
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 84.049 ms/op 64.092 ms/op 1.31
getCommitteeAssignments - req 1 vs - 250000 vc 2.7362 ms/op 2.8730 ms/op 0.95
getCommitteeAssignments - req 100 vs - 250000 vc 4.2165 ms/op 4.1820 ms/op 1.01
getCommitteeAssignments - req 1000 vs - 250000 vc 4.7175 ms/op 4.5294 ms/op 1.04
findModifiedValidators - 10000 modified validators 705.16 ms/op 724.79 ms/op 0.97
findModifiedValidators - 1000 modified validators 639.62 ms/op 582.17 ms/op 1.10
findModifiedValidators - 100 modified validators 558.84 ms/op 641.92 ms/op 0.87
findModifiedValidators - 10 modified validators 518.84 ms/op 610.73 ms/op 0.85
findModifiedValidators - 1 modified validators 577.06 ms/op 604.92 ms/op 0.95
findModifiedValidators - no difference 592.94 ms/op 572.41 ms/op 1.04
compare ViewDUs 5.1704 s/op 5.5454 s/op 0.93
compare each validator Uint8Array 1.6745 s/op 2.2423 s/op 0.75
compare ViewDU to Uint8Array 1.3281 s/op 1.5191 s/op 0.87
migrate state 1000000 validators, 24 modified, 0 new 779.09 ms/op 1.0276 s/op 0.76
migrate state 1000000 validators, 1700 modified, 1000 new 1.0563 s/op 1.3630 s/op 0.77
migrate state 1000000 validators, 3400 modified, 2000 new 1.3594 s/op 1.7555 s/op 0.77
migrate state 1500000 validators, 24 modified, 0 new 888.86 ms/op 999.44 ms/op 0.89
migrate state 1500000 validators, 1700 modified, 1000 new 1.2757 s/op 1.4079 s/op 0.91
migrate state 1500000 validators, 3400 modified, 2000 new 1.4901 s/op 1.7825 s/op 0.84
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 8.5500 ns/op 6.4000 ns/op 1.34
state getBlockRootAtSlot - 250000 vs - 7PWei 945.41 ns/op 877.00 ns/op 1.08
computeProposers - vc 250000 12.060 ms/op 11.522 ms/op 1.05
computeEpochShuffling - vc 250000 128.78 ms/op 116.55 ms/op 1.10
getNextSyncCommittee - vc 250000 222.56 ms/op 194.93 ms/op 1.14
computeSigningRoot for AttestationData 36.235 us/op 35.178 us/op 1.03
hash AttestationData serialized data then Buffer.toString(base64) 2.4617 us/op 2.5995 us/op 0.95
toHexString serialized data 1.3131 us/op 1.8692 us/op 0.70
Buffer.toString(base64) 317.50 ns/op 298.21 ns/op 1.06

by benchmarkbot/action

@nazarhussain nazarhussain merged commit 18ce33a into unstable Dec 21, 2023
@nazarhussain nazarhussain deleted the nh/vitest-db branch December 21, 2023 12:13
@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.

3 participants