GeezerVison is showing github.com — url: fix definitions of `URL`/`SearchParams` methods and accessors by ExE-Boss · Pull Request #36799 · nodejs/node
Conversation
ExE-Boss
commented
Jan 5, 2021
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
This ensures that:
Object.getOwnPropertyDescriptor(URL.prototype, 'href').get.name === "get name";
and that:
Object.prototype.hasOwnProperty.call(URL.prototype.toString, "prototype") === false;
The changes to URLSearchParams were done to fix the [[HomeObject]] internal slot so that it points to the URLSearchParams.prototype object, rather than the object that’s passed to defineIDLClass.
Best reviewed with the “Hide whitespace changes” flag enabled: #36799?w=1
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
RaisinTen reacted with thumbs up emoji
|
Would you kindly split this into several commits to help with code review please? GitHub UI isn't really helping to follow the moving parts here 😅
|
ExE-Boss reacted with thumbs up emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
aduh95
removed
the
request-ci
Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review.
label
Jan 13, 2021
|
@ExE-Boss This needs a rebase. If you have the time to split it into several commits (E.G.: one for URLSearchParams and another one for URL), that'd be nice.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
ExE-Boss
commented
Jan 19, 2021
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Nit: upstreaming the tests to the wpt repo, so other implementers can use them, would be ideal.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
ExE-Boss
commented
Jan 19, 2021
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
aduh95 reacted with thumbs up emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
aduh95
commented
Feb 8, 2021
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
ExE-Boss reacted with thumbs up emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
There are some major perf improvements and also a few regressions for the legacy API for some reason:
confidence improvement accuracy (*) (**) (***)
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='dot' *** 27.55 % ±8.58% ±11.43% ±14.89%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='file' * 8.62 % ±8.49% ±11.29% ±14.70%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='idn' *** 15.87 % ±8.52% ±11.34% ±14.77%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='percent' ** 11.88 % ±6.88% ±9.15% ±11.92%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='short' *** 17.15 % ±8.27% ±11.00% ±14.32%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='short' withBase='false' * 7.52 % ±7.07% ±9.42% ±12.29%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodefake' * 2.29 % ±2.23% ±2.98% ±3.91%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='auth' *** -14.59 % ±6.53% ±8.70% ±11.35%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='some' * 4.16 % ±3.78% ±5.06% ±6.64%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='false' * -7.68 % ±6.31% ±8.39% ±10.92%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='true' * 6.17 % ±5.91% ±7.90% ±10.34%
WHATWG results look OK, I'm going to spawn another benchmark CI to see if the perf change on legacy API were just a flakiness.
Full benchmark results
confidence improvement accuracy (*) (**) (***)
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='auth' -1.30 % ±6.87% ±9.14% ±11.91%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='dot' *** 27.55 % ±8.58% ±11.43% ±14.89%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='file' * 8.62 % ±8.49% ±11.29% ±14.70%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='idn' *** 15.87 % ±8.52% ±11.34% ±14.77%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='javascript' -0.35 % ±6.76% ±9.00% ±11.72%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='long' 1.40 % ±10.27% ±13.67% ±17.79%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='percent' ** 11.88 % ±6.88% ±9.15% ±11.92%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='short' *** 17.15 % ±8.27% ±11.00% ±14.32%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='wpt' 1.45 % ±9.59% ±12.76% ±16.63%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='ws' -7.72 % ±8.30% ±11.05% ±14.38%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='auth' 1.69 % ±6.99% ±9.31% ±12.13%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='dot' -3.91 % ±6.41% ±8.53% ±11.10%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='file' -4.77 % ±8.79% ±11.71% ±15.28%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='idn' 0.01 % ±6.54% ±8.71% ±11.34%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='javascript' 1.61 % ±7.89% ±10.49% ±13.66%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='long' 4.67 % ±9.23% ±12.31% ±16.06%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='percent' 1.69 % ±7.07% ±9.41% ±12.24%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='short' -7.02 % ±11.15% ±14.90% ±19.53%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='wpt' -0.32 % ±8.12% ±10.81% ±14.08%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='ws' -7.57 % ±11.21% ±15.03% ±19.80%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='auth' withBase='false' 3.17 % ±4.01% ±5.33% ±6.94%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='auth' withBase='true' 2.58 % ±5.84% ±7.77% ±10.12%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='dot' withBase='false' 3.32 % ±7.14% ±9.52% ±12.43%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='dot' withBase='true' 0.60 % ±4.53% ±6.02% ±7.84%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='file' withBase='false' 5.79 % ±7.68% ±10.27% ±13.47%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='file' withBase='true' -0.54 % ±5.77% ±7.68% ±10.00%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='idn' withBase='false' 1.05 % ±6.13% ±8.16% ±10.64%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='idn' withBase='true' 1.89 % ±4.51% ±6.01% ±7.83%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='javascript' withBase='false' -0.46 % ±6.48% ±8.62% ±11.23%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='javascript' withBase='true' -2.37 % ±7.43% ±9.89% ±12.87%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='long' withBase='false' 3.74 % ±3.84% ±5.12% ±6.69%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='long' withBase='true' 4.61 % ±4.97% ±6.64% ±8.72%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='percent' withBase='false' 0.21 % ±6.58% ±8.79% ±11.52%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='percent' withBase='true' 2.13 % ±5.79% ±7.72% ±10.08%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='short' withBase='false' 0.63 % ±5.62% ±7.49% ±9.75%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='short' withBase='true' 0.16 % ±5.60% ±7.47% ±9.75%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='wpt' withBase='false' -0.17 % ±5.76% ±7.66% ±9.97%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='wpt' withBase='true' 2.14 % ±4.99% ±6.64% ±8.66%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='ws' withBase='false' 0.86 % ±6.11% ±8.13% ±10.58%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='ws' withBase='true' 1.38 % ±5.18% ±6.91% ±9.04%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='auth' withBase='false' 5.14 % ±6.76% ±9.00% ±11.71%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='auth' withBase='true' 0.09 % ±6.30% ±8.38% ±10.91%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='dot' withBase='false' 0.19 % ±8.41% ±11.19% ±14.58%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='dot' withBase='true' 3.01 % ±6.55% ±8.73% ±11.39%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='file' withBase='false' 5.20 % ±7.50% ±10.02% ±13.14%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='file' withBase='true' 1.69 % ±5.39% ±7.17% ±9.33%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='idn' withBase='false' 5.78 % ±6.41% ±8.54% ±11.16%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='idn' withBase='true' -0.76 % ±5.94% ±7.91% ±10.29%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='javascript' withBase='false' 3.47 % ±6.85% ±9.12% ±11.89%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='javascript' withBase='true' 0.26 % ±4.78% ±6.35% ±8.27%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='long' withBase='false' 0.78 % ±4.62% ±6.15% ±8.00%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='long' withBase='true' 3.12 % ±3.54% ±4.71% ±6.13%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='false' 0.67 % ±7.91% ±10.56% ±13.81%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='true' 4.05 % ±6.03% ±8.03% ±10.46%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='short' withBase='false' * 7.52 % ±7.07% ±9.42% ±12.29%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='short' withBase='true' 3.17 % ±4.91% ±6.54% ±8.53%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='wpt' withBase='false' 5.23 % ±5.92% ±7.92% ±10.39%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='wpt' withBase='true' 4.80 % ±5.93% ±7.92% ±10.36%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='ws' withBase='false' 4.17 % ±6.60% ±8.78% ±11.42%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='ws' withBase='true' -0.00 % ±6.05% ±8.06% ±10.51%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='altspaces' -1.54 % ±2.82% ±3.77% ±4.95%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodefake' * 2.29 % ±2.23% ±2.98% ±3.91%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodelast' 0.91 % ±5.06% ±6.74% ±8.77%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodemany' -0.82 % ±1.75% ±2.33% ±3.04%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='manyblankpairs' 2.37 % ±5.74% ±7.67% ±10.03%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='manypairs' 0.55 % ±1.52% ±2.03% ±2.67%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multicharsep' -3.88 % ±4.12% ±5.54% ±7.33%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multivalue' -2.02 % ±2.99% ±3.98% ±5.18%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multivaluemany' 0.46 % ±1.26% ±1.68% ±2.18%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='noencode' -1.97 % ±5.15% ±6.85% ±8.93%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='altspaces' 1.42 % ±3.23% ±4.30% ±5.60%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodefake' 1.35 % ±2.96% ±3.98% ±5.27%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodelast' 2.45 % ±4.45% ±5.95% ±7.79%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodemany' 3.27 % ±4.51% ±6.00% ±7.81%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='manyblankpairs' 0.45 % ±2.47% ±3.29% ±4.29%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='manypairs' -0.25 % ±3.69% ±4.92% ±6.41%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multicharsep' 0.13 % ±0.82% ±1.09% ±1.43%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multivalue' 1.01 % ±3.78% ±5.08% ±6.73%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multivaluemany' -0.67 % ±3.13% ±4.17% ±5.43%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='noencode' -3.67 % ±7.92% ±10.56% ±13.79%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='altspaces' 0.12 % ±1.71% ±2.28% ±2.96%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodefake' 0.40 % ±1.13% ±1.50% ±1.95%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodelast' 1.15 % ±3.18% ±4.23% ±5.51%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodemany' 0.49 % ±2.24% ±2.98% ±3.89%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='manyblankpairs' -4.49 % ±8.03% ±10.78% ±14.20%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='manypairs' -0.87 % ±2.20% ±2.93% ±3.82%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multicharsep' -0.03 % ±1.77% ±2.36% ±3.08%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multivalue' 0.93 % ±1.53% ±2.03% ±2.64%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multivaluemany' 1.07 % ±2.69% ±3.58% ±4.67%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='noencode' 1.15 % ±3.38% ±4.51% ±5.90%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='altspaces' -0.24 % ±6.58% ±8.77% ±11.43%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodefake' -4.04 % ±5.13% ±6.90% ±9.13%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodelast' 2.87 % ±5.17% ±6.96% ±9.22%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodemany' -0.98 % ±4.09% ±5.50% ±7.27%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='manyblankpairs' 0.83 % ±12.64% ±16.81% ±21.88%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='manypairs' -0.94 % ±2.33% ±3.13% ±4.13%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multicharsep' -0.52 % ±4.36% ±5.87% ±7.79%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multivalue' 1.52 % ±3.84% ±5.17% ±6.85%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multivaluemany' -2.06 % ±3.59% ±4.83% ±6.39%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='noencode' 0.08 % ±1.09% ±1.45% ±1.89%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='auth' *** -14.59 % ±6.53% ±8.70% ±11.35%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='dot' -7.80 % ±10.88% ±14.58% ±19.19%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='file' -5.65 % ±10.82% ±14.51% ±19.12%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='idn' 0.98 % ±7.23% ±9.62% ±12.53%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='javascript' 0.37 % ±5.55% ±7.39% ±9.64%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='long' 9.43 % ±11.68% ±15.70% ±20.75%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='percent' -7.60 % ±9.36% ±12.54% ±16.50%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='short' -5.36 % ±5.85% ±7.79% ±10.15%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='wpt' -8.83 % ±10.36% ±13.91% ±18.36%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='ws' -6.36 % ±11.12% ±14.91% ±19.63%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='auth' -2.67 % ±10.91% ±14.63% ±19.27%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='dot' -6.72 % ±10.37% ±13.92% ±18.35%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='file' -1.98 % ±12.09% ±16.20% ±21.31%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='idn' -0.58 % ±8.17% ±10.87% ±14.14%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='javascript' -2.09 % ±6.09% ±8.14% ±10.66%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='long' 11.55 % ±11.91% ±16.00% ±21.16%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='percent' -8.76 % ±9.96% ±13.38% ±17.68%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='short' 1.43 % ±7.88% ±10.49% ±13.66%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='wpt' 0.03 % ±6.01% ±8.01% ±10.45%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='ws' -3.90 % ±10.74% ±14.41% ±19.02%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='all' -0.17 % ±2.38% ±3.16% ±4.12%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='empty' -2.58 % ±6.00% ±8.00% ±10.44%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='none' -0.82 % ±1.53% ±2.03% ±2.64%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='nonstring' 1.42 % ±2.99% ±4.01% ±5.28%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='some' * 4.16 % ±3.78% ±5.06% ±6.64%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='all' 0.70 % ±1.51% ±2.00% ±2.61%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='empty' -0.96 % ±4.93% ±6.62% ±8.74%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='none' 0.66 % ±1.99% ±2.65% ±3.44%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='nonstring' -0.71 % ±5.37% ±7.14% ±9.30%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='some' 2.18 % ±2.39% ±3.20% ±4.20%
url/whatwg-url-properties.jsprop='hash' e=1 type='wpt' withBase='false' -2.55 % ±5.79% ±7.71% ±10.03%
url/whatwg-url-properties.jsprop='hash' e=1 type='wpt' withBase='true' -1.05 % ±6.93% ±9.22% ±12.01%
url/whatwg-url-properties.jsprop='host' e=1 type='wpt' withBase='false' 4.19 % ±6.59% ±8.77% ±11.42%
url/whatwg-url-properties.jsprop='host' e=1 type='wpt' withBase='true' -4.30 % ±6.44% ±8.61% ±11.29%
url/whatwg-url-properties.jsprop='hostname' e=1 type='wpt' withBase='false' 0.99 % ±7.14% ±9.51% ±12.40%
url/whatwg-url-properties.jsprop='hostname' e=1 type='wpt' withBase='true' 1.15 % ±5.00% ±6.65% ±8.65%
url/whatwg-url-properties.jsprop='href' e=1 type='wpt' withBase='false' 0.63 % ±10.54% ±14.04% ±18.31%
url/whatwg-url-properties.jsprop='href' e=1 type='wpt' withBase='true' -2.19 % ±6.28% ±8.36% ±10.88%
url/whatwg-url-properties.jsprop='origin' e=1 type='wpt' withBase='false' 2.98 % ±5.58% ±7.45% ±9.73%
url/whatwg-url-properties.jsprop='origin' e=1 type='wpt' withBase='true' 6.35 % ±6.61% ±8.82% ±11.52%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='false' * -7.68 % ±6.31% ±8.39% ±10.92%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='true' * 6.17 % ±5.91% ±7.90% ±10.34%
url/whatwg-url-properties.jsprop='pathname' e=1 type='wpt' withBase='false' 4.08 % ±6.55% ±8.71% ±11.35%
url/whatwg-url-properties.jsprop='pathname' e=1 type='wpt' withBase='true' 4.44 % ±6.12% ±8.15% ±10.63%
url/whatwg-url-properties.jsprop='port' e=1 type='wpt' withBase='false' -1.39 % ±5.35% ±7.12% ±9.28%
url/whatwg-url-properties.jsprop='port' e=1 type='wpt' withBase='true' -4.74 % ±7.03% ±9.40% ±12.31%
url/whatwg-url-properties.jsprop='protocol' e=1 type='wpt' withBase='false' -0.53 % ±6.38% ±8.49% ±11.06%
url/whatwg-url-properties.jsprop='protocol' e=1 type='wpt' withBase='true' -1.52 % ±3.99% ±5.30% ±6.91%
url/whatwg-url-properties.jsprop='search' e=1 type='wpt' withBase='false' 4.47 % ±7.74% ±10.35% ±13.57%
url/whatwg-url-properties.jsprop='search' e=1 type='wpt' withBase='true' -1.51 % ±6.99% ±9.31% ±12.12%
url/whatwg-url-properties.jsprop='searchParams' e=1 type='wpt' withBase='false' -3.27 % ±6.62% ±8.81% ±11.46%
url/whatwg-url-properties.jsprop='searchParams' e=1 type='wpt' withBase='true' -2.95 % ±4.96% ±6.61% ±8.61%
url/whatwg-url-properties.jsprop='username' e=1 type='wpt' withBase='false' -0.30 % ±5.53% ±7.36% ±9.58%
url/whatwg-url-properties.jsprop='username' e=1 type='wpt' withBase='true' -0.44 % ±7.24% ±9.64% ±12.55%
Be aware that when doing many comparisons the risk of a false-positive
result increases. In this case, there are 154 comparisons, you can thus
expect the following amount of false-positive results:
7.70 false positives, when considering a 5% risk acceptance (*, **, ***),
1.54 false positives, when considering a 1% risk acceptance (**, ***),
0.15 false positives, when considering a 0.1% risk acceptance (***)
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
aduh95
commented
Feb 9, 2021
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/941/
EDIT: it got similar results 🤷♂️
confidence improvement accuracy (*) (**) (***)
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='dot' ** 10.04 % ±5.83% ±7.77% ±10.11%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='file' *** 16.91 % ±8.60% ±11.44% ±14.88%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='idn' *** 12.16 % ±4.88% ±6.50% ±8.46%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='percent' *** 13.43 % ±7.62% ±10.13% ±13.19%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='short' * -6.24 % ±6.04% ±8.06% ±10.56%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='javascript' withBase='false' * 6.25 % ±6.24% ±8.32% ±10.85%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='auth' withBase='false' ** 10.62 % ±7.32% ±9.78% ±12.81%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='false' ** 8.04 % ±5.92% ±7.91% ±10.37%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='true' * 6.58 % ±5.11% ±6.81% ±8.88%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='auth' ** -11.00 % ±7.64% ±10.16% ±13.23%
url/url-resolve.jsn=100000 path='foo/bar' href='long' * -4.48 % ±4.45% ±5.93% ±7.74%
url/url-resolve.jsn=100000 path='up' href='file' * -5.01 % ±4.89% ±6.52% ±8.49%
url/url-resolve.jsn=100000 path='up' href='idn' * -4.81 % ±4.12% ±5.51% ±7.21%
url/url-resolve.jsn=100000 path='up' href='percent' ** 7.46 % ±4.85% ±6.48% ±8.51%
url/url-searchparams-sort.jsn=1000000 type='sorted' * 1.00 % ±0.91% ±1.21% ±1.58%
url/usvstring.jsn=50000000 input='valid' * -2.23 % ±1.81% ±2.41% ±3.17%
url/whatwg-url-properties.jsprop='host' e=1 type='wpt' withBase='false' * -7.14 % ±6.03% ±8.04% ±10.49%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='true' * -5.80 % ±4.63% ±6.18% ±8.08%
url/whatwg-url-properties.jsprop='pathname' e=1 type='wpt' withBase='false' * -7.58 % ±6.62% ±8.84% ±11.58%
url/whatwg-url-properties.jsprop='username' e=1 type='wpt' withBase='true' * -6.39 % ±5.68% ±7.56% ±9.86%
Details
confidence improvement accuracy (*) (**) (***)
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='auth' -3.82 % ±7.80% ±10.38% ±13.52%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='dot' ** 10.04 % ±5.83% ±7.77% ±10.11%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='file' *** 16.91 % ±8.60% ±11.44% ±14.88%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='idn' *** 12.16 % ±4.88% ±6.50% ±8.46%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='javascript' -3.99 % ±5.87% ±7.81% ±10.18%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='long' 0.39 % ±8.17% ±10.87% ±14.15%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='percent' *** 13.43 % ±7.62% ±10.13% ±13.19%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='short' 5.57 % ±6.63% ±8.82% ±11.49%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='wpt' -2.61 % ±6.77% ±9.02% ±11.76%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='ws' 1.57 % ±7.95% ±10.58% ±13.78%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='auth' -1.31 % ±5.19% ±6.90% ±8.98%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='dot' -2.50 % ±6.32% ±8.42% ±10.97%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='file' 3.60 % ±6.13% ±8.17% ±10.67%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='idn' -1.23 % ±4.74% ±6.30% ±8.21%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='javascript' 0.77 % ±6.13% ±8.19% ±10.72%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='long' -1.55 % ±5.84% ±7.77% ±10.11%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='percent' 2.70 % ±5.91% ±7.87% ±10.27%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='short' * -6.24 % ±6.04% ±8.06% ±10.56%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='wpt' -1.21 % ±6.94% ±9.24% ±12.04%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='ws' -2.01 % ±6.38% ±8.50% ±11.06%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='auth' withBase='false' 3.27 % ±5.19% ±6.93% ±9.06%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='auth' withBase='true' -2.35 % ±5.22% ±6.94% ±9.04%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='dot' withBase='false' 0.84 % ±5.70% ±7.60% ±9.93%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='dot' withBase='true' -0.23 % ±7.49% ±9.96% ±12.97%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='file' withBase='false' 1.68 % ±7.71% ±10.27% ±13.37%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='file' withBase='true' 0.58 % ±6.60% ±8.79% ±11.48%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='idn' withBase='false' 5.19 % ±6.53% ±8.73% ±11.43%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='idn' withBase='true' 0.14 % ±6.39% ±8.50% ±11.07%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='javascript' withBase='false' * 6.25 % ±6.24% ±8.32% ±10.85%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='javascript' withBase='true' 6.85 % ±6.87% ±9.19% ±12.06%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='long' withBase='false' -0.67 % ±2.99% ±3.99% ±5.22%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='long' withBase='true' 2.92 % ±3.74% ±4.99% ±6.54%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='percent' withBase='false' -1.43 % ±6.24% ±8.31% ±10.81%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='percent' withBase='true' -0.27 % ±5.26% ±7.01% ±9.14%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='short' withBase='false' 4.27 % ±4.68% ±6.23% ±8.11%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='short' withBase='true' 2.16 % ±5.68% ±7.57% ±9.89%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='wpt' withBase='false' 3.15 % ±6.11% ±8.14% ±10.61%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='wpt' withBase='true' 3.49 % ±4.84% ±6.45% ±8.40%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='ws' withBase='false' -1.12 % ±4.54% ±6.05% ±7.89%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='ws' withBase='true' 1.14 % ±5.65% ±7.52% ±9.79%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='auth' withBase='false' ** 10.62 % ±7.32% ±9.78% ±12.81%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='auth' withBase='true' 1.03 % ±5.21% ±6.94% ±9.04%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='dot' withBase='false' -3.68 % ±6.06% ±8.06% ±10.49%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='dot' withBase='true' 2.21 % ±5.69% ±7.58% ±9.87%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='file' withBase='false' 3.30 % ±4.47% ±5.96% ±7.76%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='file' withBase='true' 0.22 % ±5.80% ±7.72% ±10.05%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='idn' withBase='false' 5.10 % ±5.12% ±6.82% ±8.87%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='idn' withBase='true' 4.05 % ±5.02% ±6.69% ±8.71%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='javascript' withBase='false' -0.88 % ±6.01% ±8.02% ±10.48%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='javascript' withBase='true' 2.96 % ±6.42% ±8.56% ±11.18%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='long' withBase='false' -2.78 % ±6.06% ±8.06% ±10.49%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='long' withBase='true' 1.82 % ±5.64% ±7.51% ±9.78%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='false' ** 8.04 % ±5.92% ±7.91% ±10.37%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='true' * 6.58 % ±5.11% ±6.81% ±8.88%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='short' withBase='false' 3.81 % ±7.22% ±9.63% ±12.58%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='short' withBase='true' 1.42 % ±3.77% ±5.01% ±6.53%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='wpt' withBase='false' -4.21 % ±4.35% ±5.79% ±7.53%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='wpt' withBase='true' 0.46 % ±4.86% ±6.47% ±8.43%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='ws' withBase='false' 4.56 % ±7.90% ±10.51% ±13.69%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='ws' withBase='true' -0.65 % ±5.95% ±7.92% ±10.31%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='altspaces' 3.53 % ±3.64% ±4.84% ±6.31%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodefake' 2.08 % ±3.29% ±4.38% ±5.70%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodelast' -0.23 % ±2.61% ±3.47% ±4.52%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodemany' -2.58 % ±3.01% ±4.03% ±5.30%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='manyblankpairs' -1.58 % ±4.97% ±6.67% ±8.78%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='manypairs' 0.71 % ±1.74% ±2.32% ±3.04%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multicharsep' 1.05 % ±1.72% ±2.29% ±2.98%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multivalue' 2.64 % ±3.07% ±4.12% ±5.44%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multivaluemany' 0.74 % ±1.97% ±2.62% ±3.41%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='noencode' 2.99 % ±3.20% ±4.28% ±5.62%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='altspaces' -2.14 % ±3.21% ±4.31% ±5.68%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodefake' -1.87 % ±6.79% ±9.05% ±11.83%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodelast' -3.09 % ±4.80% ±6.46% ±8.53%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodemany' 2.76 % ±5.05% ±6.73% ±8.77%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='manyblankpairs' 0.36 % ±3.22% ±4.29% ±5.59%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='manypairs' -0.81 % ±4.67% ±6.22% ±8.10%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multicharsep' -1.08 % ±5.20% ±6.97% ±9.18%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multivalue' 1.32 % ±6.02% ±8.01% ±10.44%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multivaluemany' 2.82 % ±3.80% ±5.05% ±6.58%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='noencode' 1.49 % ±7.54% ±10.07% ±13.18%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='altspaces' 2.10 % ±2.88% ±3.84% ±5.02%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodefake' -0.40 % ±1.48% ±1.97% ±2.56%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodelast' 0.13 % ±1.69% ±2.26% ±2.94%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodemany' 2.60 % ±5.97% ±8.02% ±10.61%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='manyblankpairs' -0.07 % ±3.62% ±4.82% ±6.27%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='manypairs' -0.88 % ±1.81% ±2.41% ±3.14%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multicharsep' 1.87 % ±2.26% ±3.03% ±3.98%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multivalue' -0.62 % ±1.32% ±1.76% ±2.29%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multivaluemany' 1.17 % ±2.97% ±3.98% ±5.22%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='noencode' -1.55 % ±5.88% ±7.90% ±10.43%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='altspaces' -1.66 % ±3.46% ±4.64% ±6.12%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodefake' 2.74 % ±4.79% ±6.43% ±8.50%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodelast' 1.77 % ±3.44% ±4.63% ±6.12%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodemany' 0.89 % ±4.39% ±5.85% ±7.63%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='manyblankpairs' -3.34 % ±4.39% ±5.85% ±7.62%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='manypairs' 1.05 % ±1.83% ±2.45% ±3.23%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multicharsep' 2.40 % ±3.49% ±4.65% ±6.07%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multivalue' 0.55 % ±4.05% ±5.39% ±7.01%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multivaluemany' -0.80 % ±2.27% ±3.04% ±4.01%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='noencode' -2.28 % ±3.67% ±4.93% ±6.52%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='auth' ** -11.00 % ±7.64% ±10.16% ±13.23%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='dot' -1.98 % ±6.37% ±8.47% ±11.04%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='file' -4.07 % ±11.78% ±15.75% ±20.67%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='idn' -2.46 % ±10.78% ±14.42% ±18.91%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='javascript' 4.36 % ±7.47% ±9.94% ±12.94%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='long' 3.57 % ±8.37% ±11.14% ±14.50%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='percent' -0.05 % ±7.37% ±9.82% ±12.81%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='short' -4.11 % ±7.61% ±10.12% ±13.19%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='wpt' 3.73 % ±8.01% ±10.66% ±13.87%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='ws' 0.96 % ±7.20% ±9.58% ±12.47%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='auth' 1.63 % ±6.64% ±8.84% ±11.52%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='dot' 1.36 % ±6.65% ±8.86% ±11.56%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='file' 1.55 % ±8.24% ±10.97% ±14.28%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='idn' 3.14 % ±8.14% ±10.83% ±14.09%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='javascript' 7.03 % ±7.44% ±9.92% ±12.94%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='long' 1.51 % ±6.52% ±8.68% ±11.29%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='percent' -0.43 % ±7.54% ±10.04% ±13.08%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='short' -2.21 % ±10.71% ±14.30% ±18.74%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='wpt' -5.17 % ±7.53% ±10.02% ±13.04%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='ws' 3.20 % ±6.41% ±8.55% ±11.15%
url/url-format.jsn=25000000 type='file' 1.12 % ±1.98% ±2.65% ±3.48%
url/url-format.jsn=25000000 type='slashes' 1.01 % ±1.44% ±1.93% ±2.55%
url/url-parse.jsn=10000000 type='escaped' 0.67 % ±2.48% ±3.31% ±4.30%
url/url-parse.jsn=10000000 type='normal' -0.33 % ±2.65% ±3.53% ±4.59%
url/url-resolve.jsn=100000 path='down' href='auth' 3.51 % ±5.55% ±7.42% ±9.71%
url/url-resolve.jsn=100000 path='down' href='dot' 3.38 % ±3.96% ±5.27% ±6.86%
url/url-resolve.jsn=100000 path='down' href='file' 0.42 % ±2.42% ±3.22% ±4.19%
url/url-resolve.jsn=100000 path='down' href='idn' -0.59 % ±2.73% ±3.63% ±4.73%
url/url-resolve.jsn=100000 path='down' href='javascript' -0.25 % ±3.56% ±4.77% ±6.29%
url/url-resolve.jsn=100000 path='down' href='long' 0.67 % ±4.16% ±5.54% ±7.21%
url/url-resolve.jsn=100000 path='down' href='noscheme' 0.33 % ±1.47% ±1.96% ±2.56%
url/url-resolve.jsn=100000 path='down' href='percent' 0.56 % ±2.41% ±3.22% ±4.20%
url/url-resolve.jsn=100000 path='down' href='short' -1.25 % ±2.76% ±3.67% ±4.79%
url/url-resolve.jsn=100000 path='down' href='ws' -1.25 % ±2.61% ±3.48% ±4.53%
url/url-resolve.jsn=100000 path='foo/bar' href='auth' 0.55 % ±4.50% ±5.98% ±7.79%
url/url-resolve.jsn=100000 path='foo/bar' href='dot' 0.82 % ±5.14% ±6.85% ±8.92%
url/url-resolve.jsn=100000 path='foo/bar' href='file' 2.33 % ±3.92% ±5.23% ±6.84%
url/url-resolve.jsn=100000 path='foo/bar' href='idn' 4.11 % ±5.70% ±7.66% ±10.12%
url/url-resolve.jsn=100000 path='foo/bar' href='javascript' -0.92 % ±1.57% ±2.11% ±2.77%
url/url-resolve.jsn=100000 path='foo/bar' href='long' * -4.48 % ±4.45% ±5.93% ±7.74%
url/url-resolve.jsn=100000 path='foo/bar' href='noscheme' 2.00 % ±4.06% ±5.42% ±7.08%
url/url-resolve.jsn=100000 path='foo/bar' href='percent' -0.50 % ±6.03% ±8.03% ±10.47%
url/url-resolve.jsn=100000 path='foo/bar' href='short' -0.89 % ±3.82% ±5.10% ±6.67%
url/url-resolve.jsn=100000 path='foo/bar' href='ws' 3.12 % ±5.68% ±7.56% ±9.85%
url/url-resolve.jsn=100000 path='sibling' href='auth' 2.99 % ±6.18% ±8.22% ±10.71%
url/url-resolve.jsn=100000 path='sibling' href='dot' 0.73 % ±4.66% ±6.20% ±8.07%
url/url-resolve.jsn=100000 path='sibling' href='file' 1.73 % ±5.63% ±7.51% ±9.81%
url/url-resolve.jsn=100000 path='sibling' href='idn' -2.15 % ±5.80% ±7.72% ±10.05%
url/url-resolve.jsn=100000 path='sibling' href='javascript' 0.52 % ±2.13% ±2.85% ±3.74%
url/url-resolve.jsn=100000 path='sibling' href='long' -0.87 % ±2.81% ±3.74% ±4.89%
url/url-resolve.jsn=100000 path='sibling' href='noscheme' 2.96 % ±4.10% ±5.49% ±7.22%
url/url-resolve.jsn=100000 path='sibling' href='percent' 3.29 % ±5.61% ±7.53% ±9.93%
url/url-resolve.jsn=100000 path='sibling' href='short' -0.28 % ±4.62% ±6.15% ±8.01%
url/url-resolve.jsn=100000 path='sibling' href='ws' 3.36 % ±5.53% ±7.36% ±9.59%
url/url-resolve.jsn=100000 path='up' href='auth' 3.05 % ±4.29% ±5.73% ±7.52%
url/url-resolve.jsn=100000 path='up' href='dot' 3.09 % ±4.60% ±6.16% ±8.11%
url/url-resolve.jsn=100000 path='up' href='file' * -5.01 % ±4.89% ±6.52% ±8.49%
url/url-resolve.jsn=100000 path='up' href='idn' * -4.81 % ±4.12% ±5.51% ±7.21%
url/url-resolve.jsn=100000 path='up' href='javascript' 3.47 % ±5.99% ±8.03% ±10.57%
url/url-resolve.jsn=100000 path='up' href='long' 1.22 % ±2.24% ±2.99% ±3.89%
url/url-resolve.jsn=100000 path='up' href='noscheme' 1.02 % ±1.76% ±2.34% ±3.05%
url/url-resolve.jsn=100000 path='up' href='percent' ** 7.46 % ±4.85% ±6.48% ±8.51%
url/url-resolve.jsn=100000 path='up' href='short' -0.48 % ±5.63% ±7.52% ±9.84%
url/url-resolve.jsn=100000 path='up' href='ws' 1.45 % ±4.40% ±5.87% ±7.67%
url/url-resolve.jsn=100000 path='withscheme' href='auth' 3.53 % ±5.03% ±6.76% ±8.92%
url/url-resolve.jsn=100000 path='withscheme' href='dot' 1.25 % ±6.38% ±8.48% ±11.04%
url/url-resolve.jsn=100000 path='withscheme' href='file' 1.05 % ±1.72% ±2.29% ±2.98%
url/url-resolve.jsn=100000 path='withscheme' href='idn' -0.86 % ±5.90% ±7.92% ±10.45%
url/url-resolve.jsn=100000 path='withscheme' href='javascript' 0.58 % ±2.66% ±3.57% ±4.70%
url/url-resolve.jsn=100000 path='withscheme' href='long' 0.57 % ±2.89% ±3.86% ±5.06%
url/url-resolve.jsn=100000 path='withscheme' href='noscheme' -1.62 % ±3.32% ±4.45% ±5.86%
url/url-resolve.jsn=100000 path='withscheme' href='percent' 1.46 % ±6.53% ±8.70% ±11.35%
url/url-resolve.jsn=100000 path='withscheme' href='short' 0.66 % ±1.92% ±2.56% ±3.33%
url/url-resolve.jsn=100000 path='withscheme' href='ws' -3.03 % ±4.76% ±6.39% ±8.44%
url/url-searchparams-iteration.jsn=1000000 loopMethod='forEach' -2.24 % ±2.53% ±3.38% ±4.40%
url/url-searchparams-iteration.jsn=1000000 loopMethod='iterator' 0.00 % ±2.79% ±3.73% ±4.87%
url/url-searchparams-read.jsn=20000000 param='nonexistent' accessMethod='get' 3.71 % ±5.08% ±6.77% ±8.83%
url/url-searchparams-read.jsn=20000000 param='nonexistent' accessMethod='getAll' 0.99 % ±2.97% ±3.95% ±5.16%
url/url-searchparams-read.jsn=20000000 param='nonexistent' accessMethod='has' 2.43 % ±5.15% ±6.87% ±8.98%
url/url-searchparams-read.jsn=20000000 param='one' accessMethod='get' 0.36 % ±2.94% ±3.93% ±5.15%
url/url-searchparams-read.jsn=20000000 param='one' accessMethod='getAll' -1.45 % ±1.61% ±2.15% ±2.82%
url/url-searchparams-read.jsn=20000000 param='one' accessMethod='has' 1.12 % ±5.89% ±7.86% ±10.28%
url/url-searchparams-read.jsn=20000000 param='three' accessMethod='get' -1.60 % ±6.77% ±9.04% ±11.82%
url/url-searchparams-read.jsn=20000000 param='three' accessMethod='getAll' -1.10 % ±3.72% ±5.01% ±6.65%
url/url-searchparams-read.jsn=20000000 param='three' accessMethod='has' 2.91 % ±4.88% ±6.50% ±8.47%
url/url-searchparams-read.jsn=20000000 param='two' accessMethod='get' 0.76 % ±3.74% ±5.02% ±6.62%
url/url-searchparams-read.jsn=20000000 param='two' accessMethod='getAll' -1.57 % ±3.92% ±5.22% ±6.80%
url/url-searchparams-read.jsn=20000000 param='two' accessMethod='has' 0.87 % ±4.52% ±6.01% ±7.84%
url/url-searchparams-sort.jsn=1000000 type='almostsorted' 0.84 % ±2.68% ±3.61% ±4.76%
url/url-searchparams-sort.jsn=1000000 type='empty' -2.23 % ±5.14% ±6.85% ±8.92%
url/url-searchparams-sort.jsn=1000000 type='long' 0.45 % ±1.52% ±2.02% ±2.65%
url/url-searchparams-sort.jsn=1000000 type='random' -1.05 % ±2.13% ±2.86% ±3.77%
url/url-searchparams-sort.jsn=1000000 type='reversed' 0.48 % ±1.64% ±2.18% ±2.86%
url/url-searchparams-sort.jsn=1000000 type='short' -2.53 % ±5.89% ±7.86% ±10.25%
url/url-searchparams-sort.jsn=1000000 type='sorted' * 1.00 % ±0.91% ±1.21% ±1.58%
url/url-searchparams-sort.jsn=1000000 type='wpt' 3.85 % ±6.07% ±8.09% ±10.54%
url/usvstring.jsn=50000000 input='allinvalid' -1.33 % ±1.97% ±2.63% ±3.43%
url/usvstring.jsn=50000000 input='nonstring' -0.64 % ±2.40% ±3.24% ±4.29%
url/usvstring.jsn=50000000 input='someinvalid' 0.06 % ±1.75% ±2.34% ±3.05%
url/usvstring.jsn=50000000 input='valid' * -2.23 % ±1.81% ±2.41% ±3.17%
url/usvstring.jsn=50000000 input='validsurr' -1.75 % ±2.11% ±2.83% ±3.72%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='all' 0.81 % ±2.25% ±3.00% ±3.90%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='empty' -3.75 % ±7.50% ±10.00% ±13.05%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='none' 0.59 % ±2.36% ±3.14% ±4.09%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='nonstring' 0.76 % ±5.75% ±7.66% ±9.98%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='some' 2.40 % ±2.70% ±3.60% ±4.71%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='all' 1.16 % ±2.78% ±3.70% ±4.82%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='empty' -5.10 % ±6.13% ±8.24% ±10.90%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='none' -1.13 % ±1.79% ±2.39% ±3.13%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='nonstring' -0.54 % ±5.49% ±7.30% ±9.50%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='some' -0.57 % ±1.95% ±2.60% ±3.39%
url/whatwg-url-properties.jsprop='hash' e=1 type='wpt' withBase='false' 1.69 % ±6.20% ±8.25% ±10.75%
url/whatwg-url-properties.jsprop='hash' e=1 type='wpt' withBase='true' 0.69 % ±8.66% ±11.52% ±15.00%
url/whatwg-url-properties.jsprop='host' e=1 type='wpt' withBase='false' * -7.14 % ±6.03% ±8.04% ±10.49%
url/whatwg-url-properties.jsprop='host' e=1 type='wpt' withBase='true' 0.59 % ±6.37% ±8.49% ±11.07%
url/whatwg-url-properties.jsprop='hostname' e=1 type='wpt' withBase='false' -2.23 % ±7.22% ±9.61% ±12.51%
url/whatwg-url-properties.jsprop='hostname' e=1 type='wpt' withBase='true' 2.86 % ±6.10% ±8.12% ±10.57%
url/whatwg-url-properties.jsprop='href' e=1 type='wpt' withBase='false' -6.24 % ±9.16% ±12.21% ±15.91%
url/whatwg-url-properties.jsprop='href' e=1 type='wpt' withBase='true' -0.18 % ±6.09% ±8.10% ±10.55%
url/whatwg-url-properties.jsprop='origin' e=1 type='wpt' withBase='false' 2.46 % ±6.85% ±9.11% ±11.87%
url/whatwg-url-properties.jsprop='origin' e=1 type='wpt' withBase='true' -2.84 % ±5.56% ±7.41% ±9.69%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='false' 1.39 % ±7.68% ±10.22% ±13.31%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='true' * -5.80 % ±4.63% ±6.18% ±8.08%
url/whatwg-url-properties.jsprop='pathname' e=1 type='wpt' withBase='false' * -7.58 % ±6.62% ±8.84% ±11.58%
url/whatwg-url-properties.jsprop='pathname' e=1 type='wpt' withBase='true' 5.28 % ±6.32% ±8.44% ±11.04%
url/whatwg-url-properties.jsprop='port' e=1 type='wpt' withBase='false' -5.92 % ±6.07% ±8.10% ±10.58%
url/whatwg-url-properties.jsprop='port' e=1 type='wpt' withBase='true' -0.65 % ±5.65% ±7.53% ±9.81%
url/whatwg-url-properties.jsprop='protocol' e=1 type='wpt' withBase='false' 1.70 % ±7.18% ±9.56% ±12.45%
url/whatwg-url-properties.jsprop='protocol' e=1 type='wpt' withBase='true' -1.79 % ±5.23% ±6.96% ±9.07%
url/whatwg-url-properties.jsprop='search' e=1 type='wpt' withBase='false' -1.70 % ±6.83% ±9.08% ±11.82%
url/whatwg-url-properties.jsprop='search' e=1 type='wpt' withBase='true' -2.17 % ±5.46% ±7.27% ±9.49%
url/whatwg-url-properties.jsprop='searchParams' e=1 type='wpt' withBase='false' 1.00 % ±6.40% ±8.52% ±11.09%
url/whatwg-url-properties.jsprop='searchParams' e=1 type='wpt' withBase='true' -0.75 % ±5.99% ±7.98% ±10.39%
url/whatwg-url-properties.jsprop='username' e=1 type='wpt' withBase='false' -2.09 % ±5.27% ±7.02% ±9.15%
url/whatwg-url-properties.jsprop='username' e=1 type='wpt' withBase='true' * -6.39 % ±5.68% ±7.56% ±9.86%
Be aware that when doing many comparisons the risk of a false-positive
result increases. In this case, there are 235 comparisons, you can thus
expect the following amount of false-positive results:
11.75 false positives, when considering a 5% risk acceptance (*, **, ***),
2.35 false positives, when considering a 1% risk acceptance (**, ***),
0.24 false positives, when considering a 0.1% risk acceptance (***)
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There are some major perf improvements
I’m guessing that’s because V8 is able to better optimise classes when the methods are defined in the class declaration, rather than using Object.defineProperties.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
I’m guessing that’s because V8 is able to better optimise classes when the methods are defined in the class declaration, rather than using Object.defineProperties.
OK but do you understand how does this affect the legacy API?
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Feb 16, 2021
Reviewers
aduh95
aduh95 approved these changes
Flarna
Awaiting requested review from Flarna
+1 more reviewer
Reviewers whose approvals may not affect merge requirements
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Labels
author ready
PRs with CI started, the required approvals, and no outstanding review comments.
review wanted
PRs that need review.
whatwg-url
Issues and PRs related to the WHATWG URL implementation.
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|