Skip to content

Commit

Permalink
feat(es/helper): Use require to load polyfills and helpers in Script (
Browse files Browse the repository at this point in the history
  • Loading branch information
RiESAEX committed Jan 16, 2023
1 parent b1f3eb7 commit ad8d043
Show file tree
Hide file tree
Showing 22 changed files with 239 additions and 132 deletions.
15 changes: 2 additions & 13 deletions crates/swc/benches/bugs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ extern crate swc_node_base;
use std::{io::stderr, path::Path};

use criterion::{black_box, criterion_group, criterion_main, Bencher, Criterion};
use swc::config::{Config, IsModule, Options};
use swc_common::{errors::Handler, sync::Lrc, FilePathMapping, SourceMap};
use swc_ecma_utils::swc_common::GLOBALS;

Expand All @@ -23,18 +22,8 @@ fn bench_file(b: &mut Bencher, path: &Path) {

let result = {
GLOBALS.set(&Default::default(), || {
c.process_js_file(
fm,
&handler,
&Options {
config: Config {
is_module: IsModule::Bool(true),
..Default::default()
},
..Default::default()
},
)
.unwrap()
c.process_js_file(fm, &handler, &Default::default())
.unwrap()
})
};
black_box(result);
Expand Down
1 change: 0 additions & 1 deletion crates/swc/benches/typescript.rs
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,6 @@ fn full_group(c: &mut Criterion) {
..Default::default()
},
module: None,
is_module: IsModule::Bool(true),
..Default::default()
},
swcrc: false,
Expand Down
5 changes: 4 additions & 1 deletion crates/swc/src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,10 @@ impl<'a, 'b, P: swc_ecma_visit::Fold> PassBuilder<'a, 'b, P> {
need_analyzer
),
compat::reserved_words::reserved_words(),
Optional::new(helpers::inject_helpers(), self.inject_helpers),
Optional::new(
helpers::inject_helpers(self.unresolved_mark),
self.inject_helpers
),
ModuleConfig::build(
self.cm.clone(),
comments,
Expand Down
4 changes: 2 additions & 2 deletions crates/swc/src/config/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ impl Options {
cfg.adjust(base);
}

let is_module = self.config.is_module;
let is_module = cfg.is_module.unwrap_or_default();

let mut source_maps = self.source_maps.clone();
source_maps.merge(cfg.source_maps.clone());
Expand Down Expand Up @@ -861,7 +861,7 @@ pub struct Config {
pub error: ErrorConfig,

#[serde(default)]
pub is_module: IsModule,
pub is_module: Option<IsModule>,

#[serde(rename = "$schema")]
pub schema: Option<String>,
Expand Down
6 changes: 1 addition & 5 deletions crates/swc/tests/error_msg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@ fn file(f: impl AsRef<Path>) -> NormalizedOutput {
fm,
&handler,
&Options {
config: Config {
is_module: IsModule::Bool(true),
..Default::default()
},
swcrc: true,
..Default::default()
},
Expand Down Expand Up @@ -64,7 +60,7 @@ fn fixture(input: PathBuf) {
handler,
&Options {
config: Config {
is_module: IsModule::Unknown,
is_module: Some(IsModule::Unknown),
..Default::default()
},
swcrc: true,
Expand Down
2 changes: 1 addition & 1 deletion crates/swc/tests/fixture/issues-6xxx/6028/output/input.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import _create_for_of_iterator_helper_loose from "@swc/helpers/src/_create_for_of_iterator_helper_loose.mjs";
var _create_for_of_iterator_helper_loose = require("@swc/helpers").create_for_of_iterator_helper_loose;
var m = new Map([
[
1,
Expand Down
13 changes: 13 additions & 0 deletions crates/swc/tests/fixture/issues-6xxx/6727/input/.swcrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"isModule": false,
"jsc": {
"externalHelpers": true
},
"env": {
"targets": {
"ie": "6"
},
"mode": "usage",
"coreJs": "3.22"
}
}
4 changes: 4 additions & 0 deletions crates/swc/tests/fixture/issues-6xxx/6727/input/input.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
async function a() {
await Promise.resolve()
}
console.log(typeof a)
28 changes: 28 additions & 0 deletions crates/swc/tests/fixture/issues-6xxx/6727/output/input.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
var _async_to_generator = require("@swc/helpers").async_to_generator;
var _type_of = require("@swc/helpers").type_of;
var _ts_generator = require("@swc/helpers").ts_generator;
require("core-js/modules/es.object.to-string.js");
require("core-js/modules/es.promise.js");
function a() {
return _a.apply(this, arguments);
}
function _a() {
_a = _async_to_generator(function() {
return _ts_generator(this, function(_state) {
switch(_state.label){
case 0:
return [
4,
Promise.resolve()
];
case 1:
_state.sent();
return [
2
];
}
});
});
return _a.apply(this, arguments);
}
console.log(typeof a === "undefined" ? "undefined" : _type_of(a));
51 changes: 6 additions & 45 deletions crates/swc/tests/projects.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ use std::{
use rayon::prelude::*;
use swc::{
config::{
BuiltInput, Config, FileMatcher, IsModule, JscConfig, ModuleConfig, Options,
SourceMapsConfig, TransformConfig,
BuiltInput, Config, FileMatcher, JscConfig, ModuleConfig, Options, SourceMapsConfig,
TransformConfig,
},
Compiler, TransformOutput,
};
Expand Down Expand Up @@ -44,17 +44,7 @@ fn file_with_opt(filename: &str, options: Options) -> Result<NormalizedOutput, S
let fm = cm
.load_file(Path::new(filename))
.expect("failed to load file");
let s = c.process_js_file(
fm,
&handler,
&Options {
config: Config {
is_module: IsModule::Bool(true),
..options.config
},
..options
},
);
let s = c.process_js_file(fm, &handler, &options);

match s {
Ok(v) => {
Expand Down Expand Up @@ -82,17 +72,7 @@ fn compile_str(
let c = Compiler::new(cm.clone());

let fm = cm.new_source_file(filename, content.to_string());
let s = c.process_js_file(
fm,
&handler,
&Options {
config: Config {
is_module: IsModule::Bool(true),
..options.config
},
..options
},
);
let s = c.process_js_file(fm, &handler, &options);

match s {
Ok(v) => {
Expand Down Expand Up @@ -131,11 +111,6 @@ fn project(dir: &str) {
if c.read_config(
&Options {
swcrc: true,
config: Config {
is_module: IsModule::Bool(true),
..Default::default()
},

..Default::default()
},
&fm.name,
Expand All @@ -151,10 +126,7 @@ fn project(dir: &str) {
&handler,
&Options {
swcrc: true,
config: Config {
is_module: IsModule::Bool(true),
..Default::default()
},
config: Default::default(),
..Default::default()
},
) {
Expand Down Expand Up @@ -203,10 +175,6 @@ fn par_project(dir: &str) {
fm,
&handler,
&Options {
config: Config {
is_module: IsModule::Bool(true),
..Default::default()
},
swcrc: true,
source_maps: Some(SourceMapsConfig::Bool(true)),
..Default::default()
Expand Down Expand Up @@ -559,7 +527,6 @@ fn issue_879() {
"tests/projects/issue-879/input.ts",
Options {
config: Config {
is_module: IsModule::Bool(true),
env: Some(Default::default()),
module: Some(ModuleConfig::CommonJs(Default::default())),
jsc: JscConfig {
Expand Down Expand Up @@ -634,7 +601,6 @@ fn issue_1549() {
"const a = `\r\n`;",
Options {
config: Config {
is_module: IsModule::Bool(true),
jsc: JscConfig {
target: Some(EsVersion::Es5),
..Default::default()
Expand All @@ -656,7 +622,6 @@ fn deno_10282_1() {
"const a = `\r\n`;",
Options {
config: Config {
is_module: IsModule::Bool(true),
jsc: JscConfig {
target: Some(EsVersion::Es3),
..Default::default()
Expand All @@ -678,7 +643,6 @@ fn deno_10282_2() {
"const a = `\r\n`;",
Options {
config: Config {
is_module: IsModule::Bool(true),
jsc: JscConfig {
target: Some(EsVersion::Es2020),
..Default::default()
Expand Down Expand Up @@ -732,7 +696,6 @@ fn should_visit() {
&handler,
&swc::config::Options {
config: swc::config::Config {
is_module: IsModule::Bool(true),
jsc: JscConfig {
syntax: Some(Syntax::Es(EsConfig {
jsx: true,
Expand Down Expand Up @@ -850,7 +813,6 @@ fn tests(input_dir: PathBuf) {
swcrc: true,
output_path: Some(output.join(entry.file_name())),
config: Config {
is_module: IsModule::Bool(true),
jsc: JscConfig {
external_helpers: true.into(),
..Default::default()
Expand Down Expand Up @@ -915,7 +877,7 @@ fn issue_1984() {
})
.unwrap()
}

//
#[test]
fn opt_source_file_name_1() {
let map = compile_str(
Expand Down Expand Up @@ -949,7 +911,6 @@ fn issue_2224() {
}"#,
Options {
config: Config {
is_module: IsModule::Bool(true),
jsc: JscConfig {
syntax: Some(Syntax::Typescript(TsConfig {
decorators: true,
Expand Down
8 changes: 1 addition & 7 deletions crates/swc/tests/rust_api.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
use swc::{
config::{
Config, InputSourceMap, IsModule, JscConfig, ModuleConfig, Options, SourceMapsConfig,
},
config::{Config, InputSourceMap, JscConfig, ModuleConfig, Options, SourceMapsConfig},
Compiler,
};
use swc_common::{comments::SingleThreadedComments, FileName};
Expand Down Expand Up @@ -87,7 +85,6 @@ fn shopify_1_check_filename() {
&handler,
&Options {
config: Config {
is_module: IsModule::Bool(true),
jsc: JscConfig {
syntax: Some(Syntax::Es(EsConfig {
jsx: true,
Expand Down Expand Up @@ -130,7 +127,6 @@ fn shopify_2_same_opt() {

let opts = Options {
config: Config {
is_module: IsModule::Bool(true),
env: None,
test: None,
exclude: None,
Expand Down Expand Up @@ -215,7 +211,6 @@ fn shopify_3_reduce_defaults() {

let opts = Options {
config: Config {
is_module: IsModule::Bool(true),
jsc: JscConfig {
syntax: Some(Syntax::Typescript(TsConfig {
tsx: true,
Expand Down Expand Up @@ -284,7 +279,6 @@ fn shopify_4_reduce_more() {

let opts = Options {
config: Config {
is_module: IsModule::Bool(true),
jsc: JscConfig {
syntax: Some(Syntax::Es(EsConfig {
jsx: true,
Expand Down
16 changes: 3 additions & 13 deletions crates/swc/tests/simple.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,7 @@ fn compile(src: &str, options: Options) -> String {
let c = Compiler::new(cm.clone());

let fm = cm.new_source_file(FileName::Real("input.js".into()), src.into());
let s = c.process_js_file(
fm,
&handler,
&Options {
config: Config {
is_module: IsModule::Bool(true),
..options.config
},
..options
},
);
let s = c.process_js_file(fm, &handler, &options);

match s {
Ok(v) => {
Expand Down Expand Up @@ -158,7 +148,7 @@ fn is_module_unknown_script() {
Options {
swcrc: false,
config: Config {
is_module: IsModule::Unknown,
is_module: Some(IsModule::Unknown),
..Default::default()
},
..Default::default()
Expand All @@ -178,7 +168,7 @@ fn is_module_unknown_module() {
Options {
swcrc: false,
config: Config {
is_module: IsModule::Unknown,
is_module: Some(IsModule::Unknown),
..Default::default()
},
..Default::default()
Expand Down

1 comment on commit ad8d043

@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: ad8d043 Previous: e9fdac2 Ratio
es/full/bugs-1 301804 ns/iter (± 6451) 299954 ns/iter (± 6758) 1.01
es/full/minify/libraries/antd 1679146255 ns/iter (± 31638766) 1643625779 ns/iter (± 20614379) 1.02
es/full/minify/libraries/d3 309224060 ns/iter (± 9124548) 310650052 ns/iter (± 4425277) 1.00
es/full/minify/libraries/echarts 1297075119 ns/iter (± 17173479) 1269915102 ns/iter (± 15721866) 1.02
es/full/minify/libraries/jquery 90170271 ns/iter (± 935713) 91303046 ns/iter (± 571155) 0.99
es/full/minify/libraries/lodash 106027416 ns/iter (± 1794713) 107474603 ns/iter (± 1622172) 0.99
es/full/minify/libraries/moment 52746157 ns/iter (± 620726) 51967877 ns/iter (± 1000303) 1.01
es/full/minify/libraries/react 18927656 ns/iter (± 141435) 19230719 ns/iter (± 137217) 0.98
es/full/minify/libraries/terser 248193930 ns/iter (± 2442138) 247272006 ns/iter (± 2978557) 1.00
es/full/minify/libraries/three 451615042 ns/iter (± 10970754) 448227977 ns/iter (± 5868801) 1.01
es/full/minify/libraries/typescript 3156593406 ns/iter (± 14440244) 3019409584 ns/iter (± 19439000) 1.05
es/full/minify/libraries/victory 667078200 ns/iter (± 13403626) 619414022 ns/iter (± 8795029) 1.08
es/full/minify/libraries/vue 131776286 ns/iter (± 955380) 126965181 ns/iter (± 1357414) 1.04
es/full/codegen/es3 25870 ns/iter (± 37) 25469 ns/iter (± 819) 1.02
es/full/codegen/es5 25861 ns/iter (± 37) 25538 ns/iter (± 93) 1.01
es/full/codegen/es2015 25882 ns/iter (± 38) 24961 ns/iter (± 251) 1.04
es/full/codegen/es2016 25866 ns/iter (± 29) 25049 ns/iter (± 273) 1.03
es/full/codegen/es2017 25882 ns/iter (± 41) 25006 ns/iter (± 136) 1.04
es/full/codegen/es2018 25871 ns/iter (± 41) 25165 ns/iter (± 276) 1.03
es/full/codegen/es2019 25906 ns/iter (± 48) 25093 ns/iter (± 111) 1.03
es/full/codegen/es2020 25865 ns/iter (± 46) 25160 ns/iter (± 231) 1.03
es/full/all/es3 167113014 ns/iter (± 2372448) 172346924 ns/iter (± 3107852) 0.97
es/full/all/es5 161814884 ns/iter (± 2946623) 164232483 ns/iter (± 2522361) 0.99
es/full/all/es2015 122542835 ns/iter (± 1218186) 124714719 ns/iter (± 2163284) 0.98
es/full/all/es2016 121796394 ns/iter (± 1096216) 122374937 ns/iter (± 1590569) 1.00
es/full/all/es2017 119397067 ns/iter (± 778537) 121529312 ns/iter (± 1621237) 0.98
es/full/all/es2018 119346603 ns/iter (± 1240954) 119858293 ns/iter (± 1004343) 1.00
es/full/all/es2019 118268743 ns/iter (± 1019828) 118021245 ns/iter (± 904395) 1.00
es/full/all/es2020 113565542 ns/iter (± 416579) 115239939 ns/iter (± 1265535) 0.99
es/full/parser 537684 ns/iter (± 9284) 531962 ns/iter (± 6929) 1.01
es/full/base/fixer 21819 ns/iter (± 46) 21574 ns/iter (± 172) 1.01
es/full/base/resolver_and_hygiene 79365 ns/iter (± 80) 77736 ns/iter (± 488) 1.02
serialization of ast node 145 ns/iter (± 0) 141 ns/iter (± 0) 1.03
serialization of serde 130 ns/iter (± 0) 126 ns/iter (± 0) 1.03
css/minify/libraries/bootstrap 27836985 ns/iter (± 61710) 27573869 ns/iter (± 356554) 1.01
css/visitor/compare/clone 2066763 ns/iter (± 9109) 2025870 ns/iter (± 20622) 1.02
css/visitor/compare/visit_mut_span 2255392 ns/iter (± 5332) 2208544 ns/iter (± 13842) 1.02
css/visitor/compare/visit_mut_span_panic 2305436 ns/iter (± 2915) 2258269 ns/iter (± 16665) 1.02
css/visitor/compare/fold_span 3023804 ns/iter (± 28293) 2986204 ns/iter (± 23743) 1.01
css/visitor/compare/fold_span_panic 3166758 ns/iter (± 16285) 3126331 ns/iter (± 24680) 1.01
css/lexer/bootstrap_5_1_3 5173076 ns/iter (± 35178) 5120018 ns/iter (± 48276) 1.01
css/lexer/foundation_6_7_4 4380392 ns/iter (± 1622) 4224585 ns/iter (± 43081) 1.04
css/lexer/tailwind_3_1_1 836317 ns/iter (± 526) 801852 ns/iter (± 3711) 1.04
css/parser/bootstrap_5_1_3 21760051 ns/iter (± 86245) 21462492 ns/iter (± 233505) 1.01
css/parser/foundation_6_7_4 17305433 ns/iter (± 46949) 16760797 ns/iter (± 183681) 1.03
css/parser/tailwind_3_1_1 3331283 ns/iter (± 5384) 3253324 ns/iter (± 17738) 1.02
es/codegen/colors 327733 ns/iter (± 185172) 340839 ns/iter (± 187092) 0.96
es/codegen/large 1187906 ns/iter (± 610168) 1120154 ns/iter (± 578233) 1.06
es/codegen/with-parser/colors 48535 ns/iter (± 349) 48318 ns/iter (± 581) 1.00
es/codegen/with-parser/large 533525 ns/iter (± 731) 521727 ns/iter (± 4295) 1.02
es/minify/libraries/antd 1476801484 ns/iter (± 30545772) 1352903093 ns/iter (± 19815496) 1.09
es/minify/libraries/d3 252051785 ns/iter (± 3006750) 242022859 ns/iter (± 3005704) 1.04
es/minify/libraries/echarts 1106220094 ns/iter (± 18732875) 1002691155 ns/iter (± 14292338) 1.10
es/minify/libraries/jquery 78385826 ns/iter (± 423785) 76512864 ns/iter (± 547092) 1.02
es/minify/libraries/lodash 95660823 ns/iter (± 1133394) 93306385 ns/iter (± 642872) 1.03
es/minify/libraries/moment 45872492 ns/iter (± 361293) 44866390 ns/iter (± 329436) 1.02
es/minify/libraries/react 16848379 ns/iter (± 123973) 16710536 ns/iter (± 117017) 1.01
es/minify/libraries/terser 210099334 ns/iter (± 2277240) 202047331 ns/iter (± 2078416) 1.04
es/minify/libraries/three 369777720 ns/iter (± 7654992) 346717784 ns/iter (± 5601331) 1.07
es/minify/libraries/typescript 2738288365 ns/iter (± 11477786) 2519604865 ns/iter (± 21427844) 1.09
es/minify/libraries/victory 576329899 ns/iter (± 11190021) 524058961 ns/iter (± 5353861) 1.10
es/minify/libraries/vue 116206394 ns/iter (± 1267569) 113155952 ns/iter (± 1341924) 1.03
es/visitor/compare/clone 2420801 ns/iter (± 11702) 2380830 ns/iter (± 15877) 1.02
es/visitor/compare/visit_mut_span 2791142 ns/iter (± 8511) 2775225 ns/iter (± 18805) 1.01
es/visitor/compare/visit_mut_span_panic 2850641 ns/iter (± 7281) 2853805 ns/iter (± 18992) 1.00
es/visitor/compare/fold_span 3935505 ns/iter (± 6749) 3979827 ns/iter (± 40214) 0.99
es/visitor/compare/fold_span_panic 4090276 ns/iter (± 15084) 4049227 ns/iter (± 32656) 1.01
es/lexer/colors 17378 ns/iter (± 95) 16987 ns/iter (± 79) 1.02
es/lexer/angular 8324050 ns/iter (± 21103) 8163413 ns/iter (± 41573) 1.02
es/lexer/backbone 1090871 ns/iter (± 705) 1072587 ns/iter (± 5616) 1.02
es/lexer/jquery 6044496 ns/iter (± 3895) 5941010 ns/iter (± 33359) 1.02
es/lexer/jquery mobile 9301980 ns/iter (± 5195) 9170920 ns/iter (± 51636) 1.01
es/lexer/mootools 4728985 ns/iter (± 2008) 4607103 ns/iter (± 43529) 1.03
es/lexer/underscore 908974 ns/iter (± 241) 895047 ns/iter (± 4348) 1.02
es/lexer/three 28298611 ns/iter (± 30054) 27890601 ns/iter (± 157713) 1.01
es/lexer/yui 5110412 ns/iter (± 1686) 5048366 ns/iter (± 21702) 1.01
es/parser/colors 31244 ns/iter (± 181) 30566 ns/iter (± 188) 1.02
es/parser/angular 15768906 ns/iter (± 95415) 15437986 ns/iter (± 220956) 1.02
es/parser/backbone 2353671 ns/iter (± 14114) 2328143 ns/iter (± 10592) 1.01
es/parser/jquery 12691467 ns/iter (± 62906) 12520055 ns/iter (± 129575) 1.01
es/parser/jquery mobile 19908179 ns/iter (± 173303) 19405743 ns/iter (± 108938) 1.03
es/parser/mootools 9747965 ns/iter (± 29356) 9406799 ns/iter (± 45719) 1.04
es/parser/underscore 1993211 ns/iter (± 10615) 1918301 ns/iter (± 18163) 1.04
es/parser/three 58578531 ns/iter (± 743474) 55195452 ns/iter (± 800629) 1.06
es/parser/yui 9684318 ns/iter (± 48931) 9375279 ns/iter (± 109062) 1.03
es/preset-env/usage/builtin_type 144184 ns/iter (± 33938) 141988 ns/iter (± 32964) 1.02
es/preset-env/usage/property 20780 ns/iter (± 57) 20868 ns/iter (± 163) 1.00
es/resolver/typescript 120092266 ns/iter (± 4133718) 106790913 ns/iter (± 1811300) 1.12
es/fixer/typescript 92986141 ns/iter (± 2344824) 84515026 ns/iter (± 2813954) 1.10
es/hygiene/typescript 194680970 ns/iter (± 2006753) 172344867 ns/iter (± 953526) 1.13
es/resolver_with_hygiene/typescript 330239696 ns/iter (± 2056262) 294297733 ns/iter (± 2775070) 1.12
es/visitor/base-perf/module_clone 76272 ns/iter (± 1281) 73715 ns/iter (± 1517) 1.03
es/visitor/base-perf/fold_empty 85660 ns/iter (± 1461) 85356 ns/iter (± 2305) 1.00
es/visitor/base-perf/fold_noop_impl_all 86627 ns/iter (± 1280) 83311 ns/iter (± 1266) 1.04
es/visitor/base-perf/fold_noop_impl_vec 86298 ns/iter (± 984) 83808 ns/iter (± 1093) 1.03
es/visitor/base-perf/boxing_boxed_clone 55 ns/iter (± 0) 54 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed_clone 62 ns/iter (± 0) 58 ns/iter (± 0) 1.07
es/visitor/base-perf/boxing_boxed 105 ns/iter (± 0) 100 ns/iter (± 0) 1.05
es/visitor/base-perf/boxing_unboxed 104 ns/iter (± 0) 101 ns/iter (± 0) 1.03
es/visitor/base-perf/visit_contains_this 3559 ns/iter (± 72) 3343 ns/iter (± 59) 1.06
es/base/parallel/resolver/typescript 5571944616 ns/iter (± 419296353) 5182026834 ns/iter (± 501973737) 1.08
es/base/parallel/hygiene/typescript 2349541344 ns/iter (± 36346801) 2108454044 ns/iter (± 34099857) 1.11
misc/visitors/time-complexity/time 5 92 ns/iter (± 0) 97 ns/iter (± 0) 0.95
misc/visitors/time-complexity/time 10 312 ns/iter (± 0) 306 ns/iter (± 1) 1.02
misc/visitors/time-complexity/time 15 600 ns/iter (± 0) 632 ns/iter (± 6) 0.95
misc/visitors/time-complexity/time 20 1174 ns/iter (± 55) 1205 ns/iter (± 18) 0.97
misc/visitors/time-complexity/time 40 5942 ns/iter (± 32) 6581 ns/iter (± 37) 0.90
misc/visitors/time-complexity/time 60 15267 ns/iter (± 7) 16702 ns/iter (± 180) 0.91
es/full-target/es2016 187739 ns/iter (± 403) 184521 ns/iter (± 1171) 1.02
es/full-target/es2017 183519 ns/iter (± 575) 179480 ns/iter (± 1275) 1.02
es/full-target/es2018 172292 ns/iter (± 375) 167269 ns/iter (± 1510) 1.03
es2020_nullish_coalescing 67096 ns/iter (± 121) 65424 ns/iter (± 609) 1.03
es2020_optional_chaining 95663 ns/iter (± 2447) 94063 ns/iter (± 7642) 1.02
es2022_class_properties 93722 ns/iter (± 172) 92890 ns/iter (± 539) 1.01
es2018_object_rest_spread 71419 ns/iter (± 70) 70789 ns/iter (± 477) 1.01
es2019_optional_catch_binding 61047 ns/iter (± 111) 60598 ns/iter (± 416) 1.01
es2017_async_to_generator 61506 ns/iter (± 101) 60838 ns/iter (± 337) 1.01
es2016_exponentiation 65163 ns/iter (± 121) 64421 ns/iter (± 211) 1.01
es2015_arrow 69952 ns/iter (± 275) 68647 ns/iter (± 606) 1.02
es2015_block_scoped_fn 66183 ns/iter (± 172) 65709 ns/iter (± 461) 1.01
es2015_block_scoping 138225 ns/iter (± 8455) 154505 ns/iter (± 6632) 0.89
es2015_classes 116921 ns/iter (± 438) 114596 ns/iter (± 585) 1.02
es2015_computed_props 61345 ns/iter (± 105) 60615 ns/iter (± 402) 1.01
es2015_destructuring 117424 ns/iter (± 212) 115075 ns/iter (± 710) 1.02
es2015_duplicate_keys 64021 ns/iter (± 63) 64073 ns/iter (± 178) 1.00
es2015_parameters 79131 ns/iter (± 101) 78400 ns/iter (± 489) 1.01
es2015_fn_name 66778 ns/iter (± 625) 66087 ns/iter (± 278) 1.01
es2015_for_of 64451 ns/iter (± 97) 64331 ns/iter (± 423) 1.00
es2015_instanceof 63214 ns/iter (± 89) 62624 ns/iter (± 292) 1.01
es2015_shorthand_property 61122 ns/iter (± 177) 60900 ns/iter (± 502) 1.00
es2015_spread 60979 ns/iter (± 90) 60422 ns/iter (± 331) 1.01
es2015_sticky_regex 62311 ns/iter (± 68) 62574 ns/iter (± 696) 1.00
es2015_typeof_symbol 62559 ns/iter (± 123) 62337 ns/iter (± 357) 1.00
es/transform/baseline/base 51852 ns/iter (± 100) 52314 ns/iter (± 249) 0.99
es/transform/baseline/common_reserved_word 62714 ns/iter (± 104) 62650 ns/iter (± 400) 1.00
es/transform/baseline/common_typescript 143015 ns/iter (± 269) 140781 ns/iter (± 877) 1.02
es/target/es3 170485 ns/iter (± 302) 168636 ns/iter (± 859) 1.01
es/target/es2015 630968 ns/iter (± 1527) 630338 ns/iter (± 2607) 1.00
es/target/es2016 65202 ns/iter (± 115) 64752 ns/iter (± 388) 1.01
es/target/es2017 61579 ns/iter (± 157) 61933 ns/iter (± 131) 0.99
es/target/es2018 81681 ns/iter (± 111) 81061 ns/iter (± 479) 1.01
es/target/es2020 132643 ns/iter (± 302) 131383 ns/iter (± 662) 1.01
babelify-only 667786 ns/iter (± 1432) 669995 ns/iter (± 3394) 1.00
parse_and_babelify_angular 48329475 ns/iter (± 1020979) 44384983 ns/iter (± 682489) 1.09
parse_and_babelify_backbone 5643082 ns/iter (± 94411) 5511381 ns/iter (± 94292) 1.02
parse_and_babelify_jquery 34054332 ns/iter (± 759117) 32275386 ns/iter (± 438741) 1.06
parse_and_babelify_jquery_mobile 60193196 ns/iter (± 811303) 54730087 ns/iter (± 451654) 1.10
parse_and_babelify_mootools 38027642 ns/iter (± 857091) 32732485 ns/iter (± 452829) 1.16
parse_and_babelify_underscore 4409757 ns/iter (± 46445) 4478971 ns/iter (± 43211) 0.98
parse_and_babelify_yui 33362388 ns/iter (± 1931678) 32211000 ns/iter (± 659804) 1.04
html/minify/document/css_spec 41886850 ns/iter (± 685367) 41842712 ns/iter (± 226509) 1.00
html/minify/document/github 17778574 ns/iter (± 67386) 17546447 ns/iter (± 138103) 1.01
html/minify/document/stackoverflow 15954314 ns/iter (± 118615) 15603193 ns/iter (± 96709) 1.02
html/minify/document_fragment/css_spec 41489567 ns/iter (± 559513) 40185310 ns/iter (± 332719) 1.03
html/minify/document_fragment/github 17050238 ns/iter (± 27607) 16778820 ns/iter (± 78486) 1.02
html/minify/document_fragment/stackoverflow 15301090 ns/iter (± 14221) 15256643 ns/iter (± 123222) 1.00
html/document/visitor/compare/clone 339351 ns/iter (± 1996) 338089 ns/iter (± 3191) 1.00
html/document/visitor/compare/visit_mut_span 367820 ns/iter (± 2169) 369167 ns/iter (± 2056) 1.00
html/document/visitor/compare/visit_mut_span_panic 374221 ns/iter (± 1059) 368176 ns/iter (± 4116) 1.02
html/document/visitor/compare/fold_span 408802 ns/iter (± 1879) 404732 ns/iter (± 3734) 1.01
html/document/visitor/compare/fold_span_panic 468018 ns/iter (± 2345) 449512 ns/iter (± 1668) 1.04
html/document_fragment/visitor/compare/clone 340704 ns/iter (± 1568) 337898 ns/iter (± 3837) 1.01
html/document_fragment/visitor/compare/visit_mut_span 369674 ns/iter (± 1120) 362181 ns/iter (± 3618) 1.02
html/document_fragment/visitor/compare/visit_mut_span_panic 376593 ns/iter (± 1744) 372556 ns/iter (± 2343) 1.01
html/document_fragment/visitor/compare/fold_span 405219 ns/iter (± 2592) 400532 ns/iter (± 2370) 1.01
html/document_fragment/visitor/compare/fold_span_panic 463768 ns/iter (± 1843) 454928 ns/iter (± 2310) 1.02
html/lexer/css_2021_spec 15715297 ns/iter (± 8838) 15337405 ns/iter (± 138425) 1.02
html/lexer/github_com_17_05_2022 6121688 ns/iter (± 5295) 5943574 ns/iter (± 47505) 1.03
html/lexer/stackoverflow_com_17_05_2022 5685050 ns/iter (± 6303) 5482938 ns/iter (± 42292) 1.04
html/parser/parser_document/css_2021_spec 25523498 ns/iter (± 224075) 24997204 ns/iter (± 496794) 1.02
html/parser/parser_document/github_com_17_05_2022 8744452 ns/iter (± 4805) 8548730 ns/iter (± 64668) 1.02
html/parser/parser_document/stackoverflow_com_17_05_2022 7719450 ns/iter (± 17248) 7591734 ns/iter (± 45671) 1.02
html/parser/parser_document_fragment/css_2021_spec 25420083 ns/iter (± 116292) 25365799 ns/iter (± 358082) 1.00
html/parser/parser_document_fragment/github_com_17_05_2022 8749794 ns/iter (± 4893) 8735156 ns/iter (± 39999) 1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7715713 ns/iter (± 3135) 7621016 ns/iter (± 46349) 1.01

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

Please sign in to comment.