Skip to content

Commit

Permalink
refactor(es/resolver): Make syntax context for unresolved and top-lev…
Browse files Browse the repository at this point in the history
…el stable (#7096)
  • Loading branch information
Austaras committed Mar 20, 2023
1 parent d6cc123 commit c114f00
Show file tree
Hide file tree
Showing 205 changed files with 1,049 additions and 1,046 deletions.
4 changes: 2 additions & 2 deletions bindings/binding_core_wasm/__tests__/simple.js
Expand Up @@ -108,7 +108,7 @@ describe("parse", () => {
"identifier": Object {
"optional": false,
"span": Object {
"ctxt": 1,
"ctxt": 2,
"end": 394,
"start": 391,
},
Expand Down Expand Up @@ -155,7 +155,7 @@ describe("parse", () => {
"identifier": Object {
"optional": false,
"span": Object {
"ctxt": 1,
"ctxt": 2,
"end": 407,
"start": 404,
},
Expand Down
Expand Up @@ -11,7 +11,7 @@
//// [index.js]
/**
* @typedef {import("./externs")} Foo
*/ let a = /** @type {*} */ undefined;
*/ let a = /** @type {Foo} */ /** @type {*} */ undefined;
a = new Foo({
doer: Foo.Bar
});
Expand Down
3 changes: 3 additions & 0 deletions crates/swc_ecma_transforms_base/src/resolver/mod.rs
Expand Up @@ -141,6 +141,9 @@ pub fn resolver(
"Marker provided to resolver should not be the root mark"
);

let _ = SyntaxContext::empty().apply_mark(unresolved_mark);
let _ = SyntaxContext::empty().apply_mark(top_level_mark);

as_folder(Resolver {
current: Scope::new(ScopeKind::Fn, top_level_mark, None),
ident_type: IdentType::Ref,
Expand Down
@@ -1,6 +1,6 @@
let arr__1 = [];
for(let i__2 = 0; i__2 < 10; i__2++){
for(let i__4 = 0; i__4 < 10; i__4++){
arr__1.push(()=>i__4);
let arr__2 = [];
for(let i__3 = 0; i__3 < 10; i__3++){
for(let i__5 = 0; i__5 < 10; i__5++){
arr__2.push(()=>i__5);
}
}
@@ -1,8 +1,8 @@
{
var foo__1 = 1;
var foo__2 = 1;
{
let foo__3 = 2;
use(foo__3);
let foo__4 = 2;
use(foo__4);
}
use(foo__1);
use(foo__2);
}
@@ -1,4 +1,4 @@
let foo__1;
let foo__2;
{
let foo__2;
let foo__3;
}
@@ -1,9 +1,9 @@
const g__1 = 20;
function baz__1() {
const g__2 = 20;
function baz__2() {
{
class g__3 {
class g__4 {
}
console.log(g__3);
console.log(g__4);
}
return g__1;
return g__2;
}
@@ -1,5 +1,5 @@
var Foo__1 = function(_Bar__2) {
_inherits(Foo__2, _Bar__2);
function Foo__2() {}
return Foo__2;
var Foo__2 = function(_Bar__3) {
_inherits(Foo__3, _Bar__3);
function Foo__3() {}
return Foo__3;
}(Bar);
@@ -1,5 +1,5 @@
var Foo__1 = function(_Bar__2) {
_inherits(Foo__2, _Bar__2);
function Foo__2() {}
return Foo__2;
var Foo__2 = function(_Bar__3) {
_inherits(Foo__3, _Bar__3);
function Foo__3() {}
return Foo__3;
}(Bar);
@@ -1,7 +1,7 @@
let Test__1 = 2;
let Test__2 = 2;
test(class Test__3 {
hi() {
console.log(Test__3);
}
});
Test__1 = 4;
Test__2 = 4;
@@ -1,15 +1,15 @@
var Outer__1 = function(_Hello__2) {
_inherits(Outer__2, _Hello__2);
function Outer__2() {
_classCallCheck(this, Outer__2);
var _this__4 = _possibleConstructorReturn(this, _getPrototypeOf(Outer__2).call(this));
var Outer__2 = function(_Hello__3) {
_inherits(Outer__3, _Hello__3);
function Outer__3() {
_classCallCheck(this, Outer__3);
var _this__4 = _possibleConstructorReturn(this, _getPrototypeOf(Outer__3).call(this));
var Inner__4 = function() {
function Inner__5() {
_classCallCheck(this, Inner__5);
}
_createClass(Inner__5, [
{
key: _get(_getPrototypeOf(Outer__2.prototype), "toString", _assertThisInitialized(_this__4)).call(_this__4),
key: _get(_getPrototypeOf(Outer__3.prototype), "toString", _assertThisInitialized(_this__4)).call(_this__4),
value: function() {
return "hello";
}
Expand All @@ -19,5 +19,5 @@ var Outer__1 = function(_Hello__2) {
}();
return _possibleConstructorReturn(_this__4, new Inner__4());
}
return Outer__2;
return Outer__3;
}(Hello);
@@ -1,6 +1,6 @@
var ConstructorScoping__1 = function ConstructorScoping__2() {
_classCallCheck(this, ConstructorScoping__2);
var bar__3;
var ConstructorScoping__2 = function ConstructorScoping__3() {
_classCallCheck(this, ConstructorScoping__3);
var bar__4;
{
let bar__5;
use(bar__5);
Expand Down
@@ -1,14 +1,14 @@
var singleton__1;
var Sub__1 = function(_Foo__2) {
_inherits(Sub__2, _Foo__2);
function Sub__2() {
var singleton__2;
var Sub__2 = function(_Foo__3) {
_inherits(Sub__3, _Foo__3);
function Sub__3() {
var _this__4;
_classCallCheck(this, Sub__2);
if (singleton__1) {
return _possibleConstructorReturn(_this__4, singleton__1);
_classCallCheck(this, Sub__3);
if (singleton__2) {
return _possibleConstructorReturn(_this__4, singleton__2);
}
singleton__1 = _this__4 = _possibleConstructorReturn(this, _getPrototypeOf(Sub__2).call(this));
singleton__2 = _this__4 = _possibleConstructorReturn(this, _getPrototypeOf(Sub__3).call(this));
return _possibleConstructorReturn(_this__4);
}
return Sub__2;
return Sub__3;
}(Foo);
@@ -1,8 +1,8 @@
function foo__1() {
const sym__2 = "dasdas";
return class Bar__3 extends Foo {
[sym__2]() {
return super[sym__2]() + super.sym();
function foo__2() {
const sym__3 = "dasdas";
return class Bar__4 extends Foo {
[sym__3]() {
return super[sym__3]() + super.sym();
}
};
}
@@ -1,10 +1,10 @@
var Foo__1 = function(_Bar__2) {
_inherits(Foo__2, _Bar__2);
function Foo__2() {
var Foo__2 = function(_Bar__3) {
_inherits(Foo__3, _Bar__3);
function Foo__3() {
var _this__4;
_classCallCheck(this, Foo__2);
Foo__2[_assertThisInitialized(_this__4)];
_classCallCheck(this, Foo__3);
Foo__3[_assertThisInitialized(_this__4)];
return _possibleConstructorReturn(_this__4);
}
return Foo__2;
return Foo__3;
}(Bar);
@@ -1 +1 @@
var Foo__1 = function Foo__2() {};
var Foo__2 = function Foo__3() {};
@@ -1,7 +1,7 @@
const b__1 = 1;
const b1__1 = 2;
const b__2 = 1;
const b1__2 = 2;
{
const b__2 = 3;
const b1__2 = 4;
const b2__2 = 5;
const b__3 = 3;
const b1__3 = 4;
const b2__3 = 5;
}
@@ -1,12 +1,12 @@
var ___1 = 1;
function wt__1(e__2, n__2, t__2, r__2) {
var l__2 = e__2.updateQueue;
var ___2 = 1;
function wt__2(e__3, n__3, t__3, r__3) {
var l__3 = e__3.updateQueue;
if (u !== null) {
if (y !== null) {
var ___2 = y.lastBaseUpdate;
var ___3 = y.lastBaseUpdate;
}
}
if (i !== null) {
___2 = l__2.baseState, o = 0, y = d = s = null;
___3 = l__3.baseState, o = 0, y = d = s = null;
}
}
@@ -1,11 +1,11 @@
var ___1 = 1;
function wt__1() {
var ___2 = 1;
function wt__2() {
if (u !== null) {
if (y !== null) {
var ___2 = 2;
var ___3 = 2;
}
}
if (i !== null) {
___2 = 3;
___3 = 3;
}
}
@@ -1,7 +1,7 @@
export default class Test__1 {
export default class Test__2 {
hi() {
let Test__2 = 2;
console.log(Test__2);
let Test__3 = 2;
console.log(Test__3);
}
}
Test__1 = 2;
Test__2 = 2;
@@ -1,7 +1,7 @@
export default function foo__1() {
foo__1 = function foo__3(x__4) {
return x__4 === 0 ? 1 : 1 + foo__3(x__4 - 1);
export default function foo__2() {
foo__2 = function foo__4(x__5) {
return x__5 === 0 ? 1 : 1 + foo__4(x__5 - 1);
};
return foo__1(10);
return foo__2(10);
}
foo__1 = 2;
foo__2 = 2;
@@ -1,6 +1,6 @@
test(function foo__2() {
foo__2 = function foo__4(x__5) {
return x__5 === 0 ? 1 : 1 + foo__4(x__5 - 1);
test(function foo__3() {
foo__3 = function foo__5(x__6) {
return x__6 === 0 ? 1 : 1 + foo__5(x__6 - 1);
};
return foo__2(10);
return foo__3(10);
});
@@ -1,11 +1,11 @@
var k__1, v__1;
var map__1 = new Map([
var k__2, v__2;
var map__2 = new Map([
[
"",
true
]
]);
for ([k__1, ...[v__1]] of map__1){
k__1;
v__1;
for ([k__2, ...[v__2]] of map__2){
k__2;
v__2;
}
@@ -1,5 +1,5 @@
let a__1 = "foo";
function foo__1() {
let a__2 = "bar";
use(a__2);
let a__2 = "foo";
function foo__2() {
let a__3 = "bar";
use(a__3);
}
@@ -1,13 +1,13 @@
function foo__1() {
const r__2 = ()=>1;
function foo__2() {
const r__3 = ()=>1;
if (true) {
function r__3() {
function r__4() {
return 2;
}
}
console.log(r__2());
console.log(r__3());
}
function bar__1() {
function bar__2() {
var r__6 = ()=>1;
if (true) {
function r__6() {
Expand All @@ -16,7 +16,7 @@ function bar__1() {
}
console.log(r__6());
}
function baz__1() {
function baz__2() {
function r__9() {
return 1;
}
Expand All @@ -27,7 +27,7 @@ function baz__1() {
}
console.log(r__9());
}
function quz__1(r__13 = ()=>1) {
function quz__2(r__13 = ()=>1) {
if (true) {
function r__14() {
return 2;
Expand Down
@@ -1,4 +1,4 @@
let a__1 = "foo";
function foo__1(a__2) {
use(a__2);
let a__2 = "foo";
function foo__2(a__3) {
use(a__3);
}
@@ -1,12 +1,12 @@
const foo__1 = "foo";
function foobar__1() {
for (let item__3 of [
const foo__2 = "foo";
function foobar__2() {
for (let item__4 of [
1,
2,
3
]){
let foo__4 = "bar";
[bar, foo__4] = [
let foo__5 = "bar";
[bar, foo__5] = [
1,
2
];
Expand Down
@@ -1,3 +1,3 @@
function test__1() {
let foo__2 = "bar";
function test__2() {
let foo__3 = "bar";
}
@@ -1,3 +1,3 @@
function foo__1(Object__2) {
Object__2.defineProperty();
function foo__2(Object__3) {
Object__3.defineProperty();
}

1 comment on commit c114f00

@github-actions
Copy link

Choose a reason for hiding this comment

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

Benchmark

Benchmark suite Current: c114f00 Previous: 0f09e35 Ratio
es/full/bugs-1 308272 ns/iter (± 8605) 303703 ns/iter (± 15554) 1.02
es/full/minify/libraries/antd 1575086125 ns/iter (± 34030267) 1637590908 ns/iter (± 36652688) 0.96
es/full/minify/libraries/d3 291709257 ns/iter (± 8681193) 311664466 ns/iter (± 9929006) 0.94
es/full/minify/libraries/echarts 1202996247 ns/iter (± 13872076) 1265692249 ns/iter (± 23027019) 0.95
es/full/minify/libraries/jquery 90123953 ns/iter (± 1135915) 91006485 ns/iter (± 2236098) 0.99
es/full/minify/libraries/lodash 104292647 ns/iter (± 875448) 106286110 ns/iter (± 1827383) 0.98
es/full/minify/libraries/moment 51566788 ns/iter (± 345558) 53858626 ns/iter (± 1094772) 0.96
es/full/minify/libraries/react 18804348 ns/iter (± 105802) 19755875 ns/iter (± 569343) 0.95
es/full/minify/libraries/terser 241527945 ns/iter (± 3713319) 252695928 ns/iter (± 9198050) 0.96
es/full/minify/libraries/three 426448556 ns/iter (± 5910576) 446486514 ns/iter (± 9100111) 0.96
es/full/minify/libraries/typescript 3049196063 ns/iter (± 14098162) 3136852563 ns/iter (± 21360722) 0.97
es/full/minify/libraries/victory 682897228 ns/iter (± 8938686) 698723108 ns/iter (± 14174032) 0.98
es/full/minify/libraries/vue 130180219 ns/iter (± 1455814) 132348369 ns/iter (± 2616036) 0.98
es/full/codegen/es3 26378 ns/iter (± 62) 26158 ns/iter (± 57) 1.01
es/full/codegen/es5 26481 ns/iter (± 57) 26270 ns/iter (± 70) 1.01
es/full/codegen/es2015 26463 ns/iter (± 107) 26243 ns/iter (± 63) 1.01
es/full/codegen/es2016 26213 ns/iter (± 111) 26240 ns/iter (± 69) 1.00
es/full/codegen/es2017 26342 ns/iter (± 140) 26293 ns/iter (± 50) 1.00
es/full/codegen/es2018 26342 ns/iter (± 133) 26254 ns/iter (± 33) 1.00
es/full/codegen/es2019 26492 ns/iter (± 86) 26227 ns/iter (± 213) 1.01
es/full/codegen/es2020 26498 ns/iter (± 59) 26268 ns/iter (± 32) 1.01
es/full/all/es3 181943704 ns/iter (± 1565542) 184645027 ns/iter (± 4616826) 0.99
es/full/all/es5 173750289 ns/iter (± 3311427) 176459179 ns/iter (± 2869532) 0.98
es/full/all/es2015 139383703 ns/iter (± 3181280) 135481266 ns/iter (± 1934011) 1.03
es/full/all/es2016 134849770 ns/iter (± 2899369) 136174930 ns/iter (± 3907335) 0.99
es/full/all/es2017 134584852 ns/iter (± 1810368) 134304933 ns/iter (± 3093887) 1.00
es/full/all/es2018 129354362 ns/iter (± 1893877) 130857261 ns/iter (± 2218300) 0.99
es/full/all/es2019 128856063 ns/iter (± 1486742) 130235098 ns/iter (± 3520584) 0.99
es/full/all/es2020 119379776 ns/iter (± 888715) 120053300 ns/iter (± 1721192) 0.99
es/full/parser 540132 ns/iter (± 7574) 538373 ns/iter (± 9525) 1.00
es/full/base/fixer 22710 ns/iter (± 54) 22780 ns/iter (± 28) 1.00
es/full/base/resolver_and_hygiene 83112 ns/iter (± 285) 81980 ns/iter (± 102) 1.01
serialization of ast node 124 ns/iter (± 2) 124 ns/iter (± 0) 1
serialization of serde 128 ns/iter (± 0) 126 ns/iter (± 0) 1.02
css/minify/libraries/bootstrap 28166445 ns/iter (± 135768) 28471272 ns/iter (± 71421) 0.99
css/visitor/compare/clone 2072625 ns/iter (± 13736) 2089558 ns/iter (± 18343) 0.99
css/visitor/compare/visit_mut_span 2266175 ns/iter (± 10791) 2251811 ns/iter (± 5332) 1.01
css/visitor/compare/visit_mut_span_panic 2311237 ns/iter (± 5493) 2310458 ns/iter (± 10064) 1.00
css/visitor/compare/fold_span 3006721 ns/iter (± 14942) 3054502 ns/iter (± 17922) 0.98
css/visitor/compare/fold_span_panic 3176818 ns/iter (± 20455) 3182596 ns/iter (± 20395) 1.00
css/lexer/bootstrap_5_1_3 5168530 ns/iter (± 23289) 5134987 ns/iter (± 5000) 1.01
css/lexer/foundation_6_7_4 4377944 ns/iter (± 9866) 4316757 ns/iter (± 2393) 1.01
css/lexer/tailwind_3_1_1 827387 ns/iter (± 3228) 821903 ns/iter (± 81) 1.01
css/parser/bootstrap_5_1_3 21835358 ns/iter (± 105493) 21919160 ns/iter (± 294009) 1.00
css/parser/foundation_6_7_4 17325972 ns/iter (± 66186) 17397936 ns/iter (± 22258) 1.00
css/parser/tailwind_3_1_1 3318860 ns/iter (± 11828) 3331638 ns/iter (± 5630) 1.00
es/codegen/colors 328743 ns/iter (± 180805) 328519 ns/iter (± 184073) 1.00
es/codegen/large 1200845 ns/iter (± 587070) 1172663 ns/iter (± 602045) 1.02
es/codegen/with-parser/colors 48446 ns/iter (± 123) 47845 ns/iter (± 380) 1.01
es/codegen/with-parser/large 521562 ns/iter (± 2413) 521661 ns/iter (± 1973) 1.00
es/minify/libraries/antd 1405095241 ns/iter (± 23481891) 1449909700 ns/iter (± 27653808) 0.97
es/minify/libraries/d3 248976609 ns/iter (± 1964949) 257710443 ns/iter (± 6299280) 0.97
es/minify/libraries/echarts 1061477488 ns/iter (± 20551602) 1104977977 ns/iter (± 18873960) 0.96
es/minify/libraries/jquery 78534822 ns/iter (± 981194) 79641222 ns/iter (± 1910729) 0.99
es/minify/libraries/lodash 94386233 ns/iter (± 1253632) 95729739 ns/iter (± 1867334) 0.99
es/minify/libraries/moment 45293838 ns/iter (± 274380) 46317706 ns/iter (± 945946) 0.98
es/minify/libraries/react 16976720 ns/iter (± 184870) 16968820 ns/iter (± 248810) 1.00
es/minify/libraries/terser 207681333 ns/iter (± 3642185) 221185983 ns/iter (± 6038189) 0.94
es/minify/libraries/three 352937833 ns/iter (± 5524688) 376934935 ns/iter (± 12437520) 0.94
es/minify/libraries/typescript 2585317063 ns/iter (± 13325844) 2657118961 ns/iter (± 46145631) 0.97
es/minify/libraries/victory 555359781 ns/iter (± 7380632) 600444791 ns/iter (± 15062614) 0.92
es/minify/libraries/vue 114519975 ns/iter (± 1099781) 116565237 ns/iter (± 2113278) 0.98
es/visitor/compare/clone 2307107 ns/iter (± 11155) 2305160 ns/iter (± 14051) 1.00
es/visitor/compare/visit_mut_span 2674138 ns/iter (± 5406) 2679375 ns/iter (± 2912) 1.00
es/visitor/compare/visit_mut_span_panic 2714055 ns/iter (± 10941) 2713291 ns/iter (± 5939) 1.00
es/visitor/compare/fold_span 3778283 ns/iter (± 17681) 3764466 ns/iter (± 6651) 1.00
es/visitor/compare/fold_span_panic 3924913 ns/iter (± 12688) 3920290 ns/iter (± 6615) 1.00
es/lexer/colors 15334 ns/iter (± 56) 15374 ns/iter (± 174) 1.00
es/lexer/angular 7426316 ns/iter (± 22410) 7444554 ns/iter (± 3468) 1.00
es/lexer/backbone 989310 ns/iter (± 4355) 991441 ns/iter (± 694) 1.00
es/lexer/jquery 5584764 ns/iter (± 8763) 5596061 ns/iter (± 1279) 1.00
es/lexer/jquery mobile 8568400 ns/iter (± 44096) 8608007 ns/iter (± 12768) 1.00
es/lexer/mootools 4401972 ns/iter (± 8022) 4437743 ns/iter (± 2138) 0.99
es/lexer/underscore 827627 ns/iter (± 4256) 834780 ns/iter (± 266) 0.99
es/lexer/three 26105919 ns/iter (± 91216) 26215251 ns/iter (± 19958) 1.00
es/lexer/yui 4658922 ns/iter (± 17704) 4678733 ns/iter (± 1677) 1.00
es/parser/colors 29365 ns/iter (± 88) 29623 ns/iter (± 844) 0.99
es/parser/angular 15225487 ns/iter (± 113378) 15489162 ns/iter (± 149820) 0.98
es/parser/backbone 2221050 ns/iter (± 15236) 2244026 ns/iter (± 15055) 0.99
es/parser/jquery 11956874 ns/iter (± 161334) 12174567 ns/iter (± 112164) 0.98
es/parser/jquery mobile 18892113 ns/iter (± 248475) 19071163 ns/iter (± 180404) 0.99
es/parser/mootools 9168766 ns/iter (± 22571) 9270988 ns/iter (± 27577) 0.99
es/parser/underscore 1870151 ns/iter (± 10484) 1895524 ns/iter (± 10742) 0.99
es/parser/three 54538903 ns/iter (± 761019) 56437582 ns/iter (± 498995) 0.97
es/parser/yui 9234659 ns/iter (± 74767) 9304932 ns/iter (± 51677) 0.99
es/preset-env/usage/builtin_type 141212 ns/iter (± 34929) 138413 ns/iter (± 32030) 1.02
es/preset-env/usage/property 21178 ns/iter (± 120) 21300 ns/iter (± 111) 0.99
es/resolver/typescript 121103494 ns/iter (± 2092544) 120808685 ns/iter (± 2126257) 1.00
es/fixer/typescript 86874806 ns/iter (± 641826) 84512944 ns/iter (± 909121) 1.03
es/hygiene/typescript 181986286 ns/iter (± 1262569) 183925855 ns/iter (± 2746738) 0.99
es/resolver_with_hygiene/typescript 325098349 ns/iter (± 3924245) 324223906 ns/iter (± 7015979) 1.00
es/visitor/base-perf/module_clone 79919 ns/iter (± 1043) 79934 ns/iter (± 1539) 1.00
es/visitor/base-perf/fold_empty 88658 ns/iter (± 1700) 90219 ns/iter (± 1208) 0.98
es/visitor/base-perf/fold_noop_impl_all 88900 ns/iter (± 1192) 89404 ns/iter (± 1595) 0.99
es/visitor/base-perf/fold_noop_impl_vec 91458 ns/iter (± 1486) 90337 ns/iter (± 1196) 1.01
es/visitor/base-perf/boxing_boxed_clone 57 ns/iter (± 0) 56 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed_clone 53 ns/iter (± 0) 54 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_boxed 103 ns/iter (± 0) 109 ns/iter (± 0) 0.94
es/visitor/base-perf/boxing_unboxed 99 ns/iter (± 0) 97 ns/iter (± 0) 1.02
es/visitor/base-perf/visit_contains_this 3357 ns/iter (± 47) 3359 ns/iter (± 71) 1.00
es/base/parallel/resolver/typescript 7160791310 ns/iter (± 478404987) 6764561013 ns/iter (± 372062300) 1.06
es/base/parallel/hygiene/typescript 2192504329 ns/iter (± 26267783) 2202190547 ns/iter (± 51182046) 1.00
misc/visitors/time-complexity/time 5 101 ns/iter (± 0) 91 ns/iter (± 3) 1.11
misc/visitors/time-complexity/time 10 333 ns/iter (± 0) 304 ns/iter (± 13) 1.10
misc/visitors/time-complexity/time 15 695 ns/iter (± 1) 620 ns/iter (± 10) 1.12
misc/visitors/time-complexity/time 20 1306 ns/iter (± 2) 1147 ns/iter (± 7) 1.14
misc/visitors/time-complexity/time 40 6879 ns/iter (± 7) 5960 ns/iter (± 58) 1.15
misc/visitors/time-complexity/time 60 17493 ns/iter (± 41) 15346 ns/iter (± 76) 1.14
es/full-target/es2016 250804 ns/iter (± 1420) 250204 ns/iter (± 668) 1.00
es/full-target/es2017 242793 ns/iter (± 345) 242721 ns/iter (± 451) 1.00
es/full-target/es2018 231953 ns/iter (± 352) 232183 ns/iter (± 333) 1.00
es2020_nullish_coalescing 91264 ns/iter (± 139) 91691 ns/iter (± 607) 1.00
es2020_optional_chaining 124266 ns/iter (± 438) 125502 ns/iter (± 526) 0.99
es2022_class_properties 147178 ns/iter (± 365) 147790 ns/iter (± 361) 1.00
es2018_object_rest_spread 95531 ns/iter (± 247) 95260 ns/iter (± 163) 1.00
es2019_optional_catch_binding 84913 ns/iter (± 255) 84693 ns/iter (± 179) 1.00
es2017_async_to_generator 85480 ns/iter (± 248) 85426 ns/iter (± 198) 1.00
es2016_exponentiation 89206 ns/iter (± 254) 89699 ns/iter (± 184) 0.99
es2015_arrow 93644 ns/iter (± 196) 93409 ns/iter (± 208) 1.00
es2015_block_scoped_fn 91105 ns/iter (± 101) 91105 ns/iter (± 260) 1
es2015_block_scoping 169753 ns/iter (± 241) 170335 ns/iter (± 259) 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.