mirror of
https://github.com/swc-project/swc.git
synced 2024-12-23 21:54:36 +03:00
chore(ci): Fix benchmark action (#6582)
This commit is contained in:
parent
6e5abdd9cc
commit
d8adc58011
@ -13,3 +13,6 @@ indexmap = "1.6.1"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
swc_config_macro = { version = "0.1.0", path = "../swc_config_macro" }
|
||||
|
||||
[lib]
|
||||
bench = false
|
||||
|
@ -9,6 +9,7 @@ repository = "https://github.com/swc-project/swc.git"
|
||||
version = "0.1.0"
|
||||
|
||||
[lib]
|
||||
bench = false
|
||||
proc-macro = true
|
||||
|
||||
[dependencies]
|
||||
|
@ -7,8 +7,8 @@ license = "Apache-2.0"
|
||||
name = "swc_core"
|
||||
repository = "https://github.com/swc-project/swc.git"
|
||||
version = "0.46.2"
|
||||
[package.metadata.docs.rs]
|
||||
features = [
|
||||
[package.metadata.docs.rs]
|
||||
features = [
|
||||
"common_perf",
|
||||
"allocator_node",
|
||||
"base",
|
||||
@ -23,10 +23,11 @@ features = [
|
||||
"ecma_ast",
|
||||
"trace_macro",
|
||||
"plugin_transform",
|
||||
]
|
||||
rustdoc-args = ["--cfg", "docsrs"]
|
||||
]
|
||||
rustdoc-args = ["--cfg", "docsrs"]
|
||||
|
||||
[lib]
|
||||
bench = false
|
||||
doctest = false
|
||||
|
||||
[features]
|
||||
@ -331,56 +332,56 @@ __visit = ["__ecma", "swc_ecma_visit"]
|
||||
|
||||
[dependencies]
|
||||
# 3rd party dependencies
|
||||
once_cell = {optional = true, version = "1.13.0"}
|
||||
wasmer = {optional = true, version = "2.3.0", default-features = false}
|
||||
wasmer-wasi = {optional = true, version = "2.3.0", default-features = false}
|
||||
once_cell = { optional = true, version = "1.13.0" }
|
||||
wasmer = { optional = true, version = "2.3.0", default-features = false }
|
||||
wasmer-wasi = { optional = true, version = "2.3.0", default-features = false }
|
||||
|
||||
# swc_* dependencies
|
||||
binding_macros = {optional = true, version = "0.22.2", path = "../binding_macros"}
|
||||
swc = {optional = true, version = "0.234.2", path = "../swc"}
|
||||
swc_atoms = {optional = true, version = "0.4.25", path = "../swc_atoms"}
|
||||
swc_bundler = {optional = true, version = "0.193.6", path = "../swc_bundler"}
|
||||
swc_cached = {optional = true, version = "0.3.15", path = "../swc_cached"}
|
||||
swc_common = {optional = true, version = "0.29.19", path = "../swc_common"}
|
||||
swc_css_ast = {optional = true, version = "0.129.2", path = "../swc_css_ast"}
|
||||
swc_css_codegen = {optional = true, version = "0.139.2", path = "../swc_css_codegen"}
|
||||
swc_css_minifier = {optional = true, version = "0.104.2", path = "../swc_css_minifier"}
|
||||
swc_css_modules = {optional = true, version = "0.15.2", path = "../swc_css_modules"}
|
||||
swc_css_parser = {optional = true, version = "0.138.2", path = "../swc_css_parser"}
|
||||
swc_css_prefixer = {optional = true, version = "0.140.2", path = "../swc_css_prefixer"}
|
||||
swc_css_utils = {optional = true, version = "0.126.2", path = "../swc_css_utils/"}
|
||||
swc_css_visit = {optional = true, version = "0.128.2", path = "../swc_css_visit"}
|
||||
swc_ecma_ast = {optional = true, version = "0.95.3", path = "../swc_ecma_ast"}
|
||||
swc_ecma_codegen = {optional = true, version = "0.128.5", path = "../swc_ecma_codegen"}
|
||||
swc_ecma_loader = {optional = true, version = "0.41.20", path = "../swc_ecma_loader"}
|
||||
swc_ecma_minifier = {optional = true, version = "0.160.6", path = "../swc_ecma_minifier"}
|
||||
swc_ecma_parser = {optional = true, version = "0.123.5", path = "../swc_ecma_parser"}
|
||||
swc_ecma_preset_env = {optional = true, version = "0.175.5", path = "../swc_ecma_preset_env"}
|
||||
swc_ecma_quote_macros = {optional = true, version = "0.34.5", path = "../swc_ecma_quote_macros"}
|
||||
swc_ecma_transforms_base = {optional = true, version = "0.112.5", path = "../swc_ecma_transforms_base"}
|
||||
swc_ecma_transforms_compat = {optional = true, version = "0.137.5", path = "../swc_ecma_transforms_compat"}
|
||||
swc_ecma_transforms_module = {optional = true, version = "0.154.5", path = "../swc_ecma_transforms_module"}
|
||||
swc_ecma_transforms_optimization = {optional = true, version = "0.168.5", path = "../swc_ecma_transforms_optimization"}
|
||||
swc_ecma_transforms_proposal = {optional = true, version = "0.145.5", path = "../swc_ecma_transforms_proposal"}
|
||||
swc_ecma_transforms_react = {optional = true, version = "0.156.5", path = "../swc_ecma_transforms_react"}
|
||||
swc_ecma_transforms_testing = {optional = true, version = "0.115.6", path = "../swc_ecma_transforms_testing"}
|
||||
swc_ecma_transforms_typescript = {optional = true, version = "0.160.5", path = "../swc_ecma_transforms_typescript"}
|
||||
swc_ecma_utils = {optional = true, version = "0.106.5", path = "../swc_ecma_utils"}
|
||||
swc_ecma_visit = {optional = true, version = "0.81.3", path = "../swc_ecma_visit"}
|
||||
swc_node_base = {optional = true, version = "0.5.8", path = "../swc_node_base"}
|
||||
swc_node_bundler = {optional = true, version = "0.20.2", path = "../swc_node_bundler"}
|
||||
swc_nodejs_common = {optional = true, version = "0.0.4", path = "../swc_nodejs_common"}
|
||||
swc_plugin = {optional = true, version = "0.90.0", path = "../swc_plugin"}
|
||||
swc_plugin_macro = {optional = true, version = "0.9.10", path = "../swc_plugin_macro"}
|
||||
swc_plugin_proxy = {optional = true, version = "0.23.3", path = "../swc_plugin_proxy"}
|
||||
swc_trace_macro = {optional = true, version = "0.1.2", path = "../swc_trace_macro"}
|
||||
testing = {optional = true, version = "0.31.20", path = "../testing"}
|
||||
binding_macros = { optional = true, version = "0.22.2", path = "../binding_macros" }
|
||||
swc = { optional = true, version = "0.234.2", path = "../swc" }
|
||||
swc_atoms = { optional = true, version = "0.4.25", path = "../swc_atoms" }
|
||||
swc_bundler = { optional = true, version = "0.193.6", path = "../swc_bundler" }
|
||||
swc_cached = { optional = true, version = "0.3.15", path = "../swc_cached" }
|
||||
swc_common = { optional = true, version = "0.29.19", path = "../swc_common" }
|
||||
swc_css_ast = { optional = true, version = "0.129.2", path = "../swc_css_ast" }
|
||||
swc_css_codegen = { optional = true, version = "0.139.2", path = "../swc_css_codegen" }
|
||||
swc_css_minifier = { optional = true, version = "0.104.2", path = "../swc_css_minifier" }
|
||||
swc_css_modules = { optional = true, version = "0.15.2", path = "../swc_css_modules" }
|
||||
swc_css_parser = { optional = true, version = "0.138.2", path = "../swc_css_parser" }
|
||||
swc_css_prefixer = { optional = true, version = "0.140.2", path = "../swc_css_prefixer" }
|
||||
swc_css_utils = { optional = true, version = "0.126.2", path = "../swc_css_utils/" }
|
||||
swc_css_visit = { optional = true, version = "0.128.2", path = "../swc_css_visit" }
|
||||
swc_ecma_ast = { optional = true, version = "0.95.3", path = "../swc_ecma_ast" }
|
||||
swc_ecma_codegen = { optional = true, version = "0.128.5", path = "../swc_ecma_codegen" }
|
||||
swc_ecma_loader = { optional = true, version = "0.41.20", path = "../swc_ecma_loader" }
|
||||
swc_ecma_minifier = { optional = true, version = "0.160.6", path = "../swc_ecma_minifier" }
|
||||
swc_ecma_parser = { optional = true, version = "0.123.5", path = "../swc_ecma_parser" }
|
||||
swc_ecma_preset_env = { optional = true, version = "0.175.5", path = "../swc_ecma_preset_env" }
|
||||
swc_ecma_quote_macros = { optional = true, version = "0.34.5", path = "../swc_ecma_quote_macros" }
|
||||
swc_ecma_transforms_base = { optional = true, version = "0.112.5", path = "../swc_ecma_transforms_base" }
|
||||
swc_ecma_transforms_compat = { optional = true, version = "0.137.5", path = "../swc_ecma_transforms_compat" }
|
||||
swc_ecma_transforms_module = { optional = true, version = "0.154.5", path = "../swc_ecma_transforms_module" }
|
||||
swc_ecma_transforms_optimization = { optional = true, version = "0.168.5", path = "../swc_ecma_transforms_optimization" }
|
||||
swc_ecma_transforms_proposal = { optional = true, version = "0.145.5", path = "../swc_ecma_transforms_proposal" }
|
||||
swc_ecma_transforms_react = { optional = true, version = "0.156.5", path = "../swc_ecma_transforms_react" }
|
||||
swc_ecma_transforms_testing = { optional = true, version = "0.115.6", path = "../swc_ecma_transforms_testing" }
|
||||
swc_ecma_transforms_typescript = { optional = true, version = "0.160.5", path = "../swc_ecma_transforms_typescript" }
|
||||
swc_ecma_utils = { optional = true, version = "0.106.5", path = "../swc_ecma_utils" }
|
||||
swc_ecma_visit = { optional = true, version = "0.81.3", path = "../swc_ecma_visit" }
|
||||
swc_node_base = { optional = true, version = "0.5.8", path = "../swc_node_base" }
|
||||
swc_node_bundler = { optional = true, version = "0.20.2", path = "../swc_node_bundler" }
|
||||
swc_nodejs_common = { optional = true, version = "0.0.4", path = "../swc_nodejs_common" }
|
||||
swc_plugin = { optional = true, version = "0.90.0", path = "../swc_plugin" }
|
||||
swc_plugin_macro = { optional = true, version = "0.9.10", path = "../swc_plugin_macro" }
|
||||
swc_plugin_proxy = { optional = true, version = "0.23.3", path = "../swc_plugin_proxy" }
|
||||
swc_trace_macro = { optional = true, version = "0.1.2", path = "../swc_trace_macro" }
|
||||
testing = { optional = true, version = "0.31.20", path = "../testing" }
|
||||
# TODO: eventually swc_plugin_runner needs to remove default features
|
||||
swc_css_compat = {version = "0.14.2", path = "../swc_css_compat", optional = true}
|
||||
swc_plugin_runner = {optional = true, version = "0.79.2", path = "../swc_plugin_runner", default-features = false}
|
||||
swc_css_compat = { version = "0.14.2", path = "../swc_css_compat", optional = true }
|
||||
swc_plugin_runner = { optional = true, version = "0.79.2", path = "../swc_plugin_runner", default-features = false }
|
||||
|
||||
[build-dependencies]
|
||||
vergen = {version = "7.3.2", default-features = false, features = ["cargo"]}
|
||||
vergen = { version = "7.3.2", default-features = false, features = ["cargo"] }
|
||||
|
||||
[dev-dependencies]
|
||||
anyhow = "1.0.66"
|
||||
|
@ -2,10 +2,12 @@ use criterion::{black_box, criterion_group, criterion_main, Bencher, Criterion};
|
||||
use swc_common::{comments::SingleThreadedComments, FileName, Mark};
|
||||
use swc_ecma_parser::{Parser, StringInput, Syntax};
|
||||
use swc_ecma_preset_env::{preset_env, Config};
|
||||
use swc_ecma_transforms::helpers::{Helpers, HELPERS};
|
||||
use swc_ecma_visit::FoldWith;
|
||||
|
||||
fn run(b: &mut Bencher, src: &str, config: Config) {
|
||||
let _ = ::testing::run_test(false, |cm, handler| {
|
||||
HELPERS.set(&Helpers::new(true), || {
|
||||
let fm = cm.new_source_file(FileName::Anon, src.into());
|
||||
|
||||
let mut parser = Parser::new(Syntax::default(), StringInput::from(&*fm), None);
|
||||
@ -28,6 +30,7 @@ fn run(b: &mut Bencher, src: &str, config: Config) {
|
||||
|
||||
b.iter(|| black_box(module.clone().fold_with(&mut folder)));
|
||||
Ok(())
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -262,7 +262,7 @@ fn es2015_duplicate_keys(b: &mut Bencher) {
|
||||
|
||||
fn es2015_parameters(b: &mut Bencher) {
|
||||
run(b, || {
|
||||
swc_ecma_transforms_compat::es2015::parameters(Default::default(), Default::default())
|
||||
swc_ecma_transforms_compat::es2015::parameters(Default::default(), Mark::new())
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,9 @@ use std::{io::stderr, sync::Arc};
|
||||
|
||||
use criterion::{black_box, criterion_group, criterion_main, Bencher, Criterion};
|
||||
use swc::config::IsModule;
|
||||
use swc_common::{errors::Handler, FileName, FilePathMapping, Mark, SourceFile, SourceMap};
|
||||
use swc_common::{
|
||||
errors::Handler, FileName, FilePathMapping, Mark, SourceFile, SourceMap, GLOBALS,
|
||||
};
|
||||
use swc_ecma_ast::{EsVersion, Program};
|
||||
use swc_ecma_parser::Syntax;
|
||||
use swc_ecma_transforms::{compat::es2020, resolver, typescript};
|
||||
@ -41,6 +43,7 @@ fn parse(c: &swc::Compiler, src: &str) -> (Arc<SourceFile>, Program) {
|
||||
}
|
||||
|
||||
fn babelify_only(b: &mut Bencher) {
|
||||
GLOBALS.set(&Default::default(), || {
|
||||
let c = mk();
|
||||
let (fm, module) = parse(&c, SOURCE);
|
||||
let handler = Handler::with_emitter_writer(Box::new(stderr()), Some(c.cm.clone()));
|
||||
@ -66,9 +69,11 @@ fn babelify_only(b: &mut Bencher) {
|
||||
let babel_ast = program.babelify(&ctx);
|
||||
black_box(babel_ast)
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
fn parse_and_babelify(b: &mut Bencher, _name: &str, src: &str) {
|
||||
GLOBALS.set(&Default::default(), || {
|
||||
let c = mk();
|
||||
|
||||
b.iter(|| {
|
||||
@ -82,6 +87,7 @@ fn parse_and_babelify(b: &mut Bencher, _name: &str, src: &str) {
|
||||
let babel_ast = program.babelify(&ctx);
|
||||
black_box(babel_ast);
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
fn bench_cases(c: &mut Criterion) {
|
||||
|
@ -1249,7 +1249,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_atoms"
|
||||
version = "0.4.24"
|
||||
version = "0.4.25"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"rkyv",
|
||||
@ -1262,7 +1262,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_common"
|
||||
version = "0.29.14"
|
||||
version = "0.29.19"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"anyhow",
|
||||
@ -1293,7 +1293,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_core"
|
||||
version = "0.43.3"
|
||||
version = "0.46.1"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"swc_atoms",
|
||||
@ -1310,7 +1310,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_ast"
|
||||
version = "0.94.19"
|
||||
version = "0.95.3"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"is-macro",
|
||||
@ -1326,7 +1326,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_codegen"
|
||||
version = "0.127.31"
|
||||
version = "0.128.5"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"num-bigint",
|
||||
@ -1354,7 +1354,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_parser"
|
||||
version = "0.122.26"
|
||||
version = "0.123.5"
|
||||
dependencies = [
|
||||
"either",
|
||||
"enum_kind",
|
||||
@ -1371,7 +1371,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_testing"
|
||||
version = "0.20.7"
|
||||
version = "0.20.8"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"hex",
|
||||
@ -1381,7 +1381,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_transforms_base"
|
||||
version = "0.111.47"
|
||||
version = "0.112.5"
|
||||
dependencies = [
|
||||
"better_scoped_tls",
|
||||
"bitflags",
|
||||
@ -1401,7 +1401,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_transforms_testing"
|
||||
version = "0.114.33"
|
||||
version = "0.115.6"
|
||||
dependencies = [
|
||||
"ansi_term",
|
||||
"anyhow",
|
||||
@ -1425,7 +1425,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_utils"
|
||||
version = "0.105.33"
|
||||
version = "0.106.5"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"num_cpus",
|
||||
@ -1440,7 +1440,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_visit"
|
||||
version = "0.80.19"
|
||||
version = "0.81.3"
|
||||
dependencies = [
|
||||
"num-bigint",
|
||||
"swc_atoms",
|
||||
@ -1462,7 +1462,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_error_reporters"
|
||||
version = "0.13.14"
|
||||
version = "0.13.20"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"miette",
|
||||
@ -1498,7 +1498,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_plugin_macro"
|
||||
version = "0.9.9"
|
||||
version = "0.9.10"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -1507,7 +1507,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "swc_plugin_proxy"
|
||||
version = "0.22.19"
|
||||
version = "0.23.3"
|
||||
dependencies = [
|
||||
"better_scoped_tls",
|
||||
"rkyv",
|
||||
@ -1592,7 +1592,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "testing"
|
||||
version = "0.31.14"
|
||||
version = "0.31.20"
|
||||
dependencies = [
|
||||
"ansi_term",
|
||||
"difference",
|
||||
|
Loading…
Reference in New Issue
Block a user