Skip to content

Commit

Permalink
refactor(plugin): Remove bytecheck flag (#7256)
Browse files Browse the repository at this point in the history
  • Loading branch information
kwonoj committed Apr 13, 2023
1 parent 604667d commit 6bd58cb
Show file tree
Hide file tree
Showing 42 changed files with 105 additions and 347 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/CI.yml
Expand Up @@ -232,7 +232,7 @@ jobs:
os: ubuntu-latest
runner: ubuntu-latest
check: |
cargo hack check --feature-powerset --no-dev-deps --exclude-features debug --exclude-features plugin --exclude-features plugin_transform_schema_v1 --exclude-features plugin_transform_schema_vtest --exclude-features plugin-bytecheck --exclude-features plugin_transform_host_js --exclude-features plugin_transform_host_native
cargo hack check --feature-powerset --no-dev-deps --exclude-features debug --exclude-features plugin --exclude-features plugin_transform_schema_v1 --exclude-features plugin_transform_schema_vtest --exclude-features plugin_transform_host_js --exclude-features plugin_transform_host_native
- crate: swc
os: windows-latest
runner: windows-latest
Expand All @@ -251,7 +251,7 @@ jobs:
os: ubuntu-latest
runner: ubuntu-latest
check: |
cargo hack check --feature-powerset --no-dev-deps --exclude-features plugin_transform_schema_vtest --exclude-features __plugin --exclude-features __plugin_mode --exclude-features __plugin_rt --exclude-features __rkyv --exclude-features plugin-bytecheck-base --exclude-features plugin-bytecheck-mode --exclude-features plugin-bytecheck-rt --exclude-features rkyv-bytecheck-impl --exclude-features rkyv-impl
cargo hack check --feature-powerset --no-dev-deps --exclude-features plugin_transform_schema_vtest --exclude-features __plugin --exclude-features __plugin_mode --exclude-features __plugin_rt --exclude-features __rkyv --exclude-features rkyv-impl
- crate: swc_common
os: windows-latest
runner: windows-latest
Expand Down Expand Up @@ -310,7 +310,7 @@ jobs:
os: ubuntu-latest
runner: ubuntu-latest
check: |
cargo hack check --feature-powerset --no-dev-deps --exclude-features __rkyv --exclude-features rkyv-bytecheck-impl
cargo hack check --feature-powerset --no-dev-deps --exclude-features __rkyv
- crate: swc_ecma_codegen
os: ubuntu-latest
runner: ubuntu-latest
Expand Down
8 changes: 0 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 0 additions & 8 deletions bindings/binding_core_node/Cargo.toml
Expand Up @@ -18,14 +18,6 @@ plugin = ["swc_core/plugin_transform_host_native"]
swc_v1 = ["swc_core/bundler_node_v1"]
swc_v2 = ["swc_core/bundler_node_v2"]

# Experiemntal bytechecked plugin serialization / deserialization.
plugin_bytecheck = [
# We know what we're doing - enable internal features for the host plugin setup.
# "swc_core/__plugin_transform_host_bytecheck",
"swc_core/__plugin_transform_host_schema_v1",
"swc_core/__plugin_transform_env_native",
]

# Internal flag for testing purpose only.
__plugin_transform_vtest = [
# We know what we're doing - enable internal features for testing fixture setup.
Expand Down
24 changes: 0 additions & 24 deletions crates/ast_node/src/lib.rs
Expand Up @@ -207,24 +207,13 @@ pub fn ast_node(
feature = "rkyv-impl",
derive(rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)
)]
#[cfg_attr(
feature = "rkyv-bytecheck-impl",
derive(rkyv_latest::Archive, rkyv_latest::Serialize, rkyv_latest::Deserialize)
)]
#[cfg_attr(
feature = "rkyv-impl",
archive(bound(
serialize = "__S: rkyv::ser::Serializer + rkyv::ser::ScratchSpace + rkyv::ser::SharedSerializeRegistry",
deserialize = "__D: rkyv::de::SharedDeserializeRegistry"
))
)]
#[cfg_attr(
feature = "rkyv-bytecheck-impl",
archive(bound(
serialize = "__S: rkyv_latest::ser::Serializer + rkyv_latest::ser::ScratchSpace + rkyv_latest::ser::SharedSerializeRegistry",
deserialize = "__D: rkyv_latest::de::SharedDeserializeRegistry"
))
)]
#[cfg_attr(
feature = "serde-impl",
serde(untagged)
Expand Down Expand Up @@ -283,10 +272,6 @@ pub fn ast_node(
feature = "rkyv-impl",
derive(rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)
)]
#[cfg_attr(
feature = "rkyv-bytecheck-impl",
derive(rkyv_latest::Archive, rkyv_latest::Serialize, rkyv_latest::Deserialize)
)]
#[cfg_attr(
feature = "rkyv-impl",
archive(
Expand All @@ -296,15 +281,6 @@ pub fn ast_node(
)
)
)]
#[cfg_attr(
feature = "rkyv-bytecheck-impl",
archive(
bound(
serialize = "__S: rkyv_latest::ser::Serializer + rkyv_latest::ser::ScratchSpace + rkyv_latest::ser::SharedSerializeRegistry",
deserialize = "__D: rkyv_latest::de::SharedDeserializeRegistry"
)
)
)]
serde_tag
#[cfg_attr(
feature = "serde-impl",
Expand Down
4 changes: 0 additions & 4 deletions crates/swc/Cargo.toml
Expand Up @@ -33,10 +33,6 @@ plugin = [
"swc_plugin_runner/rkyv-impl",
"swc_plugin_proxy/plugin-rt",
]
plugin-bytecheck = [
"swc_plugin_runner/rkyv-bytecheck-impl",
"swc_plugin_proxy/plugin-bytecheck-rt",
]
plugin_transform_schema_v1 = [
"swc_common/plugin_transform_schema_v1",
"swc_plugin_runner/plugin_transform_schema_v1",
Expand Down
17 changes: 4 additions & 13 deletions crates/swc/src/config/mod.rs
@@ -1,8 +1,5 @@
#![cfg_attr(
any(
not(any(feature = "plugin", feature = "plugin-bytecheck")),
target_arch = "wasm32"
),
any(not(any(feature = "plugin")), target_arch = "wasm32"),
allow(unused)
)]
use std::{
Expand Down Expand Up @@ -617,10 +614,7 @@ impl Options {
// Embedded runtime plugin target, based on assumption we have
// 1. filesystem access for the cache
// 2. embedded runtime can compiles & execute wasm
#[cfg(all(
any(feature = "plugin", feature = "plugin-bytecheck"),
not(target_arch = "wasm32")
))]
#[cfg(all(any(feature = "plugin"), not(target_arch = "wasm32")))]
let plugins = {
let plugin_resolver = CachingResolver::new(
40,
Expand Down Expand Up @@ -659,10 +653,7 @@ impl Options {
// 1. no filesystem access, loading binary / cache management should be
// performed externally
// 2. native runtime compiles & execute wasm (i.e v8 on node, chrome)
#[cfg(all(
any(feature = "plugin", feature = "plugin-bytecheck"),
target_arch = "wasm32"
))]
#[cfg(all(any(feature = "plugin"), target_arch = "wasm32"))]
let plugins = {
let transform_filename = match base {
FileName::Real(path) => path.as_os_str().to_str().map(String::from),
Expand All @@ -689,7 +680,7 @@ impl Options {
)
};

#[cfg(not(any(feature = "plugin", feature = "plugin-bytecheck")))]
#[cfg(not(any(feature = "plugin")))]
let plugins = crate::plugin::plugins();

let pass = chain!(
Expand Down
29 changes: 10 additions & 19 deletions crates/swc/src/plugin.rs
Expand Up @@ -2,18 +2,15 @@
//! expressions at the moment.

#![cfg_attr(
any(
not(any(feature = "plugin", feature = "plugin-bytecheck")),
target_arch = "wasm32"
),
any(not(any(feature = "plugin")), target_arch = "wasm32"),
allow(unused)
)]

use serde::{Deserialize, Serialize};
#[cfg(any(feature = "plugin", feature = "plugin-bytecheck"))]
#[cfg(any(feature = "plugin"))]
use swc_ecma_ast::*;
use swc_ecma_loader::resolvers::{lru::CachingResolver, node::NodeModulesResolver};
#[cfg(not(any(feature = "plugin", feature = "plugin-bytecheck")))]
#[cfg(not(any(feature = "plugin")))]
use swc_ecma_transforms::pass::noop;
use swc_ecma_visit::{noop_fold_type, Fold};

Expand All @@ -27,7 +24,7 @@ use swc_ecma_visit::{noop_fold_type, Fold};
#[serde(deny_unknown_fields, rename_all = "camelCase")]
pub struct PluginConfig(pub String, pub serde_json::Value);

#[cfg(any(feature = "plugin", feature = "plugin-bytecheck"))]
#[cfg(any(feature = "plugin"))]
pub fn plugins(
configured_plugins: Option<Vec<PluginConfig>>,
metadata_context: std::sync::Arc<swc_common::plugin::metadata::TransformPluginMetadataContext>,
Expand All @@ -48,7 +45,7 @@ pub fn plugins(
}
}

#[cfg(not(any(feature = "plugin", feature = "plugin-bytecheck")))]
#[cfg(not(any(feature = "plugin")))]
pub fn plugins() -> impl Fold {
noop()
}
Expand All @@ -63,7 +60,7 @@ struct RustPlugins {
}

impl RustPlugins {
#[cfg(any(feature = "plugin", feature = "plugin-bytecheck"))]
#[cfg(any(feature = "plugin"))]
fn apply(&mut self, n: Program) -> Result<Program, anyhow::Error> {
use anyhow::Context;
if self.plugins.is_none() || self.plugins.as_ref().unwrap().is_empty() {
Expand All @@ -79,10 +76,7 @@ impl RustPlugins {
}

#[tracing::instrument(level = "info", skip_all, name = "apply_plugins")]
#[cfg(all(
any(feature = "plugin", feature = "plugin-bytecheck"),
not(target_arch = "wasm32")
))]
#[cfg(all(any(feature = "plugin"), not(target_arch = "wasm32")))]
fn apply_inner(&mut self, n: Program) -> Result<Program, anyhow::Error> {
use std::{path::PathBuf, sync::Arc};

Expand Down Expand Up @@ -167,10 +161,7 @@ impl RustPlugins {
)
}

#[cfg(all(
any(feature = "plugin", feature = "plugin-bytecheck"),
target_arch = "wasm32"
))]
#[cfg(all(any(feature = "plugin"), target_arch = "wasm32"))]
#[tracing::instrument(level = "info", skip_all)]
fn apply_inner(&mut self, n: Program) -> Result<Program, anyhow::Error> {
use std::{path::PathBuf, sync::Arc};
Expand Down Expand Up @@ -222,14 +213,14 @@ impl RustPlugins {
impl Fold for RustPlugins {
noop_fold_type!();

#[cfg(any(feature = "plugin", feature = "plugin-bytecheck"))]
#[cfg(any(feature = "plugin"))]
fn fold_module(&mut self, n: Module) -> Module {
self.apply(Program::Module(n))
.expect("failed to invoke plugin")
.expect_module()
}

#[cfg(any(feature = "plugin", feature = "plugin-bytecheck"))]
#[cfg(any(feature = "plugin"))]
fn fold_script(&mut self, n: Script) -> Script {
self.apply(Program::Script(n))
.expect("failed to invoke plugin")
Expand Down
11 changes: 1 addition & 10 deletions crates/swc_atoms/Cargo.toml
Expand Up @@ -13,24 +13,15 @@ version = "0.5.1"
bench = false

[features]
__rkyv = []
# Enably rkyv serialization with stable version of rkyv.
__rkyv = []
rkyv-impl = ["__rkyv", "rkyv"]
# Enable rkyv serialization with updated version of rkyv, along with bytecheck.
rkyv-bytecheck-impl = ["__rkyv", "rkyv-latest"]

[dependencies]
bytecheck = { version = "0.6.9", optional = true }
once_cell = "1"
rkyv = { package = "rkyv", version = "=0.7.40", optional = true, features = [
"strict",
"validation",
] }
# This is to avoid cargo version selection conflict between rkyv=0.7.40 and other versions, as it is strictly pinned
# cannot be merged.
rkyv-latest = { package = "rkyv-test", version = "=0.7.38-test.2", optional = true, features = [
"strict",
] }
rustc-hash = "1.1.0"
serde = "1"
string_cache = "0.8.7"
Expand Down
3 changes: 0 additions & 3 deletions crates/swc_atoms/build.rs
@@ -1,8 +1,5 @@
use std::{env, path::Path};

#[cfg(all(feature = "rkyv-impl", feature = "rkyv-bytecheck-impl"))]
compile_error!("Cannot enable bytechcked, non-bytechecked rkyv both");

fn main() {
let strs = include_str!("words.txt")
.lines()
Expand Down
2 changes: 0 additions & 2 deletions crates/swc_atoms/src/lib.rs
Expand Up @@ -14,8 +14,6 @@ use std::{
rc::Rc,
};

#[cfg(feature = "rkyv-bytecheck-impl")]
use rkyv_latest as rkyv;
use rustc_hash::FxHashSet;
use serde::Serializer;
use triomphe::{Arc, HeaderWithLength, ThinArc};
Expand Down
15 changes: 1 addition & 14 deletions crates/swc_common/Cargo.toml
Expand Up @@ -28,32 +28,19 @@ plugin-base = ["__plugin", "anyhow", "rkyv-impl", "diagnostic-serde"]
plugin-mode = ["__plugin_mode", "plugin-base"]
plugin-rt = ["__plugin_rt", "plugin-base"]

plugin-bytecheck-base = [
"__plugin",
"anyhow",
"rkyv-bytecheck-impl",
"diagnostic-serde",
]
plugin-bytecheck-mode = ["__plugin_mode", "plugin-bytecheck-base"]
plugin-bytecheck-rt = ["__plugin_rt", "plugin-bytecheck-base"]

plugin_transform_schema_v1 = []
plugin_transform_schema_vtest = []

tty-emitter = ["atty", "termcolor"]

__rkyv = []
# Enably rkyv serialization with stable version of rkyv.
__rkyv = []
rkyv-impl = ["__rkyv", "rkyv", "swc_atoms/rkyv-impl"]
# Enable rkyv serialization with updated version of rkyv, along with bytecheck.
rkyv-bytecheck-impl = ["__rkyv", "rkyv-latest", "swc_atoms/rkyv-bytecheck-impl"]

[dependencies]
ahash = "0.7.4"
anyhow = { version = "1.0.45", optional = true }
arbitrary = { version = "1", optional = true, features = ["derive"] }
atty = { version = "0.2", optional = true }
bytecheck = { version = "0.6.9", optional = true }
cfg-if = "1.0.0"
either = "1.5"
new_debug_unreachable = "1.0.4"
Expand Down
6 changes: 2 additions & 4 deletions crates/swc_common/src/comments.rs
Expand Up @@ -4,8 +4,6 @@ use std::{
sync::Arc,
};

#[cfg(feature = "rkyv-bytecheck-impl")]
use rkyv_latest as rkyv;
use rustc_hash::FxHashMap;
use swc_atoms::{atom, Atom};

Expand Down Expand Up @@ -545,7 +543,7 @@ impl SingleThreadedComments {

#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(
any(feature = "rkyv-impl", feature = "rkyv-bytecheck-impl"),
any(feature = "rkyv-impl"),
derive(rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)
)]
pub struct Comment {
Expand All @@ -563,7 +561,7 @@ impl Spanned for Comment {

#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[cfg_attr(
any(feature = "rkyv-impl", feature = "rkyv-bytecheck-impl"),
any(feature = "rkyv-impl"),
derive(rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)
)]
pub enum CommentKind {
Expand Down

1 comment on commit 6bd58cb

@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: 6bd58cb Previous: a44fea1 Ratio
es/full/bugs-1 298495 ns/iter (± 6197) 321627 ns/iter (± 16870) 0.93
es/full/minify/libraries/antd 1553936772 ns/iter (± 40706121) 1562282824 ns/iter (± 22363391) 0.99
es/full/minify/libraries/d3 288676021 ns/iter (± 9958047) 309762723 ns/iter (± 8618615) 0.93
es/full/minify/libraries/echarts 1194500108 ns/iter (± 19102803) 1214217603 ns/iter (± 11172791) 0.98
es/full/minify/libraries/jquery 88704592 ns/iter (± 729564) 90816328 ns/iter (± 1518822) 0.98
es/full/minify/libraries/lodash 104089351 ns/iter (± 1187075) 107733143 ns/iter (± 1883081) 0.97
es/full/minify/libraries/moment 50741725 ns/iter (± 705622) 52807734 ns/iter (± 466518) 0.96
es/full/minify/libraries/react 18836330 ns/iter (± 90885) 19452493 ns/iter (± 355120) 0.97
es/full/minify/libraries/terser 235690545 ns/iter (± 1897047) 244036265 ns/iter (± 3832527) 0.97
es/full/minify/libraries/three 420909162 ns/iter (± 4757787) 435998234 ns/iter (± 8855533) 0.97
es/full/minify/libraries/typescript 3049413715 ns/iter (± 44863363) 2945507478 ns/iter (± 19015204) 1.04
es/full/minify/libraries/victory 638311213 ns/iter (± 9155696) 647450600 ns/iter (± 12982972) 0.99
es/full/minify/libraries/vue 126746902 ns/iter (± 710254) 130674464 ns/iter (± 1196927) 0.97
es/full/codegen/es3 28427 ns/iter (± 261) 28677 ns/iter (± 65) 0.99
es/full/codegen/es5 28819 ns/iter (± 98) 28866 ns/iter (± 70) 1.00
es/full/codegen/es2015 28351 ns/iter (± 108) 28792 ns/iter (± 66) 0.98
es/full/codegen/es2016 28421 ns/iter (± 253) 28821 ns/iter (± 102) 0.99
es/full/codegen/es2017 28337 ns/iter (± 141) 28767 ns/iter (± 53) 0.99
es/full/codegen/es2018 28471 ns/iter (± 181) 28761 ns/iter (± 68) 0.99
es/full/codegen/es2019 28472 ns/iter (± 148) 28738 ns/iter (± 39) 0.99
es/full/codegen/es2020 28410 ns/iter (± 148) 28800 ns/iter (± 84) 0.99
es/full/all/es3 182997716 ns/iter (± 4106883) 184757716 ns/iter (± 2603690) 0.99
es/full/all/es5 174773459 ns/iter (± 2469689) 174877409 ns/iter (± 2234745) 1.00
es/full/all/es2015 133079221 ns/iter (± 1960687) 135586840 ns/iter (± 2275650) 0.98
es/full/all/es2016 132679673 ns/iter (± 2082787) 134439221 ns/iter (± 1540759) 0.99
es/full/all/es2017 131105991 ns/iter (± 2801620) 132618432 ns/iter (± 2122569) 0.99
es/full/all/es2018 126475237 ns/iter (± 2032071) 128777947 ns/iter (± 1741175) 0.98
es/full/all/es2019 124593317 ns/iter (± 2132541) 126836499 ns/iter (± 1404964) 0.98
es/full/all/es2020 117603219 ns/iter (± 1808834) 119890145 ns/iter (± 1634846) 0.98
es/full/parser 507961 ns/iter (± 9807) 516626 ns/iter (± 7334) 0.98
es/full/base/fixer 23596 ns/iter (± 126) 22711 ns/iter (± 33) 1.04
es/full/base/resolver_and_hygiene 83372 ns/iter (± 622) 84982 ns/iter (± 167) 0.98
serialization of serde 123 ns/iter (± 0) 125 ns/iter (± 0) 0.98
css/minify/libraries/bootstrap 27270465 ns/iter (± 122479) 27740219 ns/iter (± 170878) 0.98
css/visitor/compare/clone 2105204 ns/iter (± 20875) 2102054 ns/iter (± 6027) 1.00
css/visitor/compare/visit_mut_span 2251807 ns/iter (± 10560) 2321407 ns/iter (± 9029) 0.97
css/visitor/compare/visit_mut_span_panic 2313877 ns/iter (± 8611) 2362299 ns/iter (± 5053) 0.98
css/visitor/compare/fold_span 3042018 ns/iter (± 20213) 3091433 ns/iter (± 12084) 0.98
css/visitor/compare/fold_span_panic 3203322 ns/iter (± 24223) 3264311 ns/iter (± 14972) 0.98
css/lexer/bootstrap_5_1_3 5076848 ns/iter (± 57817) 5134481 ns/iter (± 2971) 0.99
css/lexer/foundation_6_7_4 4261991 ns/iter (± 15298) 4334645 ns/iter (± 5976) 0.98
css/lexer/tailwind_3_1_1 820540 ns/iter (± 4694) 822617 ns/iter (± 811) 1.00
css/parser/bootstrap_5_1_3 20745173 ns/iter (± 183296) 21004371 ns/iter (± 160406) 0.99
css/parser/foundation_6_7_4 16441736 ns/iter (± 82709) 16710794 ns/iter (± 46687) 0.98
css/parser/tailwind_3_1_1 3193023 ns/iter (± 25999) 3240105 ns/iter (± 4425) 0.99
es/codegen/colors 327436 ns/iter (± 183889) 328269 ns/iter (± 185596) 1.00
es/codegen/large 1246224 ns/iter (± 640279) 1254198 ns/iter (± 658348) 0.99
es/codegen/with-parser/colors 46818 ns/iter (± 543) 47217 ns/iter (± 286) 0.99
es/codegen/with-parser/large 505439 ns/iter (± 3470) 512148 ns/iter (± 1717) 0.99
es/minify/libraries/antd 1367694798 ns/iter (± 24172332) 1342774017 ns/iter (± 17838871) 1.02
es/minify/libraries/d3 248170903 ns/iter (± 17177899) 252237294 ns/iter (± 2716727) 0.98
es/minify/libraries/echarts 1045989589 ns/iter (± 10321625) 1025233343 ns/iter (± 11360448) 1.02
es/minify/libraries/jquery 78594653 ns/iter (± 1088018) 80150811 ns/iter (± 1502732) 0.98
es/minify/libraries/lodash 93082513 ns/iter (± 1191939) 95368834 ns/iter (± 1200564) 0.98
es/minify/libraries/moment 44850062 ns/iter (± 500669) 46121629 ns/iter (± 438334) 0.97
es/minify/libraries/react 16829499 ns/iter (± 155628) 17200270 ns/iter (± 221050) 0.98
es/minify/libraries/terser 203349553 ns/iter (± 3904025) 211084374 ns/iter (± 3538709) 0.96
es/minify/libraries/three 342503489 ns/iter (± 5091475) 357384225 ns/iter (± 5068194) 0.96
es/minify/libraries/typescript 2536048328 ns/iter (± 20842462) 2494169630 ns/iter (± 15026270) 1.02
es/minify/libraries/victory 540529518 ns/iter (± 16293101) 553995721 ns/iter (± 10930661) 0.98
es/minify/libraries/vue 115233348 ns/iter (± 2673382) 115366493 ns/iter (± 712142) 1.00
es/visitor/compare/clone 2273354 ns/iter (± 25486) 2315161 ns/iter (± 7852) 0.98
es/visitor/compare/visit_mut_span 2632143 ns/iter (± 7780) 2693103 ns/iter (± 3039) 0.98
es/visitor/compare/visit_mut_span_panic 2718382 ns/iter (± 8747) 2738488 ns/iter (± 3705) 0.99
es/visitor/compare/fold_span 3809012 ns/iter (± 25550) 3792718 ns/iter (± 5431) 1.00
es/visitor/compare/fold_span_panic 3867484 ns/iter (± 15563) 3926577 ns/iter (± 11462) 0.98
es/lexer/colors 13000 ns/iter (± 84) 13269 ns/iter (± 38) 0.98
es/lexer/angular 6250042 ns/iter (± 24219) 6364330 ns/iter (± 10092) 0.98
es/lexer/backbone 772904 ns/iter (± 3814) 788193 ns/iter (± 925) 0.98
es/lexer/jquery 4393357 ns/iter (± 22188) 4411043 ns/iter (± 4891) 1.00
es/lexer/jquery mobile 6777423 ns/iter (± 66130) 6891729 ns/iter (± 3733) 0.98
es/lexer/mootools 3393303 ns/iter (± 20374) 3466980 ns/iter (± 3097) 0.98
es/lexer/underscore 649048 ns/iter (± 2035) 651874 ns/iter (± 563) 1.00
es/lexer/three 20704362 ns/iter (± 107505) 20869632 ns/iter (± 37289) 0.99
es/lexer/yui 3836399 ns/iter (± 13972) 3868671 ns/iter (± 3058) 0.99
es/parser/colors 28980 ns/iter (± 199) 29324 ns/iter (± 39) 0.99
es/parser/angular 14718771 ns/iter (± 158858) 15042745 ns/iter (± 178688) 0.98
es/parser/backbone 2138787 ns/iter (± 15414) 2159993 ns/iter (± 10468) 0.99
es/parser/jquery 11648101 ns/iter (± 110613) 11713776 ns/iter (± 112865) 0.99
es/parser/jquery mobile 18135862 ns/iter (± 145469) 18298846 ns/iter (± 93563) 0.99
es/parser/mootools 8874988 ns/iter (± 118277) 8970302 ns/iter (± 30585) 0.99
es/parser/underscore 1801848 ns/iter (± 7075) 1823666 ns/iter (± 11212) 0.99
es/parser/three 52021002 ns/iter (± 1382751) 53741207 ns/iter (± 371018) 0.97
es/parser/yui 8944806 ns/iter (± 118757) 9039571 ns/iter (± 70675) 0.99
es/preset-env/usage/builtin_type 141362 ns/iter (± 34965) 141827 ns/iter (± 34729) 1.00
es/preset-env/usage/property 19726 ns/iter (± 141) 20241 ns/iter (± 98) 0.97
es/resolver/typescript 116194619 ns/iter (± 1365314) 110812529 ns/iter (± 3964694) 1.05
es/fixer/typescript 84891233 ns/iter (± 2335190) 79063631 ns/iter (± 549409) 1.07
es/hygiene/typescript 175445520 ns/iter (± 2634715) 167250090 ns/iter (± 1448387) 1.05
es/resolver_with_hygiene/typescript 313120790 ns/iter (± 7777329) 303995859 ns/iter (± 2665938) 1.03
es/visitor/base-perf/module_clone 80394 ns/iter (± 637) 81553 ns/iter (± 330) 0.99
es/visitor/base-perf/fold_empty 89311 ns/iter (± 563) 90573 ns/iter (± 285) 0.99
es/visitor/base-perf/fold_noop_impl_all 89198 ns/iter (± 466) 90666 ns/iter (± 467) 0.98
es/visitor/base-perf/fold_noop_impl_vec 89949 ns/iter (± 469) 90686 ns/iter (± 508) 0.99
es/visitor/base-perf/boxing_boxed_clone 56 ns/iter (± 0) 56 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed_clone 42 ns/iter (± 0) 42 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 107 ns/iter (± 0) 102 ns/iter (± 0) 1.05
es/visitor/base-perf/boxing_unboxed 83 ns/iter (± 0) 78 ns/iter (± 0) 1.06
es/visitor/base-perf/visit_contains_this 3395 ns/iter (± 67) 3502 ns/iter (± 73) 0.97
es/base/parallel/resolver/typescript 6424860610 ns/iter (± 533272038) 5640906172 ns/iter (± 241261595) 1.14
es/base/parallel/hygiene/typescript 2164716380 ns/iter (± 23090290) 1983362158 ns/iter (± 39814403) 1.09
misc/visitors/time-complexity/time 5 96 ns/iter (± 0) 98 ns/iter (± 0) 0.98
misc/visitors/time-complexity/time 10 325 ns/iter (± 2) 332 ns/iter (± 5) 0.98
misc/visitors/time-complexity/time 15 660 ns/iter (± 31) 655 ns/iter (± 19) 1.01
misc/visitors/time-complexity/time 20 1265 ns/iter (± 50) 1228 ns/iter (± 22) 1.03
misc/visitors/time-complexity/time 40 6494 ns/iter (± 43) 6548 ns/iter (± 9) 0.99
misc/visitors/time-complexity/time 60 16730 ns/iter (± 130) 17185 ns/iter (± 105) 0.97
es/full-target/es2016 250266 ns/iter (± 1731) 253822 ns/iter (± 568) 0.99
es/full-target/es2017 245619 ns/iter (± 724) 246893 ns/iter (± 342) 0.99
es/full-target/es2018 234830 ns/iter (± 685) 236584 ns/iter (± 485) 0.99
es2020_nullish_coalescing 92211 ns/iter (± 890) 92950 ns/iter (± 280) 0.99
es2020_optional_chaining 124446 ns/iter (± 346) 124885 ns/iter (± 354) 1.00
es2022_class_properties 147751 ns/iter (± 578) 149840 ns/iter (± 253) 0.99
es2018_object_rest_spread 94916 ns/iter (± 687) 96810 ns/iter (± 124) 0.98
es2019_optional_catch_binding 84337 ns/iter (± 541) 86097 ns/iter (± 127) 0.98
es2017_async_to_generator 84899 ns/iter (± 596) 86399 ns/iter (± 221) 0.98
es2016_exponentiation 89766 ns/iter (± 853) 90574 ns/iter (± 270) 0.99
es2015_arrow 92252 ns/iter (± 475) 93994 ns/iter (± 306) 0.98
es2015_block_scoped_fn 90484 ns/iter (± 332) 92516 ns/iter (± 314) 0.98
es2015_block_scoping 169086 ns/iter (± 517) 170345 ns/iter (± 257) 0.99

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

Please sign in to comment.