-
-
Notifications
You must be signed in to change notification settings - Fork 188
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
Conversation
🦋 Changeset detectedLatest commit: 10ba580 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
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 |
packages/fast-check/src/check/runner/configuration/QualifiedParameters.ts
Outdated
Show resolved
Hide resolved
packages/fast-check/src/check/runner/configuration/QualifiedParameters.ts
Outdated
Show resolved
Hide resolved
Open in Stackblitz • @fast-check/examples @fast-check/ava
@fast-check/expect-type
@fast-check/jest
fast-check
@fast-check/packaged
@fast-check/poisoning
@fast-check/vitest
@fast-check/worker
commit: |
👋 A preview of the new documentation is available at: http://67a550de3fbb189c2d33e97d--dubzzz-fast-check.netlify.app |
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 │
└─────────┴──────────────────────────────────────────────────────────────────┴──────────┴────────────────────┴───────────┴─────────┘ |
Codecov ReportAttention: Patch coverage is
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
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Description
The code that was responsible to read the parameters passed to runners such as
assert
orcheck
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.
Checklist — Don't delete this checklist and make sure you do the following before opening the PR
yarn bump
and flag the impacts properlyAdvanced