Skip to content

Commit

Permalink
fix(es/module): Fix SystemJS imports (#6879)
Browse files Browse the repository at this point in the history
**Related issue:**

 - Closes #5922.
  • Loading branch information
vasilev-alex committed Feb 7, 2023
1 parent 7407093 commit 85fffda
Show file tree
Hide file tree
Showing 13 changed files with 74 additions and 27 deletions.
Expand Up @@ -57,7 +57,7 @@ System.register([
case 0:
return [
4,
import("./test") // TWO
_context.import("./test") // TWO
];
case 1:
req = _state.sent();
Expand All @@ -78,7 +78,7 @@ System.register([
case 0:
return [
4,
import("./test") // THREE
_context.import("./test") // THREE
];
case 1:
req = _state.sent();
Expand All @@ -100,7 +100,7 @@ System.register([
case 0:
return [
4,
import("./test") // FOUR
_context.import("./test") // FOUR
];
case 1:
req = _state.sent();
Expand All @@ -120,7 +120,7 @@ System.register([
case 0:
return [
4,
import("./test") // FIVE
_context.import("./test") // FIVE
];
case 1:
req = _state.sent();
Expand Down
Expand Up @@ -57,7 +57,7 @@ System.register([
case 0:
return [
4,
import("./test") // TWO
_context.import("./test") // TWO
];
case 1:
req = _state.sent();
Expand All @@ -78,7 +78,7 @@ System.register([
case 0:
return [
4,
import("./test") // THREE
_context.import("./test") // THREE
];
case 1:
req = _state.sent();
Expand All @@ -100,7 +100,7 @@ System.register([
case 0:
return [
4,
import("./test") // FOUR
_context.import("./test") // FOUR
];
case 1:
req = _state.sent();
Expand All @@ -120,7 +120,7 @@ System.register([
case 0:
return [
4,
import("./test") // FIVE
_context.import("./test") // FIVE
];
case 1:
req = _state.sent();
Expand Down
Expand Up @@ -29,30 +29,30 @@ System.register([
_export("cl1", cl1 = class cl1 {
m() {
return _async_to_generator(function*() {
const req = yield import('./test') // TWO
const req = yield _context.import('./test') // TWO
;
})();
}
});
_export("obj", obj = {
m: /*#__PURE__*/ _async_to_generator(function*() {
const req = yield import('./test') // THREE
const req = yield _context.import('./test') // THREE
;
})
});
_export("cl2", cl2 = class cl2 {
constructor(){
this.p = {
m: /*#__PURE__*/ _async_to_generator(function*() {
const req = yield import('./test') // FOUR
const req = yield _context.import('./test') // FOUR
;
})
};
}
});
_export("l", l = function() {
var _ref = _async_to_generator(function*() {
const req = yield import('./test') // FIVE
const req = yield _context.import('./test') // FIVE
;
});
return function l() {
Expand Down
Expand Up @@ -39,7 +39,7 @@ System.register([
}
var _proto = C.prototype;
_proto.method = function method() {
var loadAsync = import("./0");
var loadAsync = _context.import("./0");
};
return C;
}();
Expand All @@ -50,7 +50,7 @@ System.register([
}
var _proto = D.prototype;
_proto.method = function method() {
var loadAsync = import("./0");
var loadAsync = _context.import("./0");
};
return D;
}());
Expand Down
Expand Up @@ -28,7 +28,7 @@ System.register([
_class_call_check(this, D);
}
return D.prototype.method = function() {
import("./0");
_context.import("./0");
}, D;
}());
}
Expand Down
Expand Up @@ -18,7 +18,7 @@ System.register([], function(_export, _context) {
System.register([], function(_export, _context) {
"use strict";
async function foo() {
class C extends (await import("./0")).B {
class C extends (await _context.import("./0")).B {
}
var c = new C();
c.print();
Expand Down
Expand Up @@ -15,7 +15,7 @@ System.register([], function(_export, _context) {
System.register([], function(_export, _context) {
"use strict";
async function foo() {
class C extends (await import("./0")).B {
class C extends (await _context.import("./0")).B {
}
new C().print();
}
Expand Down
Expand Up @@ -56,7 +56,7 @@ System.register([], function(_export, _context) {
console.log(Zero.foo());
}, async (err)=>{
console.log(err);
let one = await import("./1");
let one = await _context.import("./1");
console.log(one.backup());
});
}
Expand All @@ -69,7 +69,7 @@ System.register([], function(_export, _context) {
console.log(Zero.foo());
}, async (err)=>{
console.log(err);
let one = await import("./1");
let one = await _context.import("./1");
console.log(one.backup());
});
}
Expand Down
Expand Up @@ -43,7 +43,7 @@ System.register([], function(_export, _context) {
_context.import("./0"), this.myModule.then((Zero)=>{
console.log(Zero.foo());
}, async (err)=>{
console.log(err), console.log((await import("./1")).backup());
console.log(err), console.log((await _context.import("./1")).backup());
});
}
});
Expand Down
Expand Up @@ -5,7 +5,7 @@ System.register([], function(_export, _context) {
setters: [],
execute: function() {
if (_context.meta.foo) {
import.meta.foo();
_context.meta.foo();
}
}
};
Expand Down
Expand Up @@ -3,7 +3,7 @@ System.register([], function(_export, _context) {
return {
setters: [],
execute: function() {
_context.meta.foo && import.meta.foo();
_context.meta.foo && _context.meta.foo();
}
};
});
28 changes: 23 additions & 5 deletions crates/swc_ecma_transforms_module/src/system_js.rs
Expand Up @@ -537,7 +537,25 @@ impl SystemJs {
impl Fold for SystemJs {
noop_fold_type!();

fn fold_call_expr(&mut self, expr: CallExpr) -> CallExpr {
let expr = expr.fold_children_with(self);

match expr.callee {
Callee::Import(_) => CallExpr {
callee: self
.context_ident
.clone()
.make_member(quote_ident!("import"))
.as_callee(),
..expr
},
_ => expr,
}
}

fn fold_expr(&mut self, expr: Expr) -> Expr {
let expr = expr.fold_children_with(self);

match expr {
Expr::Ident(ident) => self.fold_module_name_ident(ident),
Expr::Assign(assign) => {
Expand All @@ -562,10 +580,7 @@ impl Fold for SystemJs {
.as_callee(),
..call
}),
_ => Expr::Call(CallExpr {
args: call.args.fold_with(self),
..call
}),
_ => Expr::Call(call),
},
Expr::MetaProp(meta_prop_expr) => match meta_prop_expr.kind {
MetaPropKind::ImportMeta => {
Expand All @@ -577,6 +592,7 @@ impl Fold for SystemJs {
if self.enter_async_fn == 0 {
self.tla = true;
}

Expr::Await(await_expr)
}
Expr::This(this_expr) => {
Expand All @@ -585,7 +601,7 @@ impl Fold for SystemJs {
}
Expr::This(this_expr)
}
_ => expr.fold_children_with(self),
_ => expr,
}
}

Expand All @@ -610,6 +626,8 @@ impl Fold for SystemJs {
}

fn fold_prop(&mut self, prop: Prop) -> Prop {
let prop = prop.fold_children_with(self);

match prop {
Prop::Shorthand(shorthand) => Prop::KeyValue(KeyValueProp {
key: PropName::Ident(shorthand.clone()),
Expand Down
29 changes: 29 additions & 0 deletions crates/swc_ecma_transforms_module/tests/system_js.rs
Expand Up @@ -142,6 +142,35 @@ test!(
});"#
);

test!(
syntax(),
|tester| tr(
tester,
Config {
..Default::default()
}
),
imports,
r#"
import.meta.url;
import.meta.fn();
await import('./test2');
"#,
r#"
System.register([], function(_export, _context) {
"use strict";
return {
setters: [],
execute: async function() {
_context.meta.url;
_context.meta.fn();
await _context.import('./test2');
}
};
});
"#
);

// TODO: test get-module-name-option, tla

#[testing::fixture("tests/fixture/systemjs/**/input.mjs")]
Expand Down

1 comment on commit 85fffda

@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: 85fffda Previous: 76bc8a2 Ratio
es/full/bugs-1 296804 ns/iter (± 5345) 296191 ns/iter (± 18982) 1.00
es/full/minify/libraries/antd 1619309349 ns/iter (± 33715858) 1675535382 ns/iter (± 23551700) 0.97
es/full/minify/libraries/d3 279737578 ns/iter (± 7083550) 316216304 ns/iter (± 7142839) 0.88
es/full/minify/libraries/echarts 1186798028 ns/iter (± 30602820) 1273457514 ns/iter (± 14592626) 0.93
es/full/minify/libraries/jquery 86424746 ns/iter (± 889910) 94733018 ns/iter (± 1367851) 0.91
es/full/minify/libraries/lodash 102090072 ns/iter (± 1785470) 110707742 ns/iter (± 1411652) 0.92
es/full/minify/libraries/moment 51183861 ns/iter (± 591274) 54002211 ns/iter (± 759169) 0.95
es/full/minify/libraries/react 18876515 ns/iter (± 133019) 19438614 ns/iter (± 126446) 0.97
es/full/minify/libraries/terser 235336331 ns/iter (± 4274087) 259740824 ns/iter (± 3057078) 0.91
es/full/minify/libraries/three 412709672 ns/iter (± 10445254) 452774922 ns/iter (± 6509154) 0.91
es/full/minify/libraries/typescript 3042544971 ns/iter (± 17309921) 3073982478 ns/iter (± 11976672) 0.99
es/full/minify/libraries/victory 627352974 ns/iter (± 9617256) 681287867 ns/iter (± 19826296) 0.92
es/full/minify/libraries/vue 125422710 ns/iter (± 1561942) 132533150 ns/iter (± 1915977) 0.95
es/full/codegen/es3 24934 ns/iter (± 354) 26220 ns/iter (± 129) 0.95
es/full/codegen/es5 25587 ns/iter (± 165) 26342 ns/iter (± 57) 0.97
es/full/codegen/es2015 24985 ns/iter (± 199) 26311 ns/iter (± 67) 0.95
es/full/codegen/es2016 24928 ns/iter (± 79) 26363 ns/iter (± 39) 0.95
es/full/codegen/es2017 25086 ns/iter (± 201) 26331 ns/iter (± 73) 0.95
es/full/codegen/es2018 24985 ns/iter (± 133) 26342 ns/iter (± 43) 0.95
es/full/codegen/es2019 24993 ns/iter (± 141) 26322 ns/iter (± 46) 0.95
es/full/codegen/es2020 24881 ns/iter (± 279) 26324 ns/iter (± 39) 0.95
es/full/all/es3 170221854 ns/iter (± 2479581) 170248424 ns/iter (± 4312086) 1.00
es/full/all/es5 164339272 ns/iter (± 1649068) 161622615 ns/iter (± 2193303) 1.02
es/full/all/es2015 123521427 ns/iter (± 2591153) 124432906 ns/iter (± 1357342) 0.99
es/full/all/es2016 122398873 ns/iter (± 1494343) 122528574 ns/iter (± 1198155) 1.00
es/full/all/es2017 121445691 ns/iter (± 730948) 121063751 ns/iter (± 1365443) 1.00
es/full/all/es2018 118102954 ns/iter (± 1256833) 119647177 ns/iter (± 648765) 0.99
es/full/all/es2019 117686351 ns/iter (± 762398) 119298471 ns/iter (± 820502) 0.99
es/full/all/es2020 113505952 ns/iter (± 1003053) 114582506 ns/iter (± 1323873) 0.99
es/full/parser 539831 ns/iter (± 11435) 525831 ns/iter (± 6795) 1.03
es/full/base/fixer 20947 ns/iter (± 102) 21849 ns/iter (± 52) 0.96
es/full/base/resolver_and_hygiene 77872 ns/iter (± 784) 82558 ns/iter (± 85) 0.94
serialization of ast node 118 ns/iter (± 1) 123 ns/iter (± 0) 0.96
serialization of serde 125 ns/iter (± 1) 129 ns/iter (± 0) 0.97
css/minify/libraries/bootstrap 27079741 ns/iter (± 346866) 28177305 ns/iter (± 114133) 0.96
css/visitor/compare/clone 2012778 ns/iter (± 29367) 2080070 ns/iter (± 23718) 0.97
css/visitor/compare/visit_mut_span 2182495 ns/iter (± 22613) 2274214 ns/iter (± 10679) 0.96
css/visitor/compare/visit_mut_span_panic 2240897 ns/iter (± 24138) 2305695 ns/iter (± 6239) 0.97
css/visitor/compare/fold_span 2953992 ns/iter (± 42177) 3046811 ns/iter (± 18595) 0.97
css/visitor/compare/fold_span_panic 3044100 ns/iter (± 42357) 3180598 ns/iter (± 19101) 0.96
css/lexer/bootstrap_5_1_3 4965517 ns/iter (± 95290) 5180471 ns/iter (± 4470) 0.96
css/lexer/foundation_6_7_4 4195187 ns/iter (± 28548) 4351927 ns/iter (± 5168) 0.96
css/lexer/tailwind_3_1_1 791017 ns/iter (± 6240) 827935 ns/iter (± 182) 0.96
css/parser/bootstrap_5_1_3 20923375 ns/iter (± 365713) 21733241 ns/iter (± 65007) 0.96
css/parser/foundation_6_7_4 16453563 ns/iter (± 187595) 17342954 ns/iter (± 70033) 0.95
css/parser/tailwind_3_1_1 3152329 ns/iter (± 38749) 3314877 ns/iter (± 5128) 0.95
es/codegen/colors 319112 ns/iter (± 182250) 327043 ns/iter (± 184092) 0.98
es/codegen/large 1139228 ns/iter (± 577219) 1187215 ns/iter (± 611156) 0.96
es/codegen/with-parser/colors 47070 ns/iter (± 512) 48465 ns/iter (± 540) 0.97
es/codegen/with-parser/large 516825 ns/iter (± 4335) 538470 ns/iter (± 3371) 0.96
es/minify/libraries/antd 1393391740 ns/iter (± 20511693) 1440071517 ns/iter (± 33416100) 0.97
es/minify/libraries/d3 242827344 ns/iter (± 3511580) 264354333 ns/iter (± 3375201) 0.92
es/minify/libraries/echarts 1015348040 ns/iter (± 9849935) 1104620670 ns/iter (± 15964388) 0.92
es/minify/libraries/jquery 75776970 ns/iter (± 616044) 79307629 ns/iter (± 662088) 0.96
es/minify/libraries/lodash 91824144 ns/iter (± 945557) 98274882 ns/iter (± 1260857) 0.93
es/minify/libraries/moment 44207380 ns/iter (± 440055) 46293999 ns/iter (± 415215) 0.95
es/minify/libraries/react 16633484 ns/iter (± 167043) 17349331 ns/iter (± 112956) 0.96
es/minify/libraries/terser 202418369 ns/iter (± 3285808) 221040338 ns/iter (± 4113578) 0.92
es/minify/libraries/three 348854856 ns/iter (± 12109844) 387082490 ns/iter (± 6822072) 0.90
es/minify/libraries/typescript 2614657976 ns/iter (± 32329916) 2658837861 ns/iter (± 11759955) 0.98
es/minify/libraries/victory 536651122 ns/iter (± 21475595) 614446693 ns/iter (± 15826372) 0.87
es/minify/libraries/vue 111367327 ns/iter (± 995633) 119597448 ns/iter (± 919659) 0.93
es/visitor/compare/clone 2280631 ns/iter (± 31128) 2371122 ns/iter (± 16012) 0.96
es/visitor/compare/visit_mut_span 2669837 ns/iter (± 30065) 2797292 ns/iter (± 6441) 0.95
es/visitor/compare/visit_mut_span_panic 2706236 ns/iter (± 39120) 2848978 ns/iter (± 10287) 0.95
es/visitor/compare/fold_span 3787374 ns/iter (± 39874) 3946967 ns/iter (± 49308) 0.96
es/visitor/compare/fold_span_panic 3912036 ns/iter (± 62917) 4066991 ns/iter (± 12096) 0.96
es/lexer/colors 16564 ns/iter (± 113) 17374 ns/iter (± 17) 0.95
es/lexer/angular 7904330 ns/iter (± 51435) 8279029 ns/iter (± 9008) 0.95
es/lexer/backbone 1031285 ns/iter (± 18258) 1083092 ns/iter (± 223) 0.95
es/lexer/jquery 5701042 ns/iter (± 22561) 5991556 ns/iter (± 1867) 0.95
es/lexer/jquery mobile 8747447 ns/iter (± 39116) 9251512 ns/iter (± 5165) 0.95
es/lexer/mootools 4465636 ns/iter (± 39887) 4700204 ns/iter (± 2088) 0.95
es/lexer/underscore 858001 ns/iter (± 3434) 904081 ns/iter (± 350) 0.95
es/lexer/three 26641949 ns/iter (± 175597) 28080757 ns/iter (± 11438) 0.95
es/lexer/yui 4843786 ns/iter (± 55140) 5071579 ns/iter (± 1815) 0.96
es/parser/colors 28504 ns/iter (± 351) 30472 ns/iter (± 157) 0.94
es/parser/angular 14824271 ns/iter (± 164597) 15797745 ns/iter (± 176205) 0.94
es/parser/backbone 2201992 ns/iter (± 24992) 2317771 ns/iter (± 13465) 0.95
es/parser/jquery 11964481 ns/iter (± 176076) 12644997 ns/iter (± 90371) 0.95
es/parser/jquery mobile 18645842 ns/iter (± 187384) 20166572 ns/iter (± 155793) 0.92
es/parser/mootools 9085516 ns/iter (± 68882) 9680708 ns/iter (± 61185) 0.94
es/parser/underscore 1875704 ns/iter (± 23239) 1960365 ns/iter (± 10104) 0.96
es/parser/three 52641535 ns/iter (± 762099) 59706487 ns/iter (± 600697) 0.88
es/parser/yui 9167980 ns/iter (± 84434) 9721377 ns/iter (± 65343) 0.94
es/preset-env/usage/builtin_type 137337 ns/iter (± 32951) 137910 ns/iter (± 30227) 1.00
es/preset-env/usage/property 20632 ns/iter (± 217) 21486 ns/iter (± 88) 0.96
es/resolver/typescript 115578551 ns/iter (± 6304571) 113804069 ns/iter (± 2222153) 1.02
es/fixer/typescript 90133165 ns/iter (± 809197) 86809583 ns/iter (± 971215) 1.04
es/hygiene/typescript 188111504 ns/iter (± 2452046) 182103662 ns/iter (± 998726) 1.03
es/resolver_with_hygiene/typescript 320726190 ns/iter (± 4740643) 320814917 ns/iter (± 2108704) 1.00
es/visitor/base-perf/module_clone 72491 ns/iter (± 1796) 76151 ns/iter (± 1599) 0.95
es/visitor/base-perf/fold_empty 81641 ns/iter (± 1204) 86977 ns/iter (± 1993) 0.94
es/visitor/base-perf/fold_noop_impl_all 82754 ns/iter (± 1839) 86166 ns/iter (± 1456) 0.96
es/visitor/base-perf/fold_noop_impl_vec 81685 ns/iter (± 977) 85891 ns/iter (± 1043) 0.95
es/visitor/base-perf/boxing_boxed_clone 53 ns/iter (± 0) 56 ns/iter (± 0) 0.95
es/visitor/base-perf/boxing_unboxed_clone 56 ns/iter (± 0) 59 ns/iter (± 0) 0.95
es/visitor/base-perf/boxing_boxed 99 ns/iter (± 0) 103 ns/iter (± 0) 0.96
es/visitor/base-perf/boxing_unboxed 99 ns/iter (± 1) 102 ns/iter (± 0) 0.97
es/visitor/base-perf/visit_contains_this 3438 ns/iter (± 88) 3560 ns/iter (± 72) 0.97
es/base/parallel/resolver/typescript 5619283312 ns/iter (± 497678798) 5797385590 ns/iter (± 378850563) 0.97
es/base/parallel/hygiene/typescript 2297586728 ns/iter (± 30439167) 2140496742 ns/iter (± 17774096) 1.07
misc/visitors/time-complexity/time 5 102 ns/iter (± 0) 104 ns/iter (± 0) 0.98
misc/visitors/time-complexity/time 10 325 ns/iter (± 3) 343 ns/iter (± 6) 0.95
misc/visitors/time-complexity/time 15 634 ns/iter (± 6) 656 ns/iter (± 0) 0.97
misc/visitors/time-complexity/time 20 1166 ns/iter (± 16) 1224 ns/iter (± 2) 0.95
misc/visitors/time-complexity/time 40 6248 ns/iter (± 43) 6637 ns/iter (± 23) 0.94
misc/visitors/time-complexity/time 60 16271 ns/iter (± 181) 16999 ns/iter (± 16) 0.96
es/full-target/es2016 183855 ns/iter (± 2213) 189107 ns/iter (± 550) 0.97
es/full-target/es2017 176265 ns/iter (± 774) 183833 ns/iter (± 575) 0.96
es/full-target/es2018 167080 ns/iter (± 1577) 173489 ns/iter (± 519) 0.96
es2020_nullish_coalescing 64338 ns/iter (± 778) 66645 ns/iter (± 228) 0.97
es2020_optional_chaining 92555 ns/iter (± 8137) 96061 ns/iter (± 7111) 0.96
es2022_class_properties 90283 ns/iter (± 494) 93818 ns/iter (± 227) 0.96
es2018_object_rest_spread 68544 ns/iter (± 672) 71482 ns/iter (± 128) 0.96
es2019_optional_catch_binding 58667 ns/iter (± 849) 61326 ns/iter (± 96) 0.96
es2017_async_to_generator 59036 ns/iter (± 375) 61489 ns/iter (± 109) 0.96
es2016_exponentiation 62763 ns/iter (± 455) 65194 ns/iter (± 100) 0.96
es2015_arrow 67411 ns/iter (± 570) 70060 ns/iter (± 137) 0.96
es2015_block_scoped_fn 63571 ns/iter (± 368) 66126 ns/iter (± 141) 0.96
es2015_block_scoping 153193 ns/iter (± 9783) 153083 ns/iter (± 10453) 1.00
es2015_classes 112797 ns/iter (± 1338) 116927 ns/iter (± 421) 0.96
es2015_computed_props 58719 ns/iter (± 568) 60934 ns/iter (± 112) 0.96
es2015_destructuring 110884 ns/iter (± 937) 116057 ns/iter (± 322) 0.96
es2015_duplicate_keys 61095 ns/iter (± 511) 63657 ns/iter (± 54) 0.96
es2015_parameters 75950 ns/iter (± 537) 79343 ns/iter (± 120) 0.96
es2015_fn_name 63541 ns/iter (± 682) 66386 ns/iter (± 519) 0.96
es2015_for_of 61899 ns/iter (± 803) 64439 ns/iter (± 95) 0.96
es2015_instanceof 60457 ns/iter (± 476) 62941 ns/iter (± 60) 0.96
es2015_shorthand_property 58636 ns/iter (± 254) 60979 ns/iter (± 124) 0.96
es2015_spread 58523 ns/iter (± 355) 60922 ns/iter (± 81) 0.96
es2015_sticky_regex 59650 ns/iter (± 585) 62169 ns/iter (± 81) 0.96
es2015_typeof_symbol 60361 ns/iter (± 434) 62289 ns/iter (± 108) 0.97
es/transform/baseline/base 50159 ns/iter (± 449) 51624 ns/iter (± 139) 0.97
es/transform/baseline/common_reserved_word 59857 ns/iter (± 367) 62217 ns/iter (± 98) 0.96
es/transform/baseline/common_typescript 162118 ns/iter (± 1748) 147443 ns/iter (± 7006) 1.10
es/target/es3 160466 ns/iter (± 1043) 171504 ns/iter (± 272) 0.94
es/target/es2015 576490 ns/iter (± 4133) 629450 ns/iter (± 1159) 0.92
es/target/es2016 61144 ns/iter (± 460) 65271 ns/iter (± 166) 0.94
es/target/es2017 58138 ns/iter (± 855) 61599 ns/iter (± 111) 0.94
es/target/es2018 76284 ns/iter (± 488) 81598 ns/iter (± 99) 0.93
es/target/es2020 122921 ns/iter (± 1075) 132935 ns/iter (± 128) 0.92
babelify-only 652846 ns/iter (± 5196) 677493 ns/iter (± 1056) 0.96
parse_and_babelify_angular 42098751 ns/iter (± 1346833) 43329233 ns/iter (± 685065) 0.97
parse_and_babelify_backbone 5244304 ns/iter (± 24733) 5506969 ns/iter (± 73265) 0.95
parse_and_babelify_jquery 30728822 ns/iter (± 451026) 32655382 ns/iter (± 401726) 0.94
parse_and_babelify_jquery_mobile 53432711 ns/iter (± 746412) 56568221 ns/iter (± 1201614) 0.94
parse_and_babelify_mootools 31297533 ns/iter (± 652603) 33952201 ns/iter (± 677246) 0.92
parse_and_babelify_underscore 4318166 ns/iter (± 39409) 4424457 ns/iter (± 34240) 0.98
parse_and_babelify_yui 30453026 ns/iter (± 927394) 33009331 ns/iter (± 372088) 0.92
html/minify/document/css_spec 39757298 ns/iter (± 433505) 42787215 ns/iter (± 457297) 0.93
html/minify/document/github 17015244 ns/iter (± 234217) 17516762 ns/iter (± 49805) 0.97
html/minify/document/stackoverflow 15005297 ns/iter (± 111668) 15738393 ns/iter (± 76028) 0.95
html/minify/document_fragment/css_spec 37810211 ns/iter (± 378165) 41300043 ns/iter (± 189863) 0.92
html/minify/document_fragment/github 16132972 ns/iter (± 205215) 16842356 ns/iter (± 46202) 0.96
html/minify/document_fragment/stackoverflow 14447815 ns/iter (± 71256) 15351179 ns/iter (± 42408) 0.94
html/document/visitor/compare/clone 327814 ns/iter (± 4151) 342574 ns/iter (± 1207) 0.96
html/document/visitor/compare/visit_mut_span 347309 ns/iter (± 3299) 368006 ns/iter (± 1898) 0.94
html/document/visitor/compare/visit_mut_span_panic 355164 ns/iter (± 2648) 376185 ns/iter (± 1865) 0.94
html/document/visitor/compare/fold_span 401686 ns/iter (± 9891) 409033 ns/iter (± 2328) 0.98
html/document/visitor/compare/fold_span_panic 442400 ns/iter (± 3284) 463783 ns/iter (± 1912) 0.95
html/document_fragment/visitor/compare/clone 324691 ns/iter (± 3429) 340847 ns/iter (± 2316) 0.95
html/document_fragment/visitor/compare/visit_mut_span 351623 ns/iter (± 4374) 369646 ns/iter (± 1876) 0.95
html/document_fragment/visitor/compare/visit_mut_span_panic 364917 ns/iter (± 4614) 379162 ns/iter (± 1550) 0.96
html/document_fragment/visitor/compare/fold_span 391542 ns/iter (± 3662) 401225 ns/iter (± 2116) 0.98
html/document_fragment/visitor/compare/fold_span_panic 444415 ns/iter (± 3544) 455700 ns/iter (± 1237) 0.98
html/lexer/css_2021_spec 14857046 ns/iter (± 170972) 15750290 ns/iter (± 9600) 0.94
html/lexer/github_com_17_05_2022 5722577 ns/iter (± 29258) 6060333 ns/iter (± 3010) 0.94
html/lexer/stackoverflow_com_17_05_2022 5348194 ns/iter (± 39504) 5694561 ns/iter (± 5228) 0.94
html/parser/parser_document/css_2021_spec 24134715 ns/iter (± 281875) 26047176 ns/iter (± 193590) 0.93
html/parser/parser_document/github_com_17_05_2022 8417538 ns/iter (± 79087) 8773656 ns/iter (± 116165) 0.96
html/parser/parser_document/stackoverflow_com_17_05_2022 7382914 ns/iter (± 43072) 7707336 ns/iter (± 6694) 0.96
html/parser/parser_document_fragment/css_2021_spec 24367926 ns/iter (± 123245) 26215097 ns/iter (± 203083) 0.93
html/parser/parser_document_fragment/github_com_17_05_2022 8369631 ns/iter (± 70410) 8754041 ns/iter (± 12623) 0.96
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7366182 ns/iter (± 41671) 7739686 ns/iter (± 4503) 0.95

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

Please sign in to comment.