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

⚡️ Faster read of parameters passed to runners #5676

Merged
merged 5 commits into from
Feb 7, 2025
Merged

Conversation

dubzzz
Copy link
Owner

@dubzzz dubzzz commented Feb 6, 2025

Description

The code that was responsible to read the parameters passed to runners such as assert or check used not to be really optimized. It feft at runtime into megamorphic complexities and leveraged comparisons known to be inefficient.

This PR attempts to make it faster. Given this piece of code is used for any execution of property, even a small performance uplift is good to take.

ChecklistDon't delete this checklist and make sure you do the following before opening the PR

  • The name of my PR follows gitmoji specification
  • My PR references one of several related issues (if any)
    • New features or breaking changes must come with an associated Issue or Discussion
    • My PR does not add any new dependency without an associated Issue or Discussion
  • My PR includes bumps details, please run yarn bump and flag the impacts properly
  • My PR adds relevant tests and they would have failed without my PR (when applicable)

Advanced

  • Category: ⚡️ Improve performance
  • Impacts: None expected

Sorry, something went wrong.

Copy link

changeset-bot bot commented Feb 6, 2025

🦋 Changeset detected

Latest commit: 10ba580

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
fast-check Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link

pkg-pr-new bot commented Feb 7, 2025

Open in Stackblitz@fast-check/examples

@fast-check/ava

npm i https://pkg.pr.new/@fast-check/ava@5676

@fast-check/expect-type

npm i https://pkg.pr.new/@fast-check/expect-type@5676

@fast-check/jest

npm i https://pkg.pr.new/@fast-check/jest@5676

fast-check

npm i https://pkg.pr.new/fast-check@5676

@fast-check/packaged

npm i https://pkg.pr.new/@fast-check/packaged@5676

@fast-check/poisoning

npm i https://pkg.pr.new/@fast-check/poisoning@5676

@fast-check/vitest

npm i https://pkg.pr.new/@fast-check/vitest@5676

@fast-check/worker

npm i https://pkg.pr.new/@fast-check/worker@5676

commit: 10ba580

Copy link
Contributor

github-actions bot commented Feb 7, 2025

👋 A preview of the new documentation is available at: http://67a550de3fbb189c2d33e97d--dubzzz-fast-check.netlify.app

@dubzzz
Copy link
Owner Author

dubzzz commented Feb 7, 2025

Benchmark started at: https://github.com/dubzzz/fast-check-benchmarks/actions/runs/13190409526

┌─────────┬──────────────────────────────────────────────────────────────────┬──────────┬────────────────────┬───────────┬─────────┐
│ (index) │ Task Name                                                        │ ops/sec  │ Average Time (ns)  │ Margin    │ Samples │
├─────────┼──────────────────────────────────────────────────────────────────┼──────────┼────────────────────┼───────────┼─────────┤
│ 0       │ 'boolean [property] on fast-check@3.23.0'                        │ '10,180' │ 98223.11999741942  │ '±11.29%' │ 100     │
│ 1       │ 'boolean [property] on fast-check@main'                          │ '10,021' │ 99784.15999910794  │ '±10.01%' │ 100     │
│ 2       │ 'boolean [property] on fast-check@extra'                         │ '10,259' │ 97473.43999973964  │ '±10.09%' │ 100     │
│ 3       │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 4       │ 'integer [property] on fast-check@3.23.0'                        │ '10,670' │ 93718.38000020944  │ '±6.47%'  │ 100     │
│ 5       │ 'integer [property] on fast-check@main'                          │ '10,052' │ 99482.59000026155  │ '±9.05%'  │ 100     │
│ 6       │ 'integer [property] on fast-check@extra'                         │ '10,269' │ 97379.29999857442  │ '±8.44%'  │ 100     │
│ 7       │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 8       │ 'maxSafeInteger [property] on fast-check@3.23.0'                 │ '9,298'  │ 107548.67000126978 │ '±7.72%'  │ 100     │
│ 9       │ 'maxSafeInteger [property] on fast-check@main'                   │ '9,253'  │ 108061.81999912951 │ '±6.35%'  │ 100     │
│ 10      │ 'maxSafeInteger [property] on fast-check@extra'                  │ '9,331'  │ 107169.29999820422 │ '±8.29%'  │ 100     │
│ 11      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 12      │ 'float [property] on fast-check@3.23.0'                          │ '8,073'  │ 123859.0900003328  │ '±9.46%'  │ 100     │
│ 13      │ 'float [property] on fast-check@main'                            │ '7,921'  │ 126239.03000087012 │ '±9.13%'  │ 100     │
│ 14      │ 'float [property] on fast-check@extra'                           │ '8,549'  │ 116962.06000138773 │ '±7.63%'  │ 100     │
│ 15      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 16      │ 'double [property] on fast-check@3.23.0'                         │ '4,323'  │ 231311.79000076372 │ '±9.89%'  │ 100     │
│ 17      │ 'double [property] on fast-check@main'                           │ '6,379'  │ 156754.1299998993  │ '±9.18%'  │ 100     │
│ 18      │ 'double [property] on fast-check@extra'                          │ '6,174'  │ 161951.8200008315  │ '±9.24%'  │ 100     │
│ 19      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 20      │ 'bigInt [property] on fast-check@3.23.0'                         │ '4,913'  │ 203500.89000159642 │ '±7.59%'  │ 100     │
│ 21      │ 'bigInt [property] on fast-check@main'                           │ '5,853'  │ 170827.14000047417 │ '±5.91%'  │ 100     │
│ 22      │ 'bigInt [property] on fast-check@extra'                          │ '5,769'  │ 173336.83000004385 │ '±6.41%'  │ 100     │
│ 23      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 24      │ 'date [property] on fast-check@3.23.0'                           │ '8,287'  │ 120660.16999917338 │ '±7.18%'  │ 100     │
│ 25      │ 'date [property] on fast-check@main'                             │ '7,949'  │ 125793.54000015883 │ '±7.63%'  │ 100     │
│ 26      │ 'date [property] on fast-check@extra'                            │ '8,172'  │ 122368.97999915527 │ '±8.11%'  │ 100     │
│ 27      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 28      │ 'string [property] on fast-check@3.23.0'                         │ '5,401'  │ 185148.22999888565 │ '±6.88%'  │ 100     │
│ 29      │ 'string [property] on fast-check@main'                           │ '5,351'  │ 186850.03999940818 │ '±6.73%'  │ 100     │
│ 30      │ 'string [property] on fast-check@extra'                          │ '5,399'  │ 185203.22999975178 │ '±5.67%'  │ 100     │
│ 31      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 32      │ 'string@500 [property] on fast-check@3.23.0'                     │ '367'    │ 2718462.540002656  │ '±2.24%'  │ 100     │
│ 33      │ 'string@500 [property] on fast-check@main'                       │ '361'    │ 2768420.0399994734 │ '±2.27%'  │ 100     │
│ 34      │ 'string@500 [property] on fast-check@extra'                      │ '352'    │ 2835058.9000000036 │ '±2.17%'  │ 100     │
│ 35      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 36      │ 'string@25k [property] on fast-check@3.23.0'                     │ '5'      │ 182226135.5499993  │ '±3.52%'  │ 100     │
│ 37      │ 'string@25k [property] on fast-check@main'                       │ '5'      │ 188577879.9300021  │ '±3.16%'  │ 100     │
│ 38      │ 'string@25k [property] on fast-check@extra'                      │ '5'      │ 193365684.450001   │ '±3.60%'  │ 100     │
│ 39      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 40      │ 'string(grapheme-composite) [property] on fast-check@3.23.0'     │ '3,809'  │ 262516.01000432856 │ '±21.81%' │ 100     │
│ 41      │ 'string(grapheme-composite) [property] on fast-check@main'       │ '4,425'  │ 225982.24999732338 │ '±7.85%'  │ 100     │
│ 42      │ 'string(grapheme-composite) [property] on fast-check@extra'      │ '3,839'  │ 260461.86999767087 │ '±9.69%'  │ 100     │
│ 43      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 44      │ 'string(grapheme-composite)@500 [property] on fast-check@3.23.0' │ '244'    │ 4089608.010002994  │ '±2.18%'  │ 100     │
│ 45      │ 'string(grapheme-composite)@500 [property] on fast-check@main'   │ '238'    │ 4186651.4600010123 │ '±2.61%'  │ 100     │
│ 46      │ 'string(grapheme-composite)@500 [property] on fast-check@extra'  │ '215'    │ 4637692.030000035  │ '±2.42%'  │ 100     │
│ 47      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 48      │ 'string(grapheme-composite)@25k [property] on fast-check@3.23.0' │ '3'      │ 276222372.53999805 │ '±3.06%'  │ 100     │
│ 49      │ 'string(grapheme-composite)@25k [property] on fast-check@main'   │ '3'      │ 267727853.25000122 │ '±2.86%'  │ 100     │
│ 50      │ 'string(grapheme-composite)@25k [property] on fast-check@extra'  │ '3'      │ 293953572.6500023  │ '±2.67%'  │ 100     │
│ 51      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 52      │ 'string(grapheme) [property] on fast-check@3.23.0'               │ '3,995'  │ 250254.33000235353 │ '±16.84%' │ 100     │
│ 53      │ 'string(grapheme) [property] on fast-check@main'                 │ '4,259'  │ 234787.8900001524  │ '±10.02%' │ 100     │
│ 54      │ 'string(grapheme) [property] on fast-check@extra'                │ '4,136'  │ 241739.33999903966 │ '±8.58%'  │ 100     │
│ 55      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 56      │ 'string(grapheme)@500 [property] on fast-check@3.23.0'           │ '230'    │ 4340407.69999614   │ '±1.88%'  │ 100     │
│ 57      │ 'string(grapheme)@500 [property] on fast-check@main'             │ '223'    │ 4481644.80000094   │ '±2.62%'  │ 100     │
│ 58      │ 'string(grapheme)@500 [property] on fast-check@extra'            │ '201'    │ 4964903.2900016755 │ '±2.70%'  │ 100     │
│ 59      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 60      │ 'string(grapheme)@25k [property] on fast-check@3.23.0'           │ '3'      │ 289315142.7299995  │ '±3.03%'  │ 100     │
│ 61      │ 'string(grapheme)@25k [property] on fast-check@main'             │ '3'      │ 293032782.24000126 │ '±2.78%'  │ 100     │
│ 62      │ 'string(grapheme)@25k [property] on fast-check@extra'            │ '3'      │ 318141952.99000186 │ '±2.81%'  │ 100     │
│ 63      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 64      │ 'array(integer) [property] on fast-check@3.23.0'                 │ '6,493'  │ 153996.07999890577 │ '±17.43%' │ 100     │
│ 65      │ 'array(integer) [property] on fast-check@main'                   │ '7,053'  │ 141770.22000134457 │ '±7.49%'  │ 100     │
│ 66      │ 'array(integer) [property] on fast-check@extra'                  │ '7,052'  │ 141800.79000419937 │ '±6.72%'  │ 100     │
│ 67      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 68      │ 'array(integer)@500 [property] on fast-check@3.23.0'             │ '564'    │ 1771156.7100026878 │ '±2.72%'  │ 100     │
│ 69      │ 'array(integer)@500 [property] on fast-check@main'               │ '563'    │ 1773554.740001564  │ '±2.52%'  │ 100     │
│ 70      │ 'array(integer)@500 [property] on fast-check@extra'              │ '521'    │ 1919264.4400004065 │ '±2.59%'  │ 100     │
│ 71      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 72      │ 'array(integer)@25k [property] on fast-check@3.23.0'             │ '9'      │ 110286509.59999707 │ '±3.18%'  │ 100     │
│ 73      │ 'array(integer)@25k [property] on fast-check@main'               │ '8'      │ 112664601.98000073 │ '±4.21%'  │ 100     │
│ 74      │ 'array(integer)@25k [property] on fast-check@extra'              │ '8'      │ 116867349.63999654 │ '±3.80%'  │ 100     │
│ 75      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 76      │ 'uniqueArray(integer) [property] on fast-check@3.23.0'           │ '5,537'  │ 180574.520000373   │ '±12.03%' │ 100     │
│ 77      │ 'uniqueArray(integer) [property] on fast-check@main'             │ '5,989'  │ 166964.84999731183 │ '±8.25%'  │ 100     │
│ 78      │ 'uniqueArray(integer) [property] on fast-check@extra'            │ '5,819'  │ 171822.00000039302 │ '±9.53%'  │ 100     │
│ 79      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 80      │ 'uniqueArray(integer)@500 [property] on fast-check@3.23.0'       │ '356'    │ 2806897.109996062  │ '±2.39%'  │ 100     │
│ 81      │ 'uniqueArray(integer)@500 [property] on fast-check@main'         │ '353'    │ 2829628.340000636  │ '±2.33%'  │ 100     │
│ 82      │ 'uniqueArray(integer)@500 [property] on fast-check@extra'        │ '347'    │ 2881664.1900036484 │ '±2.36%'  │ 100     │
│ 83      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 84      │ 'anything [property] on fast-check@3.23.0'                       │ '629'    │ 1587439.319997211  │ '±4.68%'  │ 100     │
│ 85      │ 'anything [property] on fast-check@main'                         │ '622'    │ 1606291.710001533  │ '±5.84%'  │ 100     │
│ 86      │ 'anything [property] on fast-check@extra'                        │ '606'    │ 1649626.7200022703 │ '±6.69%'  │ 100     │
│ 87      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 88      │ 'subarray([1,2,3]) [property] on fast-check@3.23.0'              │ '6,783'  │ 147423.66999969818 │ '±10.87%' │ 100     │
│ 89      │ 'subarray([1,2,3]) [property] on fast-check@main'                │ '5,289'  │ 189067.5000002375  │ '±10.52%' │ 100     │
│ 90      │ 'subarray([1,2,3]) [property] on fast-check@extra'               │ '7,722'  │ 129493.16999875009 │ '±10.49%' │ 100     │
│ 91      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 92      │ 'shuffledSubarray([1,2,3]) [property] on fast-check@3.23.0'      │ '8,789'  │ 113777.74000109639 │ '±9.80%'  │ 100     │
│ 93      │ 'shuffledSubarray([1,2,3]) [property] on fast-check@main'        │ '8,749'  │ 114290.24000302888 │ '±9.76%'  │ 100     │
│ 94      │ 'shuffledSubarray([1,2,3]) [property] on fast-check@extra'       │ '8,791'  │ 113748.00999998115 │ '±9.76%'  │ 100     │
│ 95      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 96      │ 'constant [property] on fast-check@3.23.0'                       │ '10,869' │ 91999.81000158004  │ '±12.26%' │ 100     │
│ 97      │ 'constant [property] on fast-check@main'                         │ '11,821' │ 84589.91999796126  │ '±7.77%'  │ 100     │
│ 98      │ 'constant [property] on fast-check@extra'                        │ '11,284' │ 88616.30000290461  │ '±13.85%' │ 100     │
│ 99      │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 100     │ 'constantFrom(a,b,c) [property] on fast-check@3.23.0'            │ '11,398' │ 87734.63000310585  │ '±13.27%' │ 100     │
│ 101     │ 'constantFrom(a,b,c) [property] on fast-check@main'              │ '12,145' │ 82333.06000067387  │ '±6.90%'  │ 100     │
│ 102     │ 'constantFrom(a,b,c) [property] on fast-check@extra'             │ '11,457' │ 87278.5700042732   │ '±12.11%' │ 100     │
│ 103     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 104     │ 'mapToConstant([a-z]) [property] on fast-check@3.23.0'           │ '9,836'  │ 101659.80000514537 │ '±11.39%' │ 100     │
│ 105     │ 'mapToConstant([a-z]) [property] on fast-check@main'             │ '9,970'  │ 100292.19000367448 │ '±11.24%' │ 100     │
│ 106     │ 'mapToConstant([a-z]) [property] on fast-check@extra'            │ '10,504' │ 95195.8899985766   │ '±6.39%'  │ 100     │
│ 107     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 108     │ 'mapToConstant([a-z][A-Z][0-9]) [property] on fast-check@3.23.0' │ '9,580'  │ 104374.74000151269 │ '±10.66%' │ 100     │
│ 109     │ 'mapToConstant([a-z][A-Z][0-9]) [property] on fast-check@main'   │ '9,696'  │ 103131.98000018019 │ '±11.38%' │ 100     │
│ 110     │ 'mapToConstant([a-z][A-Z][0-9]) [property] on fast-check@extra'  │ '9,732'  │ 102749.17000206187 │ '±12.05%' │ 100     │
│ 111     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 112     │ 'option(integer) [property] on fast-check@3.23.0'                │ '10,184' │ 98186.23000115622  │ '±6.34%'  │ 100     │
│ 113     │ 'option(integer) [property] on fast-check@main'                  │ '9,547'  │ 104740.1299997     │ '±10.29%' │ 100     │
│ 114     │ 'option(integer) [property] on fast-check@extra'                 │ '9,608'  │ 104069.18999971822 │ '±10.45%' │ 100     │
│ 115     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 116     │ 'oneof(integer,integer) [property] on fast-check@3.23.0'         │ '9,545'  │ 104766.76999707706 │ '±10.78%' │ 100     │
│ 117     │ 'oneof(integer,integer) [property] on fast-check@main'           │ '9,519'  │ 105050.00999954063 │ '±10.33%' │ 100     │
│ 118     │ 'oneof(integer,integer) [property] on fast-check@extra'          │ '9,990'  │ 100096.860001795   │ '±6.25%'  │ 100     │
│ 119     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 120     │ 'oneof(integer@1,integer@2) [property] on fast-check@3.23.0'     │ '9,659'  │ 103522.88999943994 │ '±10.29%' │ 100     │
│ 121     │ 'oneof(integer@1,integer@2) [property] on fast-check@main'       │ '9,518'  │ 105053.2400002703  │ '±10.07%' │ 100     │
│ 122     │ 'oneof(integer@1,integer@2) [property] on fast-check@extra'      │ '9,565'  │ 104545.24000408128 │ '±10.24%' │ 100     │
│ 123     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 124     │ 'tuple(integer,integer) [property] on fast-check@3.23.0'         │ '8,811'  │ 113489.54999935813 │ '±9.50%'  │ 100     │
│ 125     │ 'tuple(integer,integer) [property] on fast-check@main'           │ '8,559'  │ 116830.0699989777  │ '±9.20%'  │ 100     │
│ 126     │ 'tuple(integer,integer) [property] on fast-check@extra'          │ '8,735'  │ 114469.06000026502 │ '±9.48%'  │ 100     │
│ 127     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 128     │ 'record(integer,integer) [property] on fast-check@3.23.0'        │ '3,539'  │ 282561.88999745063 │ '±10.54%' │ 100     │
│ 129     │ 'record(integer,integer) [property] on fast-check@main'          │ '3,894'  │ 256756.5699975239  │ '±12.08%' │ 100     │
│ 130     │ 'record(integer,integer) [property] on fast-check@extra'         │ '3,968'  │ 251987.40999563597 │ '±11.43%' │ 100     │
│ 131     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 132     │ 'letrec(node) [property] on fast-check@3.23.0'                   │ '4,581'  │ 218276.1000021128  │ '±11.93%' │ 100     │
│ 133     │ 'letrec(node) [property] on fast-check@main'                     │ '4,301'  │ 232452.48999504838 │ '±8.63%'  │ 100     │
│ 134     │ 'letrec(node) [property] on fast-check@extra'                    │ '5,530'  │ 180824.8799998546  │ '±7.07%'  │ 100     │
│ 135     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 136     │ 'letrec(comment-generator) [property] on fast-check@3.23.0'      │ '2,784'  │ 359141.8899979908  │ '±7.89%'  │ 100     │
│ 137     │ 'letrec(comment-generator) [property] on fast-check@main'        │ '28,420' │ 35185.81999989692  │ '±12.35%' │ 100     │
│ 138     │ 'letrec(comment-generator) [property] on fast-check@extra'       │ '29,913' │ 33430.110000190325 │ '±10.83%' │ 100     │
│ 139     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 140     │ 'memo(node@2) [property] on fast-check@3.23.0'                   │ '2,103'  │ 475488.47999889404 │ '±9.49%'  │ 100     │
│ 141     │ 'memo(node@2) [property] on fast-check@main'                     │ '2,298'  │ 435049.3600027403  │ '±10.22%' │ 100     │
│ 142     │ 'memo(node@2) [property] on fast-check@extra'                    │ '2,418'  │ 413494.67000050936 │ '±8.18%'  │ 100     │
│ 143     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 144     │ 'emailAddress [property] on fast-check@3.23.0'                   │ '99'     │ 10057555.070001982 │ '±1.18%'  │ 100     │
│ 145     │ 'emailAddress [property] on fast-check@main'                     │ '786'    │ 1271343.0899969535 │ '±3.85%'  │ 100     │
│ 146     │ 'emailAddress [property] on fast-check@extra'                    │ '758'    │ 1318422.740000533  │ '±4.45%'  │ 100     │
│ 147     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 148     │ 'uuid [property] on fast-check@3.23.0'                           │ '3,998'  │ 250072.2399976803  │ '±8.38%'  │ 100     │
│ 149     │ 'uuid [property] on fast-check@main'                             │ '3,985'  │ 250879.7599974787  │ '±7.78%'  │ 100     │
│ 150     │ 'uuid [property] on fast-check@extra'                            │ '3,912'  │ 255574.34999849647 │ '±8.73%'  │ 100     │
│ 151     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 152     │ 'ulid [property] on fast-check@3.23.0'                           │ '4,929'  │ 202863.58000012115 │ '±7.97%'  │ 100     │
│ 153     │ 'ulid [property] on fast-check@main'                             │ '4,503'  │ 222065.6199986115  │ '±9.90%'  │ 100     │
│ 154     │ 'ulid [property] on fast-check@extra'                            │ '4,436'  │ 225385.64000220504 │ '±10.01%' │ 100     │
│ 155     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 156     │ 'webUrl [property] on fast-check@3.23.0'                         │ '181'    │ 5496940.169999725  │ '±2.26%'  │ 100     │
│ 157     │ 'webUrl [property] on fast-check@main'                           │ '1,283'  │ 779107.6899971813  │ '±6.26%'  │ 100     │
│ 158     │ 'webUrl [property] on fast-check@extra'                          │ '1,231'  │ 812241.5900032502  │ '±7.55%'  │ 100     │
│ 159     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 160     │ 'ipV4 [property] on fast-check@3.23.0'                           │ '5,304'  │ 188506.07000174932 │ '±21.76%' │ 100     │
│ 161     │ 'ipV4 [property] on fast-check@main'                             │ '5,658'  │ 176737.03000007663 │ '±15.92%' │ 100     │
│ 162     │ 'ipV4 [property] on fast-check@extra'                            │ '5,604'  │ 178421.64000088815 │ '±16.73%' │ 100     │
│ 163     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 164     │ 'ipV6 [property] on fast-check@3.23.0'                           │ '1,633'  │ 612125.0400005374  │ '±8.01%'  │ 100     │
│ 165     │ 'ipV6 [property] on fast-check@main'                             │ '473'    │ 2112192.660001456  │ '±3.22%'  │ 100     │
│ 166     │ 'ipV6 [property] on fast-check@extra'                            │ '473'    │ 2112674.569999217  │ '±2.98%'  │ 100     │
│ 167     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 168     │ 'domain [property] on fast-check@3.23.0'                         │ '183'    │ 5451525.3800019855 │ '±1.27%'  │ 100     │
│ 169     │ 'domain [property] on fast-check@main'                           │ '2,166'  │ 461637.85000448115 │ '±7.92%'  │ 100     │
│ 170     │ 'domain [property] on fast-check@extra'                          │ '2,176'  │ 459491.6700059548  │ '±6.86%'  │ 100     │
│ 171     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 172     │ 'webPath [property] on fast-check@3.23.0'                        │ '2,805'  │ 356416.35000007227 │ '±9.99%'  │ 100     │
│ 173     │ 'webPath [property] on fast-check@main'                          │ '3,442'  │ 290505.95000211615 │ '±9.62%'  │ 100     │
│ 174     │ 'webPath [property] on fast-check@extra'                         │ '3,581'  │ 279190.29999990016 │ '±6.76%'  │ 100     │
│ 175     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 176     │ 'base64String [property] on fast-check@3.23.0'                   │ '4,922'  │ 203156.9799943827  │ '±9.73%'  │ 100     │
│ 177     │ 'base64String [property] on fast-check@main'                     │ '4,647'  │ 215159.91000109352 │ '±10.01%' │ 100     │
│ 178     │ 'base64String [property] on fast-check@extra'                    │ '4,637'  │ 215622.07000213675 │ '±9.18%'  │ 100     │
│ 179     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 180     │ 'lorem [property] on fast-check@3.23.0'                          │ '3,237'  │ 308897.3400031682  │ '±10.48%' │ 100     │
│ 181     │ 'lorem [property] on fast-check@main'                            │ '3,129'  │ 319528.1400019303  │ '±9.67%'  │ 100     │
│ 182     │ 'lorem [property] on fast-check@extra'                           │ '3,251'  │ 307577.18999753706 │ '±6.68%'  │ 100     │
│ 183     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 184     │ 'json [property] on fast-check@3.23.0'                           │ '604'    │ 1654951.6100028995 │ '±4.48%'  │ 100     │
│ 185     │ 'json [property] on fast-check@main'                             │ '574'    │ 1741635.7299993979 │ '±6.94%'  │ 100     │
│ 186     │ 'json [property] on fast-check@extra'                            │ '596'    │ 1677011.050004512  │ '±4.59%'  │ 100     │
│ 187     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 188     │ 'stringMatching(^[a-zA-Z0-9]$) [property] on fast-check@3.23.0'  │ '5,802'  │ 172353.41000487097 │ '±11.55%' │ 100     │
│ 189     │ 'stringMatching(^[a-zA-Z0-9]$) [property] on fast-check@main'    │ '5,624'  │ 177804.81000663713 │ '±12.72%' │ 100     │
│ 190     │ 'stringMatching(^[a-zA-Z0-9]$) [property] on fast-check@extra'   │ '6,037'  │ 165640.4199975077  │ '±9.19%'  │ 100     │
│ 191     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 192     │ 'stringMatching(ipV4) [property] on fast-check@3.23.0'           │ '1,886'  │ 530159.9799992982  │ '±7.91%'  │ 100     │
│ 193     │ 'stringMatching(ipV4) [property] on fast-check@main'             │ '1,962'  │ 509507.83000153024 │ '±7.15%'  │ 100     │
│ 194     │ 'stringMatching(ipV4) [property] on fast-check@extra'            │ '1,756'  │ 569397.8900002548  │ '±8.02%'  │ 100     │
│ 195     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 196     │ 'mixedCase(hello) [property] on fast-check@3.23.0'               │ '3,871'  │ 258300.52000063006 │ '±11.09%' │ 100     │
│ 197     │ 'mixedCase(hello) [property] on fast-check@main'                 │ '4,585'  │ 218087.1700012358  │ '±9.57%'  │ 100     │
│ 198     │ 'mixedCase(hello) [property] on fast-check@extra'                │ '4,367'  │ 228987.55000322126 │ '±10.80%' │ 100     │
│ 199     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 200     │ 'integer|>filter(true) [property] on fast-check@3.23.0'          │ '10,086' │ 99138.99000210222  │ '±12.55%' │ 100     │
│ 201     │ 'integer|>filter(true) [property] on fast-check@main'            │ '9,855'  │ 101469.17999896687 │ '±12.26%' │ 100     │
│ 202     │ 'integer|>filter(true) [property] on fast-check@extra'           │ '10,774' │ 92815.78999769408  │ '±6.48%'  │ 100     │
│ 203     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 204     │ 'integer|>map(self) [property] on fast-check@3.23.0'             │ '10,002' │ 99975.99999653175  │ '±13.26%' │ 100     │
│ 205     │ 'integer|>map(self) [property] on fast-check@main'               │ '9,914'  │ 100862.27000399958 │ '±11.66%' │ 100     │
│ 206     │ 'integer|>map(self) [property] on fast-check@extra'              │ '10,143' │ 98582.10000267718  │ '±11.42%' │ 100     │
│ 207     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 208     │ 'integer|>chain(integer) [property] on fast-check@3.23.0'        │ '8,200'  │ 121942.43999896571 │ '±11.19%' │ 100     │
│ 209     │ 'integer|>chain(integer) [property] on fast-check@main'          │ '8,123'  │ 123104.89000054076 │ '±11.09%' │ 100     │
│ 210     │ 'integer|>chain(integer) [property] on fast-check@extra'         │ '7,504'  │ 133261.4099967759  │ '±11.48%' │ 100     │
│ 211     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 212     │ 'integer|>noBias [property] on fast-check@3.23.0'                │ '12,122' │ 82494.07999916002  │ '±6.93%'  │ 100     │
│ 213     │ 'integer|>noBias [property] on fast-check@main'                  │ '89,024' │ 11232.819997239858 │ '±20.31%' │ 100     │
│ 214     │ 'integer|>noBias [property] on fast-check@extra'                 │ '95,486' │ 10472.640003426932 │ '±19.17%' │ 100     │
│ 215     │ '—'                                                              │ '—'      │ '—'                │ '—'       │ '—'     │
│ 216     │ 'integer|>noShrink [property] on fast-check@3.23.0'              │ '8,253'  │ 121167.12000104599 │ '±11.58%' │ 100     │
│ 217     │ 'integer|>noShrink [property] on fast-check@main'                │ '7,655'  │ 130619.44999790285 │ '±12.32%' │ 100     │
│ 218     │ 'integer|>noShrink [property] on fast-check@extra'               │ '10,008' │ 99910.95999954268  │ '±12.35%' │ 100     │
└─────────┴──────────────────────────────────────────────────────────────────┴──────────┴────────────────────┴───────────┴─────────┘

Copy link

codecov bot commented Feb 7, 2025

Codecov Report

Attention: Patch coverage is 94.73684% with 2 lines in your changes missing coverage. Please review.

Project coverage is 94.55%. Comparing base (847d6a4) to head (10ba580).
Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
.../check/runner/configuration/QualifiedParameters.ts 93.93% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5676      +/-   ##
==========================================
- Coverage   94.57%   94.55%   -0.02%     
==========================================
  Files         214      214              
  Lines        9857     9846      -11     
  Branches     2759     2761       +2     
==========================================
- Hits         9322     9310      -12     
- Misses        535      536       +1     
Flag Coverage Δ
unit-tests 94.55% <94.73%> (-0.02%) ⬇️
unit-tests-18.x-Linux 94.55% <94.73%> (-0.02%) ⬇️
unit-tests-20.x-Linux 94.55% <94.73%> (-0.02%) ⬇️
unit-tests-22.x-Linux 94.55% <94.73%> (-0.02%) ⬇️
unit-tests-latest-Linux 94.55% <94.73%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@dubzzz dubzzz merged commit 971a5aa into main Feb 7, 2025
73 checks passed
@dubzzz dubzzz deleted the faster-read-runner branch February 7, 2025 00:26
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

1 participant