Skip to content

Commit

Permalink
fix(es/ast): Fix memory layout (#7062)
Browse files Browse the repository at this point in the history
**Related issue:**

 - Closes #7061.
  • Loading branch information
kdy1 committed Mar 12, 2023
1 parent 4015714 commit 085c6f3
Show file tree
Hide file tree
Showing 183 changed files with 297 additions and 441 deletions.
5 changes: 3 additions & 2 deletions crates/swc_ecma_ast/src/expr.rs
Expand Up @@ -170,8 +170,9 @@ pub enum Expr {
Invalid(Invalid),
}

#[cfg(target_pointer_width = "64")]
assert_eq_size!(Expr, [u8; 80]);
// Memory layout depedns on the version of rustc.
// #[cfg(target_pointer_width = "64")]
// assert_eq_size!(Expr, [u8; 80]);

impl Expr {
/// Normalize parenthesized expressions.
Expand Down
9 changes: 0 additions & 9 deletions crates/swc_ecma_ast/src/macros.rs
Expand Up @@ -234,12 +234,3 @@ macro_rules! bridge_decl_from {
bridge_from!(crate::ModuleItem, crate::Stmt, $src);
};
}

/// Copied from static_assertions
macro_rules! assert_eq_size {
($x:ty, $($xs:ty),+ $(,)?) => {
const _: fn() = || {
$(let _ = std::mem::transmute::<$x, $xs>;)+
};
};
}
9 changes: 5 additions & 4 deletions crates/swc_ecma_ast/src/stmt.rs
Expand Up @@ -104,8 +104,9 @@ pub enum Stmt {
Expr(ExprStmt),
}

#[cfg(target_pointer_width = "64")]
assert_eq_size!(Stmt, [u8; 64]);
// Memory layout depedns on the version of rustc.
// #[cfg(target_pointer_width = "64")]
// assert_eq_size!(Stmt, [u8; 56]);

// Implement Clone without inline to avoid multiple copies of the
// implementation.
Expand Down Expand Up @@ -318,7 +319,7 @@ pub struct ForOfStmt {
///
/// for-await-of statements, e.g., `for await (const x of xs) {`
#[serde(default, rename = "await")]
pub await_token: Option<Span>,
pub is_await: bool,
pub left: VarDeclOrPat,
pub right: Box<Expr>,
pub body: Box<Stmt>,
Expand All @@ -328,7 +329,7 @@ impl Take for ForOfStmt {
fn dummy() -> Self {
ForOfStmt {
span: DUMMY_SP,
await_token: Default::default(),
is_await: Default::default(),
left: Take::dummy(),
right: Take::dummy(),
body: Take::dummy(),
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_codegen/src/lib.rs
Expand Up @@ -3186,7 +3186,7 @@ where

keyword!("for");

if n.await_token.is_some() {
if n.is_await {
space!();
keyword!("await");
}
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_lints/src/rules/no_await_in_loop.rs
Expand Up @@ -94,7 +94,7 @@ impl Visit for NoAwaitInLoop {
for_of_stmt.left.visit_children_with(self);
for_of_stmt.right.visit_children_with(self);

self.await_restricted = for_of_stmt.await_token.is_none();
self.await_restricted = !for_of_stmt.is_await;

for_of_stmt.body.visit_children_with(self);

Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_parser/src/parser/stmt.rs
Expand Up @@ -1124,7 +1124,7 @@ impl<'a, I: Tokens> Parser<I> {
}
ForHead::ForOf { left, right } => Stmt::ForOf(ForOfStmt {
span,
await_token,
is_await: await_token.is_some(),
left,
right,
body,
Expand Down Expand Up @@ -1419,7 +1419,7 @@ mod tests {
stmt("for await (const a of b) ;"),
Stmt::ForOf(ForOfStmt {
span,
await_token: Some(span),
is_await: true,
left: VarDeclOrPat::VarDecl(Box::new(VarDecl {
span,
kind: VarDeclKind::Const,
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES3For-ofTypeCheck1.json
Expand Up @@ -13,7 +13,7 @@
"end": 37,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES3For-ofTypeCheck2.json
Expand Up @@ -13,7 +13,7 @@
"end": 41,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES3For-ofTypeCheck4.json
Expand Up @@ -89,7 +89,7 @@
"end": 72,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES3For-ofTypeCheck6.json
Expand Up @@ -97,7 +97,7 @@
"end": 72,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of1.json
Expand Up @@ -13,7 +13,7 @@
"end": 74,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_parser/tests/tsc/ES5For-of10.json
Expand Up @@ -89,7 +89,7 @@
"end": 113,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "MemberExpression",
"span": {
Expand Down Expand Up @@ -152,7 +152,7 @@
"end": 111,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "MemberExpression",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of11.json
Expand Up @@ -46,7 +46,7 @@
"end": 25,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "Identifier",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of12.json
Expand Up @@ -13,7 +13,7 @@
"end": 25,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "ArrayPattern",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of13.json
Expand Up @@ -13,7 +13,7 @@
"end": 69,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of14.json
Expand Up @@ -13,7 +13,7 @@
"end": 39,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_parser/tests/tsc/ES5For-of15.json
Expand Up @@ -13,7 +13,7 @@
"end": 80,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down Expand Up @@ -89,7 +89,7 @@
"end": 78,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_parser/tests/tsc/ES5For-of16.json
Expand Up @@ -13,7 +13,7 @@
"end": 91,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down Expand Up @@ -89,7 +89,7 @@
"end": 89,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_parser/tests/tsc/ES5For-of17.json
Expand Up @@ -13,7 +13,7 @@
"end": 92,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down Expand Up @@ -89,7 +89,7 @@
"end": 90,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_parser/tests/tsc/ES5For-of18.json
Expand Up @@ -13,7 +13,7 @@
"end": 29,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down Expand Up @@ -92,7 +92,7 @@
"end": 58,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_parser/tests/tsc/ES5For-of19.json
Expand Up @@ -13,7 +13,7 @@
"end": 111,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down Expand Up @@ -117,7 +117,7 @@
"end": 103,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of2.json
Expand Up @@ -13,7 +13,7 @@
"end": 37,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_parser/tests/tsc/ES5For-of21.json
Expand Up @@ -13,7 +13,7 @@
"end": 49,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down Expand Up @@ -71,7 +71,7 @@
"end": 47,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of22.json
Expand Up @@ -13,7 +13,7 @@
"end": 65,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of23.json
Expand Up @@ -13,7 +13,7 @@
"end": 65,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of24.json
Expand Up @@ -94,7 +94,7 @@
"end": 55,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of25.json
Expand Up @@ -94,7 +94,7 @@
"end": 73,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of26.json
Expand Up @@ -13,7 +13,7 @@
"end": 72,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of27.json
Expand Up @@ -13,7 +13,7 @@
"end": 59,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of28.json
Expand Up @@ -13,7 +13,7 @@
"end": 53,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of29.json
Expand Up @@ -13,7 +13,7 @@
"end": 61,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of3.json
Expand Up @@ -13,7 +13,7 @@
"end": 65,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "VariableDeclaration",
"span": {
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_ecma_parser/tests/tsc/ES5For-of30.json
Expand Up @@ -220,7 +220,7 @@
"end": 115,
"ctxt": 0
},
"await": null,
"await": false,
"left": {
"type": "ArrayPattern",
"span": {
Expand Down

1 comment on commit 085c6f3

@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: 085c6f3 Previous: bb6dde7 Ratio
es/full/bugs-1 310922 ns/iter (± 15072) 315281 ns/iter (± 14662) 0.99
es/full/minify/libraries/antd 1583872974 ns/iter (± 19265292) 1714194692 ns/iter (± 22293870) 0.92
es/full/minify/libraries/d3 303940064 ns/iter (± 6478043) 323524264 ns/iter (± 9436041) 0.94
es/full/minify/libraries/echarts 1211151121 ns/iter (± 17223317) 1292399358 ns/iter (± 21033674) 0.94
es/full/minify/libraries/jquery 91904036 ns/iter (± 927395) 91638903 ns/iter (± 569968) 1.00
es/full/minify/libraries/lodash 105988081 ns/iter (± 921534) 106377340 ns/iter (± 871856) 1.00
es/full/minify/libraries/moment 52643928 ns/iter (± 460575) 53208326 ns/iter (± 283797) 0.99
es/full/minify/libraries/react 19075496 ns/iter (± 254917) 19345059 ns/iter (± 214724) 0.99
es/full/minify/libraries/terser 247298614 ns/iter (± 2992795) 258464660 ns/iter (± 4816017) 0.96
es/full/minify/libraries/three 438526083 ns/iter (± 4385154) 466113264 ns/iter (± 8484993) 0.94
es/full/minify/libraries/typescript 2946143863 ns/iter (± 9287766) 3111647839 ns/iter (± 31024539) 0.95
es/full/minify/libraries/victory 660286906 ns/iter (± 12372048) 693433480 ns/iter (± 11270344) 0.95
es/full/minify/libraries/vue 129881111 ns/iter (± 1380747) 130751582 ns/iter (± 1818109) 0.99
es/full/codegen/es3 26512 ns/iter (± 51) 26330 ns/iter (± 66) 1.01
es/full/codegen/es5 26626 ns/iter (± 93) 26412 ns/iter (± 43) 1.01
es/full/codegen/es2015 26542 ns/iter (± 72) 26390 ns/iter (± 135) 1.01
es/full/codegen/es2016 26612 ns/iter (± 59) 26450 ns/iter (± 102) 1.01
es/full/codegen/es2017 26579 ns/iter (± 68) 26388 ns/iter (± 45) 1.01
es/full/codegen/es2018 26552 ns/iter (± 60) 26404 ns/iter (± 49) 1.01
es/full/codegen/es2019 26555 ns/iter (± 42) 26421 ns/iter (± 32) 1.01
es/full/codegen/es2020 26574 ns/iter (± 56) 26410 ns/iter (± 42) 1.01
es/full/all/es3 182377662 ns/iter (± 3117790) 183860651 ns/iter (± 2305044) 0.99
es/full/all/es5 171167607 ns/iter (± 3903702) 172428245 ns/iter (± 1565648) 0.99
es/full/all/es2015 135489285 ns/iter (± 1772215) 137304078 ns/iter (± 1544626) 0.99
es/full/all/es2016 132580089 ns/iter (± 1359597) 134576836 ns/iter (± 2218062) 0.99
es/full/all/es2017 133910576 ns/iter (± 1734327) 133464120 ns/iter (± 1170931) 1.00
es/full/all/es2018 128413239 ns/iter (± 2008308) 129030947 ns/iter (± 2315202) 1.00
es/full/all/es2019 127352481 ns/iter (± 2560489) 127183522 ns/iter (± 2347428) 1.00
es/full/all/es2020 119233245 ns/iter (± 1821830) 121145263 ns/iter (± 2844788) 0.98
es/full/parser 536191 ns/iter (± 9324) 538583 ns/iter (± 10167) 1.00
es/full/base/fixer 22234 ns/iter (± 43) 21946 ns/iter (± 58) 1.01
es/full/base/resolver_and_hygiene 82474 ns/iter (± 116) 83903 ns/iter (± 61) 0.98
serialization of ast node 124 ns/iter (± 0) 126 ns/iter (± 0) 0.98
serialization of serde 126 ns/iter (± 0) 128 ns/iter (± 0) 0.98
css/minify/libraries/bootstrap 28463226 ns/iter (± 132816) 29141525 ns/iter (± 325635) 0.98
css/visitor/compare/clone 2127427 ns/iter (± 2950) 2112440 ns/iter (± 13232) 1.01
css/visitor/compare/visit_mut_span 2333491 ns/iter (± 5739) 2296773 ns/iter (± 5505) 1.02
css/visitor/compare/visit_mut_span_panic 2352532 ns/iter (± 3592) 2352143 ns/iter (± 15518) 1.00
css/visitor/compare/fold_span 3110200 ns/iter (± 44717) 3078168 ns/iter (± 34435) 1.01
css/visitor/compare/fold_span_panic 3224560 ns/iter (± 16897) 3208712 ns/iter (± 25973) 1.00
css/lexer/bootstrap_5_1_3 5144926 ns/iter (± 2070) 5166986 ns/iter (± 5967) 1.00
css/lexer/foundation_6_7_4 4340395 ns/iter (± 791) 4352314 ns/iter (± 2695) 1.00
css/lexer/tailwind_3_1_1 823548 ns/iter (± 429) 826327 ns/iter (± 1276) 1.00
css/parser/bootstrap_5_1_3 21854024 ns/iter (± 98831) 22199167 ns/iter (± 197964) 0.98
css/parser/foundation_6_7_4 17294702 ns/iter (± 53600) 17438292 ns/iter (± 70533) 0.99
css/parser/tailwind_3_1_1 3304624 ns/iter (± 6594) 3290929 ns/iter (± 7133) 1.00
es/codegen/colors 319924 ns/iter (± 179498) 326284 ns/iter (± 182938) 0.98
es/codegen/large 1232273 ns/iter (± 640384) 2325156 ns/iter (± 1511439) 0.53
es/codegen/with-parser/colors 46906 ns/iter (± 166) 47842 ns/iter (± 90) 0.98
es/codegen/with-parser/large 516184 ns/iter (± 2065) 513720 ns/iter (± 2035) 1.00
es/minify/libraries/antd 1362539744 ns/iter (± 30883280) 1515541731 ns/iter (± 19510965) 0.90
es/minify/libraries/d3 259289990 ns/iter (± 4940662) 278783104 ns/iter (± 10904162) 0.93
es/minify/libraries/echarts 1056045368 ns/iter (± 10852438) 1145045753 ns/iter (± 9735716) 0.92
es/minify/libraries/jquery 79941551 ns/iter (± 392248) 81112088 ns/iter (± 1218528) 0.99
es/minify/libraries/lodash 95370328 ns/iter (± 1229064) 96391289 ns/iter (± 1332617) 0.99
es/minify/libraries/moment 46041438 ns/iter (± 403236) 47181827 ns/iter (± 913619) 0.98
es/minify/libraries/react 17015597 ns/iter (± 238504) 17126105 ns/iter (± 198083) 0.99
es/minify/libraries/terser 213255632 ns/iter (± 4415519) 214437637 ns/iter (± 3726614) 0.99
es/minify/libraries/three 366196065 ns/iter (± 5698603) 372009871 ns/iter (± 2342092) 0.98
es/minify/libraries/typescript 2512577077 ns/iter (± 12721114) 2681936845 ns/iter (± 15618498) 0.94
es/minify/libraries/victory 575414969 ns/iter (± 15123458) 588047260 ns/iter (± 17892757) 0.98
es/minify/libraries/vue 117465449 ns/iter (± 1175487) 117684002 ns/iter (± 1495447) 1.00
es/visitor/compare/clone 2298512 ns/iter (± 6625) 2330547 ns/iter (± 9614) 0.99
es/visitor/compare/visit_mut_span 2646455 ns/iter (± 5751) 2698606 ns/iter (± 8839) 0.98
es/visitor/compare/visit_mut_span_panic 2704848 ns/iter (± 5884) 2760531 ns/iter (± 7306) 0.98
es/visitor/compare/fold_span 3775427 ns/iter (± 12071) 3835107 ns/iter (± 17587) 0.98
es/visitor/compare/fold_span_panic 3962719 ns/iter (± 23063) 4003336 ns/iter (± 10614) 0.99
es/lexer/colors 15104 ns/iter (± 38) 15703 ns/iter (± 70) 0.96
es/lexer/angular 7371405 ns/iter (± 4551) 7766626 ns/iter (± 12092) 0.95
es/lexer/backbone 984673 ns/iter (± 892) 1000374 ns/iter (± 4138) 0.98
es/lexer/jquery 5515260 ns/iter (± 13101) 5598161 ns/iter (± 6594) 0.99
es/lexer/jquery mobile 8500115 ns/iter (± 4076) 8640243 ns/iter (± 13763) 0.98
es/lexer/mootools 4344044 ns/iter (± 7933) 4423811 ns/iter (± 27337) 0.98
es/lexer/underscore 824206 ns/iter (± 631) 839791 ns/iter (± 1101) 0.98
es/lexer/three 25800544 ns/iter (± 21956) 26243170 ns/iter (± 24562) 0.98
es/lexer/yui 4605344 ns/iter (± 4065) 4739335 ns/iter (± 6648) 0.97
es/parser/colors 29576 ns/iter (± 61) 29512 ns/iter (± 146) 1.00
es/parser/angular 15368934 ns/iter (± 122620) 15714560 ns/iter (± 172466) 0.98
es/parser/backbone 2191547 ns/iter (± 11591) 2229973 ns/iter (± 10790) 0.98
es/parser/jquery 12008574 ns/iter (± 129320) 12130360 ns/iter (± 93214) 0.99
es/parser/jquery mobile 19006564 ns/iter (± 128557) 19140709 ns/iter (± 330873) 0.99
es/parser/mootools 9126675 ns/iter (± 23483) 9257434 ns/iter (± 20102) 0.99
es/parser/underscore 1859396 ns/iter (± 11385) 1879287 ns/iter (± 14169) 0.99
es/parser/three 55462717 ns/iter (± 302155) 57443787 ns/iter (± 170640) 0.97
es/parser/yui 9257475 ns/iter (± 50752) 9345996 ns/iter (± 79269) 0.99
es/preset-env/usage/builtin_type 137616 ns/iter (± 32655) 145832 ns/iter (± 35312) 0.94
es/preset-env/usage/property 21139 ns/iter (± 81) 21058 ns/iter (± 53) 1.00
es/resolver/typescript 108094262 ns/iter (± 2220235) 118415804 ns/iter (± 3689415) 0.91
es/fixer/typescript 78855235 ns/iter (± 1080802) 88220137 ns/iter (± 1374153) 0.89
es/hygiene/typescript 167923888 ns/iter (± 1146623) 187167309 ns/iter (± 761857) 0.90
es/resolver_with_hygiene/typescript 308743209 ns/iter (± 2674840) 325252518 ns/iter (± 2612880) 0.95
es/visitor/base-perf/module_clone 79570 ns/iter (± 1335) 75792 ns/iter (± 1524) 1.05
es/visitor/base-perf/fold_empty 90564 ns/iter (± 1539) 86410 ns/iter (± 1511) 1.05
es/visitor/base-perf/fold_noop_impl_all 91766 ns/iter (± 945) 88384 ns/iter (± 1771) 1.04
es/visitor/base-perf/fold_noop_impl_vec 91632 ns/iter (± 920) 88792 ns/iter (± 1457) 1.03
es/visitor/base-perf/boxing_boxed_clone 57 ns/iter (± 0) 56 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed_clone 54 ns/iter (± 0) 53 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_boxed 104 ns/iter (± 0) 104 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed 106 ns/iter (± 0) 99 ns/iter (± 0) 1.07
es/visitor/base-perf/visit_contains_this 3539 ns/iter (± 29) 3460 ns/iter (± 72) 1.02
es/base/parallel/resolver/typescript 5442710885 ns/iter (± 400556319) 5362057858 ns/iter (± 563051662) 1.02
es/base/parallel/hygiene/typescript 1967103175 ns/iter (± 22200184) 2149184170 ns/iter (± 23442259) 0.92
misc/visitors/time-complexity/time 5 93 ns/iter (± 0) 104 ns/iter (± 0) 0.89
misc/visitors/time-complexity/time 10 311 ns/iter (± 1) 343 ns/iter (± 0) 0.91
misc/visitors/time-complexity/time 15 606 ns/iter (± 10) 665 ns/iter (± 1) 0.91
misc/visitors/time-complexity/time 20 1124 ns/iter (± 6) 1224 ns/iter (± 1) 0.92
misc/visitors/time-complexity/time 40 5979 ns/iter (± 30) 6200 ns/iter (± 8) 0.96
misc/visitors/time-complexity/time 60 15195 ns/iter (± 38) 15615 ns/iter (± 50) 0.97
es/full-target/es2016 248448 ns/iter (± 412) 252398 ns/iter (± 1525) 0.98
es/full-target/es2017 241361 ns/iter (± 491) 244869 ns/iter (± 539) 0.99
es/full-target/es2018 231074 ns/iter (± 236) 232867 ns/iter (± 223) 0.99
es2020_nullish_coalescing 90505 ns/iter (± 252) 91603 ns/iter (± 315) 0.99
es2020_optional_chaining 122714 ns/iter (± 302) 124405 ns/iter (± 762) 0.99
es2022_class_properties 146337 ns/iter (± 196) 147484 ns/iter (± 427) 0.99
es2018_object_rest_spread 94431 ns/iter (± 203) 95726 ns/iter (± 234) 0.99
es2019_optional_catch_binding 83737 ns/iter (± 203) 84458 ns/iter (± 199) 0.99
es2017_async_to_generator 84679 ns/iter (± 261) 85628 ns/iter (± 220) 0.99
es2016_exponentiation 88283 ns/iter (± 154) 89433 ns/iter (± 279) 0.99
es2015_arrow 92579 ns/iter (± 133) 93547 ns/iter (± 333) 0.99
es2015_block_scoped_fn 90549 ns/iter (± 293) 90875 ns/iter (± 269) 1.00
es2015_block_scoping 169008 ns/iter (± 298) 168827 ns/iter (± 537) 1.00

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

Please sign in to comment.