Skip to content

Commit

Permalink
fix(es/compat): Prepend generated _loop to the correct scope (#6604)
Browse files Browse the repository at this point in the history
  • Loading branch information
hyf0 authored Dec 9, 2022
1 parent 394141b commit 4c2d422
Show file tree
Hide file tree
Showing 7 changed files with 101 additions and 0 deletions.
44 changes: 44 additions & 0 deletions crates/swc_ecma_transforms_compat/src/es2015/block_scoping/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,44 @@ impl BlockScoping {
*body = Box::new(call.take().into_stmt());
}
}

/// This method will turn stmt like
/// ```js
/// for (let i in [1, 2])
/// for (let j in [1, 2])
/// console.log(i, j)
/// ```
/// into
/// ```js
/// for (let i in [1, 2]) {
/// for (let j in [1, 2]) {
/// console.log(i, j)
/// }
/// }
/// ```
/// which fixes https://github.com/swc-project/swc/issues/6573
fn blockify_for_stmt_body(&self, body: &mut Box<Stmt>) -> bool {
if !body.is_block() {
*body = Box::new(Stmt::Block(BlockStmt {
span: Default::default(),
stmts: vec![*body.take()],
}));
true
} else {
false
}
}

fn undo_blockify_for_stmt_body(&self, body: &mut Box<Stmt>, blockifyed: bool) {
if blockifyed {
let stmt = body
.as_mut_block()
.and_then(|block| (block.stmts.len() == 1).then(|| block.stmts[0].take()));
if let Some(stmt) = stmt {
*body = Box::new(stmt)
}
}
}
}

#[swc_trace]
Expand Down Expand Up @@ -400,6 +438,7 @@ impl VisitMut for BlockScoping {
}

fn visit_mut_for_in_stmt(&mut self, node: &mut ForInStmt) {
let blockifyed = self.blockify_for_stmt_body(&mut node.body);
let lexical_var = if let VarDeclOrPat::VarDecl(decl) = &node.left {
find_lexical_vars(decl)
} else {
Expand All @@ -420,9 +459,11 @@ impl VisitMut for BlockScoping {

self.visit_mut_with_scope(kind, &mut node.body);
self.handle_capture_of_vars(&mut node.body);
self.undo_blockify_for_stmt_body(&mut node.body, blockifyed);
}

fn visit_mut_for_of_stmt(&mut self, node: &mut ForOfStmt) {
let blockifyed = self.blockify_for_stmt_body(&mut node.body);
let vars = if let VarDeclOrPat::VarDecl(decl) = &node.left {
find_lexical_vars(decl)
} else {
Expand All @@ -444,9 +485,11 @@ impl VisitMut for BlockScoping {

self.visit_mut_with_scope(kind, &mut node.body);
self.handle_capture_of_vars(&mut node.body);
self.undo_blockify_for_stmt_body(&mut node.body, blockifyed);
}

fn visit_mut_for_stmt(&mut self, node: &mut ForStmt) {
let blockifyed = self.blockify_for_stmt_body(&mut node.body);
let lexical_var = if let Some(VarDeclOrExpr::VarDecl(decl)) = &node.init {
find_lexical_vars(decl)
} else {
Expand All @@ -467,6 +510,7 @@ impl VisitMut for BlockScoping {
};
self.visit_mut_with_scope(kind, &mut node.body);
self.handle_capture_of_vars(&mut node.body);
self.undo_blockify_for_stmt_body(&mut node.body, blockifyed);
}

fn visit_mut_function(&mut self, f: &mut Function) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
let funcs = [];
for (let i = 0; i < 2; i++)
for (let j = 0; j < 2; j++)
funcs.push(() => console.log(i, j));

funcs.forEach((f) => f());
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
var _loop__7 = function(i__2) {
var _loop__6 = function(j__3) {
funcs__1.push(()=>console.log(i__2, j__3));
};
for(var j__3 = 0; j__3 < 2; j__3++)_loop__6(j__3);
};
var funcs__1 = [];
for(var i__2 = 0; i__2 < 2; i__2++)_loop__7(i__2);
funcs__1.forEach((f__5)=>f__5());
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
let funcs = [];
for (let i in [1, 2])
for (let j in [1, 2])
funcs.push(() => console.log(i, j));

funcs.forEach((f) => f());
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
var _loop__7 = function(i__2) {
var _loop__6 = function(j__3) {
funcs__1.push(()=>console.log(i__2, j__3));
};
for(var j__3 in [
1,
2
])_loop__6(j__3);
};
var funcs__1 = [];
for(var i__2 in [
1,
2
])_loop__7(i__2);
funcs__1.forEach((f__5)=>f__5());
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
let funcs = [];
for (let i of [1, 2])
for (let j of [1, 2])
funcs.push(() => console.log(i, j));

funcs.forEach((f) => f());
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
var _loop__7 = function(i__2) {
var _loop__6 = function(j__3) {
funcs__1.push(()=>console.log(i__2, j__3));
};
for (var j__3 of [
1,
2
])_loop__6(j__3);
};
var funcs__1 = [];
for (var i__2 of [
1,
2
])_loop__7(i__2);
funcs__1.forEach((f__5)=>f__5());

1 comment on commit 4c2d422

@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: 4c2d422 Previous: b97aa45 Ratio
es/full/bugs-1 296451 ns/iter (± 8993) 311653 ns/iter (± 20688) 0.95
es/full/minify/libraries/antd 1727826470 ns/iter (± 27097371) 1692283780 ns/iter (± 25213631) 1.02
es/full/minify/libraries/d3 332093218 ns/iter (± 3026991) 351281331 ns/iter (± 4228840) 0.95
es/full/minify/libraries/echarts 1448619083 ns/iter (± 10840107) 1435000507 ns/iter (± 18604912) 1.01
es/full/minify/libraries/jquery 92031035 ns/iter (± 1039871) 94937556 ns/iter (± 743352) 0.97
es/full/minify/libraries/lodash 109669221 ns/iter (± 648698) 115923043 ns/iter (± 6113034) 0.95
es/full/minify/libraries/moment 53687519 ns/iter (± 275125) 54947105 ns/iter (± 766906) 0.98
es/full/minify/libraries/react 19443837 ns/iter (± 82077) 20034345 ns/iter (± 167864) 0.97
es/full/minify/libraries/terser 261680358 ns/iter (± 3235586) 278285717 ns/iter (± 7419550) 0.94
es/full/minify/libraries/three 478733855 ns/iter (± 4762485) 510521457 ns/iter (± 9551284) 0.94
es/full/minify/libraries/typescript 3267420850 ns/iter (± 14913891) 3205587441 ns/iter (± 25319227) 1.02
es/full/minify/libraries/victory 695913656 ns/iter (± 7801457) 720925728 ns/iter (± 15696619) 0.97
es/full/minify/libraries/vue 133982645 ns/iter (± 1199658) 142348209 ns/iter (± 6323362) 0.94
es/full/codegen/es3 28349 ns/iter (± 51) 28005 ns/iter (± 43) 1.01
es/full/codegen/es5 28365 ns/iter (± 62) 28042 ns/iter (± 59) 1.01
es/full/codegen/es2015 28255 ns/iter (± 203) 27987 ns/iter (± 56) 1.01
es/full/codegen/es2016 28285 ns/iter (± 44) 28002 ns/iter (± 51) 1.01
es/full/codegen/es2017 28322 ns/iter (± 63) 27958 ns/iter (± 67) 1.01
es/full/codegen/es2018 28351 ns/iter (± 48) 28025 ns/iter (± 70) 1.01
es/full/codegen/es2019 28345 ns/iter (± 72) 27993 ns/iter (± 75) 1.01
es/full/codegen/es2020 28363 ns/iter (± 30) 28016 ns/iter (± 39) 1.01
es/full/all/es3 170683547 ns/iter (± 2163427) 171240345 ns/iter (± 4447749) 1.00
es/full/all/es5 158850513 ns/iter (± 4762882) 164984607 ns/iter (± 2793096) 0.96
es/full/all/es2015 119467584 ns/iter (± 1251143) 124842615 ns/iter (± 2637280) 0.96
es/full/all/es2016 119363348 ns/iter (± 1100953) 123725518 ns/iter (± 3677416) 0.96
es/full/all/es2017 118979913 ns/iter (± 648341) 122420227 ns/iter (± 3180175) 0.97
es/full/all/es2018 117385414 ns/iter (± 1032741) 120473987 ns/iter (± 3149993) 0.97
es/full/all/es2019 116507875 ns/iter (± 1141594) 118526201 ns/iter (± 3627797) 0.98
es/full/all/es2020 111836266 ns/iter (± 1245081) 116989376 ns/iter (± 1804223) 0.96
es/full/parser 520524 ns/iter (± 7860) 519227 ns/iter (± 9051) 1.00
es/full/base/fixer 21759 ns/iter (± 40) 22039 ns/iter (± 43) 0.99
es/full/base/resolver_and_hygiene 77225 ns/iter (± 149) 77883 ns/iter (± 493) 0.99
serialization of ast node 140 ns/iter (± 0) 140 ns/iter (± 0) 1
serialization of serde 123 ns/iter (± 0) 123 ns/iter (± 0) 1
css/minify/libraries/bootstrap 27201032 ns/iter (± 53556) 28455258 ns/iter (± 179122) 0.96
css/visitor/compare/clone 2319682 ns/iter (± 4118) 2372904 ns/iter (± 12763) 0.98
css/visitor/compare/visit_mut_span 2542743 ns/iter (± 6942) 2532263 ns/iter (± 14849) 1.00
css/visitor/compare/visit_mut_span_panic 2544372 ns/iter (± 10598) 2575805 ns/iter (± 9376) 0.99
css/visitor/compare/fold_span 3456206 ns/iter (± 8051) 3504573 ns/iter (± 7787) 0.99
css/visitor/compare/fold_span_panic 3640104 ns/iter (± 9988) 3646663 ns/iter (± 18418) 1.00
css/lexer/bootstrap_5_1_3 5329023 ns/iter (± 23489) 5363976 ns/iter (± 7775) 0.99
css/lexer/foundation_6_7_4 4465934 ns/iter (± 2213) 4519710 ns/iter (± 1118) 0.99
css/lexer/tailwind_3_1_1 846339 ns/iter (± 615) 851439 ns/iter (± 130) 0.99
css/parser/bootstrap_5_1_3 21178071 ns/iter (± 24689) 21853712 ns/iter (± 213838) 0.97
css/parser/foundation_6_7_4 16816255 ns/iter (± 13565) 17258368 ns/iter (± 58976) 0.97
css/parser/tailwind_3_1_1 3236854 ns/iter (± 4307) 3246928 ns/iter (± 3420) 1.00
es/codegen/colors 332195 ns/iter (± 187359) 332645 ns/iter (± 186223) 1.00
es/codegen/large 1221004 ns/iter (± 636787) 1222415 ns/iter (± 635476) 1.00
es/codegen/with-parser/colors 45729 ns/iter (± 85) 45529 ns/iter (± 261) 1.00
es/codegen/with-parser/large 511041 ns/iter (± 1390) 513255 ns/iter (± 1820) 1.00
es/minify/libraries/antd 1507462812 ns/iter (± 12768308) 1498686886 ns/iter (± 10795433) 1.01
es/minify/libraries/d3 288941359 ns/iter (± 3070061) 314289479 ns/iter (± 5057361) 0.92
es/minify/libraries/echarts 1268863153 ns/iter (± 11158298) 1305749960 ns/iter (± 25476927) 0.97
es/minify/libraries/jquery 79090846 ns/iter (± 504729) 85466076 ns/iter (± 5003670) 0.93
es/minify/libraries/lodash 97299632 ns/iter (± 584605) 103344074 ns/iter (± 2919142) 0.94
es/minify/libraries/moment 46022761 ns/iter (± 212410) 48796473 ns/iter (± 931696) 0.94
es/minify/libraries/react 17291555 ns/iter (± 125786) 18125761 ns/iter (± 401803) 0.95
es/minify/libraries/terser 217794374 ns/iter (± 2758952) 246473126 ns/iter (± 4622134) 0.88
es/minify/libraries/three 397831330 ns/iter (± 5750142) 433849874 ns/iter (± 5553057) 0.92
es/minify/libraries/typescript 2821757199 ns/iter (± 11036530) 2769110528 ns/iter (± 20394334) 1.02
es/minify/libraries/victory 600082513 ns/iter (± 12353037) 645780937 ns/iter (± 10737632) 0.93
es/minify/libraries/vue 118851074 ns/iter (± 1583836) 125648783 ns/iter (± 869423) 0.95
es/visitor/compare/clone 2441773 ns/iter (± 17941) 2468686 ns/iter (± 10723) 0.99
es/visitor/compare/visit_mut_span 2822832 ns/iter (± 7182) 2860909 ns/iter (± 18427) 0.99
es/visitor/compare/visit_mut_span_panic 2874224 ns/iter (± 8072) 2904199 ns/iter (± 13822) 0.99
es/visitor/compare/fold_span 3957149 ns/iter (± 20098) 4066651 ns/iter (± 28120) 0.97
es/visitor/compare/fold_span_panic 4094177 ns/iter (± 13473) 4222855 ns/iter (± 16066) 0.97
es/lexer/colors 17376 ns/iter (± 18) 17372 ns/iter (± 2) 1.00
es/lexer/angular 8217211 ns/iter (± 12527) 8193338 ns/iter (± 2522) 1.00
es/lexer/backbone 1071575 ns/iter (± 610) 1068395 ns/iter (± 1273) 1.00
es/lexer/jquery 5949570 ns/iter (± 4964) 5947083 ns/iter (± 3609) 1.00
es/lexer/jquery mobile 9171848 ns/iter (± 84118) 9163571 ns/iter (± 21571) 1.00
es/lexer/mootools 4670617 ns/iter (± 2323) 4666690 ns/iter (± 2035) 1.00
es/lexer/underscore 893645 ns/iter (± 436) 890416 ns/iter (± 343) 1.00
es/lexer/three 27839994 ns/iter (± 25932) 27910829 ns/iter (± 12382) 1.00
es/lexer/yui 5042559 ns/iter (± 2428) 5038295 ns/iter (± 2830) 1.00
es/parser/colors 31399 ns/iter (± 156) 31343 ns/iter (± 152) 1.00
es/parser/angular 15995561 ns/iter (± 136373) 17105888 ns/iter (± 153750) 0.94
es/parser/backbone 2323103 ns/iter (± 13835) 2341324 ns/iter (± 12720) 0.99
es/parser/jquery 12500928 ns/iter (± 74281) 13159868 ns/iter (± 142909) 0.95
es/parser/jquery mobile 19790275 ns/iter (± 194200) 21717448 ns/iter (± 261220) 0.91
es/parser/mootools 9515887 ns/iter (± 33762) 9723180 ns/iter (± 50037) 0.98
es/parser/underscore 1972816 ns/iter (± 13061) 1970877 ns/iter (± 12018) 1.00
es/parser/three 59136512 ns/iter (± 503130) 60435202 ns/iter (± 254658) 0.98
es/parser/yui 9627667 ns/iter (± 53791) 9890199 ns/iter (± 109559) 0.97
es/preset-env/usage/builtin_type 142458 ns/iter (± 33030) 143021 ns/iter (± 32341) 1.00
es/preset-env/usage/property 21166 ns/iter (± 49) 21705 ns/iter (± 55) 0.98
es/resolver/typescript 121049500 ns/iter (± 4224871) 113517064 ns/iter (± 2256653) 1.07
es/fixer/typescript 94933857 ns/iter (± 1476832) 86413093 ns/iter (± 395407) 1.10
es/hygiene/typescript 189086324 ns/iter (± 1412074) 173259959 ns/iter (± 1104837) 1.09
es/resolver_with_hygiene/typescript 318592430 ns/iter (± 1100838) 305018275 ns/iter (± 1699102) 1.04
es/visitor/base-perf/module_clone 74485 ns/iter (± 1296) 74766 ns/iter (± 1331) 1.00
es/visitor/base-perf/fold_empty 86495 ns/iter (± 937) 86512 ns/iter (± 1351) 1.00
es/visitor/base-perf/fold_noop_impl_all 86872 ns/iter (± 1428) 86594 ns/iter (± 1275) 1.00
es/visitor/base-perf/fold_noop_impl_vec 86490 ns/iter (± 1363) 86688 ns/iter (± 564) 1.00
es/visitor/base-perf/boxing_boxed_clone 54 ns/iter (± 0) 54 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed_clone 58 ns/iter (± 0) 58 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 100 ns/iter (± 0) 101 ns/iter (± 0) 0.99
es/visitor/base-perf/boxing_unboxed 101 ns/iter (± 0) 101 ns/iter (± 0) 1
es/visitor/base-perf/visit_contains_this 3469 ns/iter (± 66) 3591 ns/iter (± 56) 0.97
es/base/parallel/resolver/typescript 5629853411 ns/iter (± 480379795) 5447856809 ns/iter (± 322519267) 1.03
es/base/parallel/hygiene/typescript 2256258897 ns/iter (± 37164879) 2086672535 ns/iter (± 36699940) 1.08
misc/visitors/time-complexity/time 5 97 ns/iter (± 0) 97 ns/iter (± 0) 1
misc/visitors/time-complexity/time 10 340 ns/iter (± 7) 342 ns/iter (± 2) 0.99
misc/visitors/time-complexity/time 15 672 ns/iter (± 1) 673 ns/iter (± 1) 1.00
misc/visitors/time-complexity/time 20 1253 ns/iter (± 12) 1221 ns/iter (± 3) 1.03
misc/visitors/time-complexity/time 40 6223 ns/iter (± 3) 6219 ns/iter (± 1) 1.00
misc/visitors/time-complexity/time 60 15616 ns/iter (± 7) 15611 ns/iter (± 6) 1.00
es/full-target/es2016 187599 ns/iter (± 502) 187189 ns/iter (± 470) 1.00
es/full-target/es2017 180421 ns/iter (± 613) 180318 ns/iter (± 523) 1.00
es/full-target/es2018 169486 ns/iter (± 351) 169466 ns/iter (± 450) 1.00
es2020_nullish_coalescing 65262 ns/iter (± 248) 65362 ns/iter (± 109) 1.00
es2020_optional_chaining 94007 ns/iter (± 1269) 94261 ns/iter (± 153) 1.00
es2022_class_properties 92004 ns/iter (± 134) 92195 ns/iter (± 236) 1.00
es2018_object_rest_spread 69789 ns/iter (± 91) 70189 ns/iter (± 116) 0.99
es2019_optional_catch_binding 59557 ns/iter (± 103) 59494 ns/iter (± 132) 1.00
es2017_async_to_generator 59709 ns/iter (± 87) 60160 ns/iter (± 123) 0.99
es2016_exponentiation 63475 ns/iter (± 161) 63532 ns/iter (± 75) 1.00
es2015_arrow 69033 ns/iter (± 259) 68668 ns/iter (± 266) 1.01
es2015_block_scoped_fn 64018 ns/iter (± 125) 64685 ns/iter (± 157) 0.99
es2015_block_scoping 138553 ns/iter (± 10855) 136627 ns/iter (± 7382) 1.01
es2015_classes 115439 ns/iter (± 465) 115648 ns/iter (± 340) 1.00
es2015_computed_props 59382 ns/iter (± 92) 59407 ns/iter (± 111) 1.00
es2015_destructuring 114865 ns/iter (± 320) 114948 ns/iter (± 173) 1.00
es2015_duplicate_keys 62040 ns/iter (± 119) 62229 ns/iter (± 78) 1.00
es2015_parameters 77801 ns/iter (± 144) 77595 ns/iter (± 96) 1.00
es2015_fn_name 65417 ns/iter (± 563) 65312 ns/iter (± 572) 1.00
es2015_for_of 62556 ns/iter (± 80) 62330 ns/iter (± 130) 1.00
es2015_instanceof 61496 ns/iter (± 109) 61741 ns/iter (± 226) 1.00
es2015_shorthand_property 59420 ns/iter (± 197) 59849 ns/iter (± 99) 0.99
es2015_spread 59414 ns/iter (± 92) 59346 ns/iter (± 86) 1.00
es2015_sticky_regex 60382 ns/iter (± 109) 60527 ns/iter (± 119) 1.00
es2015_typeof_symbol 61149 ns/iter (± 157) 61066 ns/iter (± 97) 1.00
es/transform/baseline/base 50192 ns/iter (± 102) 50226 ns/iter (± 104) 1.00
es/transform/baseline/common_reserved_word 61239 ns/iter (± 78) 61280 ns/iter (± 102) 1.00
es/transform/baseline/common_typescript 139598 ns/iter (± 652) 140128 ns/iter (± 217) 1.00
es/target/es3 167688 ns/iter (± 117) 166847 ns/iter (± 316) 1.01
es/target/es2015 630623 ns/iter (± 1451) 630605 ns/iter (± 1210) 1.00
es/target/es2016 63367 ns/iter (± 148) 63476 ns/iter (± 116) 1.00
es/target/es2017 59908 ns/iter (± 88) 60137 ns/iter (± 85) 1.00
es/target/es2018 79964 ns/iter (± 119) 80318 ns/iter (± 106) 1.00
es/target/es2020 131087 ns/iter (± 373) 130294 ns/iter (± 247) 1.01
babelify-only 673071 ns/iter (± 1527) 665010 ns/iter (± 1826) 1.01
parse_and_babelify_angular 43101004 ns/iter (± 564937) 44295403 ns/iter (± 1256111) 0.97
parse_and_babelify_backbone 5498029 ns/iter (± 42314) 5824676 ns/iter (± 184795) 0.94
parse_and_babelify_jquery 33768455 ns/iter (± 659202) 35290619 ns/iter (± 816871) 0.96
parse_and_babelify_jquery_mobile 59998202 ns/iter (± 497274) 59203508 ns/iter (± 1687493) 1.01
parse_and_babelify_mootools 35524668 ns/iter (± 420136) 37065907 ns/iter (± 706522) 0.96
parse_and_babelify_underscore 4352697 ns/iter (± 27172) 4644989 ns/iter (± 108789) 0.94
parse_and_babelify_yui 33691709 ns/iter (± 344529) 35569322 ns/iter (± 1225416) 0.95
html/minify/document/css_spec 44532968 ns/iter (± 208010) 45887376 ns/iter (± 479344) 0.97
html/minify/document/github 18758054 ns/iter (± 47868) 19034985 ns/iter (± 35511) 0.99
html/minify/document/stackoverflow 16328265 ns/iter (± 52354) 16927002 ns/iter (± 110991) 0.96
html/minify/document_fragment/css_spec 43158233 ns/iter (± 351156) 44448249 ns/iter (± 101077) 0.97
html/minify/document_fragment/github 17917392 ns/iter (± 54926) 18251155 ns/iter (± 23178) 0.98
html/minify/document_fragment/stackoverflow 15789170 ns/iter (± 52619) 16345630 ns/iter (± 110129) 0.97
html/document/visitor/compare/clone 343353 ns/iter (± 2196) 342305 ns/iter (± 1768) 1.00
html/document/visitor/compare/visit_mut_span 375095 ns/iter (± 2031) 370409 ns/iter (± 1280) 1.01
html/document/visitor/compare/visit_mut_span_panic 382217 ns/iter (± 1469) 382224 ns/iter (± 1958) 1.00
html/document/visitor/compare/fold_span 406032 ns/iter (± 1482) 408604 ns/iter (± 2527) 0.99
html/document/visitor/compare/fold_span_panic 462624 ns/iter (± 1985) 468274 ns/iter (± 1420) 0.99
html/document_fragment/visitor/compare/clone 339147 ns/iter (± 1589) 344799 ns/iter (± 2090) 0.98
html/document_fragment/visitor/compare/visit_mut_span 371671 ns/iter (± 2315) 372619 ns/iter (± 2228) 1.00
html/document_fragment/visitor/compare/visit_mut_span_panic 377392 ns/iter (± 1066) 373019 ns/iter (± 2249) 1.01
html/document_fragment/visitor/compare/fold_span 408003 ns/iter (± 1563) 404962 ns/iter (± 2022) 1.01
html/document_fragment/visitor/compare/fold_span_panic 464124 ns/iter (± 1519) 462586 ns/iter (± 2453) 1.00
html/lexer/css_2021_spec 15594891 ns/iter (± 10576) 16782949 ns/iter (± 9296) 0.93
html/lexer/github_com_17_05_2022 6069601 ns/iter (± 4185) 6335938 ns/iter (± 7122) 0.96
html/lexer/stackoverflow_com_17_05_2022 5665871 ns/iter (± 3127) 6053825 ns/iter (± 1619) 0.94
html/parser/parser_document/css_2021_spec 25636726 ns/iter (± 77139) 27286860 ns/iter (± 126202) 0.94
html/parser/parser_document/github_com_17_05_2022 8787930 ns/iter (± 6435) 8862078 ns/iter (± 13808) 0.99
html/parser/parser_document/stackoverflow_com_17_05_2022 7776118 ns/iter (± 5930) 7821223 ns/iter (± 11263) 0.99
html/parser/parser_document_fragment/css_2021_spec 25900650 ns/iter (± 151015) 29826279 ns/iter (± 145483) 0.87
html/parser/parser_document_fragment/github_com_17_05_2022 8814263 ns/iter (± 9983) 9306367 ns/iter (± 13117) 0.95
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7825930 ns/iter (± 9569) 8536661 ns/iter (± 8824) 0.92

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

Please sign in to comment.