Skip to content

Commit

Permalink
fix(es/compat): Use return statements for method and setter decorator (
Browse files Browse the repository at this point in the history
…#8017)

**Description:**

This aligns with other implementations such as TypeScript's and correctly implements the currently proposed behavior.

**Related issue:**

 - Closes #8015.
  • Loading branch information
jrandolf-2 authored Sep 27, 2023
1 parent 0871d4e commit 38bc710
Show file tree
Hide file tree
Showing 24 changed files with 101 additions and 68 deletions.
27 changes: 12 additions & 15 deletions crates/swc_ecma_transforms_proposal/src/decorator_2022_03.rs
Original file line number Diff line number Diff line change
Expand Up @@ -850,18 +850,15 @@ impl VisitMut for Decorator202203 {

match p.kind {
MethodKind::Method => {
*n = ClassMember::PrivateProp(PrivateProp {
accessibility: Default::default(),
span: p.span,
key: p.key.clone(),
is_optional: Default::default(),
is_override: Default::default(),
is_static: p.is_static,
value: Some(init.into()),
type_ann: Default::default(),
decorators: Default::default(),
definite: Default::default(),
readonly: Default::default(),
let call_stmt = Stmt::Return(ReturnStmt {
span: DUMMY_SP,
arg: Some(Box::new(Expr::Ident(init))),
});

p.kind = MethodKind::Getter;
p.function.body = Some(BlockStmt {
span: DUMMY_SP,
stmts: vec![call_stmt],
});
}
MethodKind::Getter => {
Expand All @@ -881,17 +878,17 @@ impl VisitMut for Decorator202203 {
});
}
MethodKind::Setter => {
let call_stmt = Stmt::Expr(ExprStmt {
let call_stmt = Stmt::Return(ReturnStmt {
span: DUMMY_SP,
expr: Box::new(Expr::Call(CallExpr {
arg: Some(Box::new(Expr::Call(CallExpr {
span: DUMMY_SP,
callee: init.as_callee(),
args: vec![
ThisExpr { span: DUMMY_SP }.as_arg(),
p.function.params[0].pat.clone().expect_ident().id.as_arg(),
],
type_args: Default::default(),
})),
}))),
});

p.function.body = Some(BlockStmt {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,5 @@ function get_a() {
return _call_a(this);
}
function set_a(v) {
_call_a1(this, v);
return _call_a1(this, v);
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ var _a = {
var __ = {
writable: true,
value: (()=>{
({ e: [_call_a, _call_a1, _initStatic] } = _apply_decs_2203_r(Foo, [
({ e: [_call_a, _call_a1, _initStatic] } = _apply_decs_2203_r(Foo, [
[
dec,
8,
Expand All @@ -41,5 +41,5 @@ function get_a() {
return _call_a(this);
}
function set_a(v) {
_call_a1(this, v);
return _call_a1(this, v);
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_a, _call_a1, _initProto;
const dec = ()=>{};
class Foo {
static{
({ e: [_call_a, _call_a1, _initProto] } = _apply_decs_2203_r(this, [
({ e: [_call_a, _call_a1, _initProto] } = _apply_decs_2203_r(this, [
[
dec,
3,
Expand All @@ -29,7 +29,7 @@ class Foo {
return _call_a(this);
}
set #a(v) {
_call_a1(this, v);
return _call_a1(this, v);
}
getA() {
return this.#a;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_a, _call_a1, _initStatic;
const dec = ()=>{};
class Foo {
static{
({ e: [_call_a, _call_a1, _initStatic] } = _apply_decs_2203_r(this, [
({ e: [_call_a, _call_a1, _initStatic] } = _apply_decs_2203_r(this, [
[
dec,
8,
Expand All @@ -27,7 +27,7 @@ class Foo {
return _call_a(this);
}
static set #a(v) {
_call_a1(this, v);
return _call_a1(this, v);
}
static getA() {
return this.#a;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ class Foo {
return _class_private_field_get(this, _a).call(this);
}
constructor(){
_define_property(this, "value", 1);
_class_private_field_init(this, _a, {
writable: true,
value: _call_a
get: get_a,
set: void 0
});
_define_property(this, "value", 1);
_initProto(this);
}
}
Expand All @@ -27,3 +27,6 @@ var __ = {
]
], [])
};
function get_a() {
return _call_a;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,14 @@ class Foo {
return _class_static_private_field_spec_get(this, Foo, _a).call(Foo);
}
}
var _a = {
get: get_a,
set: void 0
};
var __ = {
writable: true,
value: (()=>{
({ e: [_call_a, _initStatic] } = _apply_decs_2203_r(Foo, [
({ e: [_call_a, _initStatic] } = _apply_decs_2203_r(Foo, [
[
dec,
7,
Expand All @@ -22,7 +26,6 @@ var __ = {
})()
};
_define_property(Foo, "value", 1);
var _a = {
writable: true,
value: _call_a
};
function get_a() {
return _call_a;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_a, _initProto;
const dec = ()=>{};
class Foo {
static{
({ e: [_call_a, _initProto] } = _apply_decs_2203_r(this, [
({ e: [_call_a, _initProto] } = _apply_decs_2203_r(this, [
[
dec,
2,
Expand All @@ -17,7 +17,9 @@ class Foo {
_initProto(this);
}
value = 1;
#a = _call_a;
get #a() {
return _call_a;
}
callA() {
return this.#a();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_a, _initStatic;
const dec = ()=>{};
class Foo {
static{
({ e: [_call_a, _initStatic] } = _apply_decs_2203_r(this, [
({ e: [_call_a, _initStatic] } = _apply_decs_2203_r(this, [
[
dec,
7,
Expand All @@ -15,7 +15,9 @@ class Foo {
_initStatic(this);
}
static value = 1;
static #a = _call_a;
static get #a() {
return _call_a;
}
static callA() {
return this.#a();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ new class extends _identity {
static{
class Class {
static{
({ e: [_init_m, _call_o, _call_p, _call_q, _init_r, _get___r, _set___r, _init_i, _init_n, _init_d, _call_f, _call_g, _call_g1, _init_h, _get___h, _set___h, _init_a, _init_e, _initProto, _initStatic] , c: [_Class, _initClass] } = _apply_decs_2203_r(this, [
({ e: [_init_m, _call_o, _call_p, _call_q, _init_r, _get___r, _set___r, _init_i, _init_n, _init_d, _call_f, _call_g, _call_g1, _init_h, _get___h, _set___h, _init_a, _init_e, _initProto, _initStatic], c: [_Class, _initClass] } = _apply_decs_2203_r(this, [
[
dec,
7,
Expand Down Expand Up @@ -156,12 +156,14 @@ new class extends _identity {
this.#___private_d = _v;
}
#e = _init_e(this);
#f = _call_f;
get #f() {
return _call_f;
}
get #g() {
return _call_g(this);
}
set #g(v) {
_call_g1(this, v);
return _call_g1(this, v);
}
#__h = _init_h(this);
get #h() {
Expand All @@ -184,12 +186,14 @@ new class extends _identity {
}
#___private_m = _init_m(this);
#n = _init_n(this);
#o = _call_o;
get #o() {
return _call_o;
}
get #p() {
return _call_p(this);
}
set #q(v) {
_call_q(this, v);
return _call_q(this, v);
}
#__r = _init_r(this);
get #r() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_x, _initProto;
const dec = ()=>{};
class Foo {
static{
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
[
dec,
2,
Expand All @@ -14,7 +14,9 @@ class Foo {
constructor(){
_initProto(this);
}
#x = _call_x;
get #x() {
return _call_x;
}
bar() {
[this.#x] = this.baz;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_x, _initProto;
const dec = ()=>{};
class Foo {
static{
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
[
dec,
2,
Expand All @@ -14,7 +14,9 @@ class Foo {
constructor(){
_initProto(this);
}
#x = _call_x;
get #x() {
return _call_x;
}
bar() {
for (this.#x of this.baz);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_x, _initProto;
const dec = ()=>{};
class Foo {
static{
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
[
dec,
2,
Expand All @@ -14,8 +14,10 @@ class Foo {
constructor(){
_initProto(this);
}
#x = _call_x;
get #x() {
return _call_x;
}
bar() {
({ x: this.#x } = this.baz);
({ x: this.#x } = this.baz);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_x, _initProto;
const dec = ()=>{};
class Foo {
static{
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
[
dec,
2,
Expand All @@ -14,7 +14,9 @@ class Foo {
constructor(){
_initProto(this);
}
#x = _call_x;
get #x() {
return _call_x;
}
bar() {
[...this.#x] = this.baz;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_x, _initProto;
const dec = ()=>{};
class Foo {
static{
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
[
dec,
2,
Expand All @@ -14,7 +14,9 @@ class Foo {
constructor(){
_initProto(this);
}
#x = _call_x;
get #x() {
return _call_x;
}
bar() {
this.#x++;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_x, _initProto;
const dec = ()=>{};
class Foo {
static{
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
[
dec,
2,
Expand All @@ -14,7 +14,9 @@ class Foo {
constructor(){
_initProto(this);
}
#x = _call_x;
get #x() {
return _call_x;
}
bar() {
this.#x = 123;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _call_x, _initProto;
const dec = ()=>{};
class Foo extends Bar {
static{
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
({ e: [_call_x, _initProto] } = _apply_decs_2203_r(this, [
[
dec,
2,
Expand All @@ -17,5 +17,7 @@ class Foo extends Bar {
super(...args);
_initProto(this);
}
#x = _call_x;
get #x() {
return _call_x;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var _initClass, _init_b, _init_c, _get___c, _set___c, _call_d, _initProto, _init
let _A;
class A {
static{
({ e: [_init_b, _init_c, _get___c, _set___c, _call_d, _initProto, _initStatic] , c: [_A, _initClass] } = _apply_decs_2203_r(this, [
({ e: [_init_b, _init_c, _get___c, _set___c, _call_d, _initProto, _initStatic], c: [_A, _initClass] } = _apply_decs_2203_r(this, [
[
dec3,
6,
Expand Down Expand Up @@ -53,7 +53,9 @@ class A {
static set #c(_v) {
_set___c(this, _v);
}
#d = _call_d;
get #d() {
return _call_d;
}
static{
_initClass();
}
Expand Down
Loading

1 comment on commit 38bc710

@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: 38bc710 Previous: 5817268 Ratio
es/full/bugs-1 292835 ns/iter (± 10082) 284593 ns/iter (± 4996) 1.03
es/full/minify/libraries/antd 1315995624 ns/iter (± 18473083) 1338196435 ns/iter (± 15375926) 0.98
es/full/minify/libraries/d3 277406238 ns/iter (± 3393749) 273285161 ns/iter (± 3932503) 1.02
es/full/minify/libraries/echarts 1062448946 ns/iter (± 20500512) 1061781553 ns/iter (± 6140023) 1.00
es/full/minify/libraries/jquery 83558813 ns/iter (± 176392) 83670064 ns/iter (± 348666) 1.00
es/full/minify/libraries/lodash 97253814 ns/iter (± 248356) 96999967 ns/iter (± 286219) 1.00
es/full/minify/libraries/moment 49495554 ns/iter (± 104500) 49428648 ns/iter (± 103449) 1.00
es/full/minify/libraries/react 17900940 ns/iter (± 62713) 17862869 ns/iter (± 65568) 1.00
es/full/minify/libraries/terser 217602082 ns/iter (± 458473) 216595625 ns/iter (± 897632) 1.00
es/full/minify/libraries/three 385690773 ns/iter (± 2303723) 388864484 ns/iter (± 2240336) 0.99
es/full/minify/libraries/typescript 2655033055 ns/iter (± 12817397) 2714244243 ns/iter (± 31156729) 0.98
es/full/minify/libraries/victory 564255625 ns/iter (± 3079118) 578801457 ns/iter (± 5121085) 0.97
es/full/minify/libraries/vue 119122326 ns/iter (± 383014) 119346698 ns/iter (± 372556) 1.00
es/full/codegen/es3 34990 ns/iter (± 120) 35560 ns/iter (± 597) 0.98
es/full/codegen/es5 34846 ns/iter (± 143) 35802 ns/iter (± 422) 0.97
es/full/codegen/es2015 34862 ns/iter (± 92) 35728 ns/iter (± 113) 0.98
es/full/codegen/es2016 34817 ns/iter (± 122) 35693 ns/iter (± 137) 0.98
es/full/codegen/es2017 34859 ns/iter (± 97) 35694 ns/iter (± 203) 0.98
es/full/codegen/es2018 34799 ns/iter (± 107) 35705 ns/iter (± 115) 0.97
es/full/codegen/es2019 34949 ns/iter (± 104) 35722 ns/iter (± 205) 0.98
es/full/codegen/es2020 34857 ns/iter (± 163) 35682 ns/iter (± 127) 0.98
es/full/all/es3 164104993 ns/iter (± 931894) 165089211 ns/iter (± 1474649) 0.99
es/full/all/es5 157456785 ns/iter (± 1625657) 157001871 ns/iter (± 900164) 1.00
es/full/all/es2015 117387903 ns/iter (± 1102040) 116301140 ns/iter (± 582343) 1.01
es/full/all/es2016 115623727 ns/iter (± 1550286) 115777511 ns/iter (± 475661) 1.00
es/full/all/es2017 114660643 ns/iter (± 1107395) 115136476 ns/iter (± 608547) 1.00
es/full/all/es2018 113788337 ns/iter (± 787702) 113503622 ns/iter (± 685860) 1.00
es/full/all/es2019 112911948 ns/iter (± 623637) 111837033 ns/iter (± 922310) 1.01
es/full/all/es2020 107690003 ns/iter (± 799645) 108476122 ns/iter (± 528342) 0.99
es/full/parser 491421 ns/iter (± 5446) 487206 ns/iter (± 5325) 1.01
es/full/base/fixer 20901 ns/iter (± 156) 17668 ns/iter (± 65) 1.18
es/full/base/resolver_and_hygiene 82757 ns/iter (± 835) 81056 ns/iter (± 197) 1.02
serialization of serde 292 ns/iter (± 0) 299 ns/iter (± 6) 0.98
css/minify/libraries/bootstrap 29100192 ns/iter (± 51642) 28626959 ns/iter (± 54720) 1.02
css/visitor/compare/clone 1653686 ns/iter (± 13382) 1676891 ns/iter (± 6166) 0.99
css/visitor/compare/visit_mut_span 1776330 ns/iter (± 5688) 1808256 ns/iter (± 12351) 0.98
css/visitor/compare/visit_mut_span_panic 1841336 ns/iter (± 3087) 1891666 ns/iter (± 8518) 0.97
css/visitor/compare/fold_span 2581196 ns/iter (± 4931) 2593686 ns/iter (± 11559) 1.00
css/visitor/compare/fold_span_panic 2785907 ns/iter (± 11518) 2765662 ns/iter (± 10810) 1.01
css/lexer/bootstrap_5_1_3 4483800 ns/iter (± 7895) 4436016 ns/iter (± 3393) 1.01
css/lexer/foundation_6_7_4 3733794 ns/iter (± 10694) 3722066 ns/iter (± 4353) 1.00
css/lexer/tailwind_3_1_1 708523 ns/iter (± 1849) 707369 ns/iter (± 1260) 1.00
css/parser/bootstrap_5_1_3 19686475 ns/iter (± 35403) 20021603 ns/iter (± 76482) 0.98
css/parser/foundation_6_7_4 15803629 ns/iter (± 22217) 15956825 ns/iter (± 24219) 0.99
css/parser/tailwind_3_1_1 3007980 ns/iter (± 2756) 3047750 ns/iter (± 2176) 0.99
es/codegen/colors 738013 ns/iter (± 403277) 745254 ns/iter (± 405718) 0.99
es/codegen/large 3153538 ns/iter (± 1682367) 2885270 ns/iter (± 1519264) 1.09
es/codegen/with-parser/colors 45889 ns/iter (± 292) 46270 ns/iter (± 315) 0.99
es/codegen/with-parser/large 493632 ns/iter (± 728) 493887 ns/iter (± 1350) 1.00
es/minify/libraries/antd 1127096429 ns/iter (± 14796159) 1194928517 ns/iter (± 9130868) 0.94
es/minify/libraries/d3 238395514 ns/iter (± 1057147) 239955393 ns/iter (± 732659) 0.99
es/minify/libraries/echarts 902028020 ns/iter (± 7719329) 931644924 ns/iter (± 8100766) 0.97
es/minify/libraries/jquery 72735647 ns/iter (± 146273) 73311822 ns/iter (± 98934) 0.99
es/minify/libraries/lodash 86700647 ns/iter (± 147885) 86884660 ns/iter (± 269888) 1.00
es/minify/libraries/moment 43148038 ns/iter (± 137398) 43579872 ns/iter (± 78319) 0.99
es/minify/libraries/react 15921644 ns/iter (± 43882) 16047549 ns/iter (± 39462) 0.99
es/minify/libraries/terser 184797150 ns/iter (± 1041819) 187350148 ns/iter (± 673700) 0.99
es/minify/libraries/three 319705400 ns/iter (± 1413069) 324443452 ns/iter (± 1333672) 0.99
es/minify/libraries/typescript 2235946281 ns/iter (± 10811418) 2332854828 ns/iter (± 15934029) 0.96
es/minify/libraries/victory 471230031 ns/iter (± 2508820) 477798223 ns/iter (± 12903764) 0.99
es/minify/libraries/vue 105852882 ns/iter (± 499387) 106322230 ns/iter (± 538141) 1.00
es/visitor/compare/clone 1926409 ns/iter (± 2539) 1946679 ns/iter (± 7511) 0.99
es/visitor/compare/visit_mut_span 2268965 ns/iter (± 8120) 2280199 ns/iter (± 5837) 1.00
es/visitor/compare/visit_mut_span_panic 2308680 ns/iter (± 9130) 2325427 ns/iter (± 4278) 0.99
es/visitor/compare/fold_span 3369069 ns/iter (± 6949) 3404458 ns/iter (± 11481) 0.99
es/visitor/compare/fold_span_panic 3499131 ns/iter (± 86460) 3521894 ns/iter (± 8581) 0.99
es/lexer/colors 13076 ns/iter (± 81) 13416 ns/iter (± 17) 0.97
es/lexer/angular 6133242 ns/iter (± 15912) 6113881 ns/iter (± 3835) 1.00
es/lexer/backbone 799803 ns/iter (± 1513) 788810 ns/iter (± 1441) 1.01
es/lexer/jquery 4505032 ns/iter (± 5057) 4462639 ns/iter (± 17302) 1.01
es/lexer/jquery mobile 7009813 ns/iter (± 44472) 6870837 ns/iter (± 4721) 1.02
es/lexer/mootools 3578978 ns/iter (± 18672) 3550969 ns/iter (± 3559) 1.01
es/lexer/underscore 675818 ns/iter (± 3880) 658075 ns/iter (± 232) 1.03
es/lexer/three 21474930 ns/iter (± 28892) 21325653 ns/iter (± 10253) 1.01
es/lexer/yui 3849243 ns/iter (± 4608) 3810915 ns/iter (± 4849) 1.01
es/parser/colors 27594 ns/iter (± 59) 27407 ns/iter (± 70) 1.01
es/parser/angular 13460736 ns/iter (± 51416) 13715464 ns/iter (± 59055) 0.98
es/parser/backbone 1975922 ns/iter (± 9268) 2007394 ns/iter (± 6065) 0.98
es/parser/jquery 10778757 ns/iter (± 47808) 10980688 ns/iter (± 33890) 0.98
es/parser/jquery mobile 16497780 ns/iter (± 44531) 16834117 ns/iter (± 82369) 0.98
es/parser/mootools 8315216 ns/iter (± 17873) 8418806 ns/iter (± 22672) 0.99
es/parser/underscore 1693482 ns/iter (± 10383) 1728808 ns/iter (± 11205) 0.98
es/parser/three 46328445 ns/iter (± 144509) 47295480 ns/iter (± 148701) 0.98
es/parser/yui 8265364 ns/iter (± 26062) 8346771 ns/iter (± 24164) 0.99
es/preset-env/usage/builtin_type 134662 ns/iter (± 31536) 136566 ns/iter (± 31621) 0.99
es/preset-env/usage/property 16106 ns/iter (± 47) 16656 ns/iter (± 56) 0.97
es/resolver/typescript 90659864 ns/iter (± 1050734) 92252677 ns/iter (± 1498571) 0.98
es/fixer/typescript 63762441 ns/iter (± 260394) 64672963 ns/iter (± 614213) 0.99
es/hygiene/typescript 127984463 ns/iter (± 389366) 131854904 ns/iter (± 598336) 0.97
es/resolver_with_hygiene/typescript 243106672 ns/iter (± 1645986) 248059133 ns/iter (± 1590101) 0.98
es/visitor/base-perf/module_clone 59101 ns/iter (± 271) 59087 ns/iter (± 584) 1.00
es/visitor/base-perf/fold_empty 62983 ns/iter (± 345) 62587 ns/iter (± 158) 1.01
es/visitor/base-perf/fold_noop_impl_all 63843 ns/iter (± 435) 63080 ns/iter (± 573) 1.01
es/visitor/base-perf/fold_noop_impl_vec 64048 ns/iter (± 225) 63130 ns/iter (± 205) 1.01
es/visitor/base-perf/boxing_boxed_clone 58 ns/iter (± 0) 56 ns/iter (± 0) 1.04
es/visitor/base-perf/boxing_unboxed_clone 41 ns/iter (± 0) 39 ns/iter (± 0) 1.05
es/visitor/base-perf/boxing_boxed 110 ns/iter (± 0) 108 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed 78 ns/iter (± 0) 77 ns/iter (± 0) 1.01
es/visitor/base-perf/visit_empty 0 ns/iter (± 0) 0 ns/iter (± 0) NaN
es/visitor/base-perf/visit_contains_this 2484 ns/iter (± 11) 2522 ns/iter (± 12) 0.98
es/base/parallel/resolver/typescript 3684072591 ns/iter (± 270947608) 4754632007 ns/iter (± 249426718) 0.77
es/base/parallel/hygiene/typescript 1426606180 ns/iter (± 16524256) 1443650950 ns/iter (± 20362924) 0.99
misc/visitors/time-complexity/time 5 135 ns/iter (± 1) 124 ns/iter (± 1) 1.09
misc/visitors/time-complexity/time 10 388 ns/iter (± 10) 399 ns/iter (± 5) 0.97
misc/visitors/time-complexity/time 15 679 ns/iter (± 5) 680 ns/iter (± 20) 1.00
misc/visitors/time-complexity/time 20 1068 ns/iter (± 52) 1056 ns/iter (± 6) 1.01
misc/visitors/time-complexity/time 40 3517 ns/iter (± 24) 3657 ns/iter (± 42) 0.96
misc/visitors/time-complexity/time 60 7354 ns/iter (± 616) 7559 ns/iter (± 423) 0.97

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

Please sign in to comment.