Skip to content

Commit

Permalink
test(es/minfiier): Improve comment testing (#9164)
Browse files Browse the repository at this point in the history
**Description:**

This is required for #8907
  • Loading branch information
kdy1 authored Jul 6, 2024
1 parent d620ea5 commit f90574d
Show file tree
Hide file tree
Showing 187 changed files with 107,149 additions and 26,082 deletions.
586 changes: 473 additions & 113 deletions crates/swc_ecma_minifier/tests/benches-full/d3.js

Large diffs are not rendered by default.

11,821 changes: 9,671 additions & 2,150 deletions crates/swc_ecma_minifier/tests/benches-full/echarts.js

Large diffs are not rendered by default.

2,090 changes: 1,764 additions & 326 deletions crates/swc_ecma_minifier/tests/benches-full/jquery.js

Large diffs are not rendered by default.

8,864 changes: 8,333 additions & 531 deletions crates/swc_ecma_minifier/tests/benches-full/lodash.js

Large diffs are not rendered by default.

505 changes: 401 additions & 104 deletions crates/swc_ecma_minifier/tests/benches-full/moment.js

Large diffs are not rendered by default.

466 changes: 393 additions & 73 deletions crates/swc_ecma_minifier/tests/benches-full/react.js

Large diffs are not rendered by default.

1,383 changes: 1,235 additions & 148 deletions crates/swc_ecma_minifier/tests/benches-full/terser.js

Large diffs are not rendered by default.

2,787 changes: 2,124 additions & 663 deletions crates/swc_ecma_minifier/tests/benches-full/three.js

Large diffs are not rendered by default.

10,826 changes: 7,472 additions & 3,354 deletions crates/swc_ecma_minifier/tests/benches-full/victory.js

Large diffs are not rendered by default.

1,498 changes: 1,168 additions & 330 deletions crates/swc_ecma_minifier/tests/benches-full/vue.js

Large diffs are not rendered by default.

100 changes: 81 additions & 19 deletions crates/swc_ecma_minifier/tests/compress.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ use anyhow::Error;
use once_cell::sync::Lazy;
use serde::Deserialize;
use swc_common::{
comments::SingleThreadedComments,
comments::{Comments, SingleThreadedComments},
errors::{Handler, HANDLER},
sync::Lrc,
util::take::Take,
Expand Down Expand Up @@ -144,6 +144,7 @@ fn run(
handler: &Handler,
input: &Path,
config: &str,
comments: Option<&dyn Comments>,
mangle: Option<TestMangleOptions>,
skip_hygiene: bool,
) -> Option<Program> {
Expand All @@ -153,7 +154,6 @@ fn run(
let (_module, mut config) = parse_compressor_config(cm.clone(), config);

let fm = cm.load_file(input).expect("failed to load input.js");
let comments = SingleThreadedComments::default();

eprintln!("---- {} -----\n{}", Color::Green.paint("Input"), fm.src);

Expand Down Expand Up @@ -315,6 +315,8 @@ fn custom_fixture(input: PathBuf) {
eprintln!("---- {} -----\n{}", Color::Green.paint("Config"), config);

testing::run_test2(false, |cm, handler| {
let comments = SingleThreadedComments::default();

let mangle = dir.join("mangle.json");
let mangle = read_to_string(mangle).ok();
if let Some(mangle) = &mangle {
Expand All @@ -327,13 +329,21 @@ fn custom_fixture(input: PathBuf) {
let mangle: Option<TestMangleOptions> =
mangle.map(|s| serde_json::from_str(&s).expect("failed to deserialize mangle.json"));

let output = run(cm.clone(), &handler, &input, &config, mangle, false);
let output = run(
cm.clone(),
&handler,
&input,
&config,
Some(&comments),
mangle,
false,
);
let output_module = match output {
Some(v) => v,
None => return Ok(()),
};

let output = print(cm, &[output_module], false, false);
let output = print(cm, &[output_module], Some(&comments), false, false);

eprintln!("---- {} -----\n{}", Color::Green.paint("Output"), output);

Expand All @@ -356,13 +366,23 @@ fn projects(input: PathBuf) {
eprintln!("---- {} -----\n{}", Color::Green.paint("Config"), config);

testing::run_test2(false, |cm, handler| {
let output = run(cm.clone(), &handler, &input, &config, None, false);
let comments = SingleThreadedComments::default();

let output = run(
cm.clone(),
&handler,
&input,
&config,
Some(&comments),
None,
false,
);
let output_module = match output {
Some(v) => v,
None => return Ok(()),
};

let output = print(cm.clone(), &[output_module], false, false);
let output = print(cm.clone(), &[output_module], Some(&comments), false, false);

eprintln!("---- {} -----\n{}", Color::Green.paint("Output"), output);

Expand All @@ -374,6 +394,7 @@ fn projects(input: PathBuf) {
&handler,
&input,
r#"{ "defaults": true, "toplevel": true, "passes": 3 }"#,
Some(&comments),
Some(TestMangleOptions::Normal(MangleOptions {
top_level: Some(true),
..Default::default()
Expand All @@ -385,7 +406,7 @@ fn projects(input: PathBuf) {
None => return Ok(()),
};

print(cm, &[output_module], true, true)
print(cm, &[output_module], Some(&comments), true, true)
};

eprintln!(
Expand Down Expand Up @@ -422,11 +443,14 @@ fn projects_bench(input: PathBuf) {
.join("benches-full");

testing::run_test2(false, |cm, handler| {
let comments = SingleThreadedComments::default();

let output = run(
cm.clone(),
&handler,
&input,
r#"{ "defaults": true, "toplevel": false, "passes": 3 }"#,
Some(&comments),
None,
false,
);
Expand All @@ -435,7 +459,7 @@ fn projects_bench(input: PathBuf) {
None => return Ok(()),
};

let output = print(cm, &[output_module], false, false);
let output = print(cm, &[output_module], Some(&comments), false, false);

eprintln!("---- {} -----\n{}", Color::Green.paint("Output"), output);

Expand Down Expand Up @@ -473,15 +497,31 @@ fn fixture(input: PathBuf) {
);
}

let comments = SingleThreadedComments::default();

let mangle: Option<TestMangleOptions> = mangle.map(|s| TestMangleOptions::parse(&s));

let output = run(cm.clone(), &handler, &input, &config, mangle, false);
let output = run(
cm.clone(),
&handler,
&input,
&config,
Some(&comments),
mangle,
false,
);
let output_program = match output {
Some(v) => v,
None => return Ok(()),
};

let output = print(cm.clone(), &[output_program.clone()], false, false);
let output = print(
cm.clone(),
&[output_program.clone()],
Some(&comments),
false,
false,
);

eprintln!("---- {} -----\n{}", Color::Green.paint("Output"), output);

Expand Down Expand Up @@ -521,13 +561,19 @@ fn fixture(input: PathBuf) {
return Ok(());
}

if print(cm.clone(), &[actual], false, false)
== print(cm.clone(), &[normalized_expected], false, false)
if print(cm.clone(), &[actual], Some(&comments), false, false)
== print(
cm.clone(),
&[normalized_expected],
Some(&comments),
false,
false,
)
{
return Ok(());
}

print(cm.clone(), &[expected], false, false)
print(cm.clone(), &[expected], Some(&comments), false, false)
};
{
// Check output.teraer.js
Expand Down Expand Up @@ -570,13 +616,19 @@ fn fixture(input: PathBuf) {
return Some(());
}

if print(cm.clone(), &[actual], false, false)
== print(cm.clone(), &[normalized_expected], false, false)
if print(cm.clone(), &[actual], Some(&comments), false, false)
== print(
cm.clone(),
&[normalized_expected],
Some(&comments),
false,
false,
)
{
return Some(());
}

print(cm.clone(), &[expected], false, false)
print(cm.clone(), &[expected], Some(&comments), false, false)
};

if output == expected {
Expand Down Expand Up @@ -623,7 +675,13 @@ fn fixture(input: PathBuf) {
}
}

let output_str = print(cm, &[drop_span(output_program)], false, false);
let output_str = print(
cm,
&[drop_span(output_program)],
Some(&comments),
false,
false,
);

if env::var("UPDATE").map(|s| s == "1").unwrap_or(false) {
let _ = catch_unwind(|| {
Expand All @@ -643,6 +701,7 @@ fn fixture(input: PathBuf) {
fn print<N: swc_ecma_codegen::Node>(
cm: Lrc<SourceMap>,
nodes: &[N],
comments: Option<&dyn Comments>,
minify: bool,
skip_semi: bool,
) -> String {
Expand All @@ -657,7 +716,7 @@ fn print<N: swc_ecma_codegen::Node>(
let mut emitter = Emitter {
cfg: swc_ecma_codegen::Config::default().with_minify(minify),
cm,
comments: None,
comments,
wr,
};

Expand All @@ -675,12 +734,15 @@ fn full(input: PathBuf) {
let config = find_config(dir);
eprintln!("---- {} -----\n{}", Color::Green.paint("Config"), config);

let comments = SingleThreadedComments::default();

testing::run_test2(false, |cm, handler| {
let output = run(
cm.clone(),
&handler,
&input,
&config,
Some(&comments),
Some(TestMangleOptions::Normal(MangleOptions {
top_level: Some(true),
..Default::default()
Expand All @@ -692,7 +754,7 @@ fn full(input: PathBuf) {
None => return Ok(()),
};

let output = print(cm, &[output_module], true, true);
let output = print(cm, &[output_module], Some(&comments), true, true);

eprintln!("---- {} -----\n{}", Color::Green.paint("Output"), output);

Expand Down
6 changes: 6 additions & 0 deletions crates/swc_ecma_minifier/tests/fixture/check/1/output.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,9 @@ let foobar = "foo";
export const foo = foobar;
let foobarCopy = foobar += "bar";
foobar += "foo", console.log(foobarCopy);
// export function external1() {
// return internal() + foobar;
// }
// export function external2() {
// foobar += ".";
// }
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var ClassB, obj, value;
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) throw TypeError("Cannot call a class as a function");
}
module.exports = (obj = ClassB = function() {
module.exports = (obj = ClassB = /*#__PURE__*/ function() {
"use strict";
var protoProps;
function ClassB() {
Expand Down
Loading

1 comment on commit f90574d

@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: f90574d Previous: 98af589 Ratio
es/full/bugs-1 298595 ns/iter (± 8811) 279747 ns/iter (± 13428) 1.07
es/full/minify/libraries/antd 1618479834 ns/iter (± 37087424) 1646196145 ns/iter (± 34677965) 0.98
es/full/minify/libraries/d3 332552331 ns/iter (± 1892441) 331937774 ns/iter (± 765466) 1.00
es/full/minify/libraries/echarts 1347476516 ns/iter (± 3738775) 1353598287 ns/iter (± 3788796) 1.00
es/full/minify/libraries/jquery 100361667 ns/iter (± 160435) 100801543 ns/iter (± 159069) 1.00
es/full/minify/libraries/lodash 111263761 ns/iter (± 164627) 111892975 ns/iter (± 536352) 0.99
es/full/minify/libraries/moment 58568411 ns/iter (± 65387) 58678430 ns/iter (± 80728) 1.00
es/full/minify/libraries/react 18158094 ns/iter (± 42037) 18221564 ns/iter (± 17982) 1.00
es/full/minify/libraries/terser 266662071 ns/iter (± 1002195) 266471908 ns/iter (± 1287438) 1.00
es/full/minify/libraries/three 449462158 ns/iter (± 1378415) 449447944 ns/iter (± 1452920) 1.00
es/full/minify/libraries/typescript 3091999353 ns/iter (± 16728906) 3070510379 ns/iter (± 8002573) 1.01
es/full/minify/libraries/victory 685501580 ns/iter (± 3366072) 675211414 ns/iter (± 3250835) 1.02
es/full/minify/libraries/vue 142655535 ns/iter (± 160421) 142059341 ns/iter (± 211164) 1.00
es/full/codegen/es3 59722 ns/iter (± 168) 59250 ns/iter (± 320) 1.01
es/full/codegen/es5 60367 ns/iter (± 152) 59576 ns/iter (± 424) 1.01
es/full/codegen/es2015 59696 ns/iter (± 244) 58526 ns/iter (± 253) 1.02
es/full/codegen/es2016 59883 ns/iter (± 615) 58552 ns/iter (± 257) 1.02
es/full/codegen/es2017 59820 ns/iter (± 147) 58747 ns/iter (± 171) 1.02
es/full/codegen/es2018 59737 ns/iter (± 178) 58660 ns/iter (± 244) 1.02
es/full/codegen/es2019 59705 ns/iter (± 111) 58793 ns/iter (± 1400) 1.02
es/full/codegen/es2020 59759 ns/iter (± 157) 58869 ns/iter (± 155) 1.02
es/full/all/es3 162207278 ns/iter (± 974205) 162121076 ns/iter (± 592581) 1.00
es/full/all/es5 155500585 ns/iter (± 1061522) 156230364 ns/iter (± 737036) 1.00
es/full/all/es2015 114903666 ns/iter (± 548690) 115561632 ns/iter (± 1516425) 0.99
es/full/all/es2016 114086887 ns/iter (± 836903) 113773629 ns/iter (± 1141325) 1.00
es/full/all/es2017 113493840 ns/iter (± 579384) 113403233 ns/iter (± 564880) 1.00
es/full/all/es2018 111126806 ns/iter (± 658617) 112244725 ns/iter (± 657689) 0.99
es/full/all/es2019 110447439 ns/iter (± 582295) 111456101 ns/iter (± 720982) 0.99
es/full/all/es2020 106325023 ns/iter (± 739385) 107170410 ns/iter (± 543371) 0.99
es/full/parser 450507 ns/iter (± 2548) 450106 ns/iter (± 3481) 1.00
es/full/base/fixer 15156 ns/iter (± 46) 15357 ns/iter (± 132) 0.99
es/full/base/resolver_and_hygiene 79784 ns/iter (± 377) 79202 ns/iter (± 363) 1.01
serialization of serde 271 ns/iter (± 2) 276 ns/iter (± 2) 0.98
css/minify/libraries/bootstrap 21805240 ns/iter (± 748642) 21896983 ns/iter (± 163526) 1.00
css/visitor/compare/clone 1391139 ns/iter (± 5195) 1403270 ns/iter (± 9095) 0.99
css/visitor/compare/visit_mut_span 1513968 ns/iter (± 3959) 1518491 ns/iter (± 4063) 1.00
css/visitor/compare/visit_mut_span_panic 1539821 ns/iter (± 37987) 1530607 ns/iter (± 34976) 1.01
css/visitor/compare/fold_span 2034013 ns/iter (± 8922) 2039972 ns/iter (± 103352) 1.00
css/visitor/compare/fold_span_panic 2167580 ns/iter (± 3092) 2171195 ns/iter (± 6660) 1.00
css/lexer/bootstrap_5_1_3 3478744 ns/iter (± 2642) 3456285 ns/iter (± 1496) 1.01
css/lexer/foundation_6_7_4 2830189 ns/iter (± 7053) 2806011 ns/iter (± 3934) 1.01
css/lexer/tailwind_3_1_1 539506 ns/iter (± 622) 554441 ns/iter (± 16993) 0.97
css/parser/bootstrap_5_1_3 16039698 ns/iter (± 163362) 15832861 ns/iter (± 195463) 1.01
css/parser/foundation_6_7_4 12868358 ns/iter (± 28870) 12698209 ns/iter (± 10264) 1.01
css/parser/tailwind_3_1_1 2532744 ns/iter (± 3220) 2514162 ns/iter (± 3242) 1.01
es/codegen/colors 725444 ns/iter (± 405767) 724919 ns/iter (± 397881) 1.00
es/codegen/large 2994880 ns/iter (± 1641564) 2985794 ns/iter (± 1587263) 1.00
es/codegen/with-parser/colors 40100 ns/iter (± 270) 40196 ns/iter (± 242) 1.00
es/codegen/with-parser/large 453689 ns/iter (± 1632) 450938 ns/iter (± 14482) 1.01
es/minify/libraries/antd 1411419713 ns/iter (± 18810671) 1245189322 ns/iter (± 15196193) 1.13
es/minify/libraries/d3 281463013 ns/iter (± 3588810) 256842359 ns/iter (± 828296) 1.10
es/minify/libraries/echarts 1152574692 ns/iter (± 11469369) 1016181399 ns/iter (± 22644870) 1.13
es/minify/libraries/jquery 83011448 ns/iter (± 83338) 76252012 ns/iter (± 159665) 1.09
es/minify/libraries/lodash 105299084 ns/iter (± 560808) 96738323 ns/iter (± 574460) 1.09
es/minify/libraries/moment 48467684 ns/iter (± 80112) 44527754 ns/iter (± 134227) 1.09
es/minify/libraries/react 16364801 ns/iter (± 14532) 15033363 ns/iter (± 93169) 1.09
es/minify/libraries/terser 218824418 ns/iter (± 780834) 198993595 ns/iter (± 544918) 1.10
es/minify/libraries/three 363376615 ns/iter (± 3165635) 328873866 ns/iter (± 2186209) 1.10
es/minify/libraries/typescript 2775941594 ns/iter (± 15750650) 2472230218 ns/iter (± 7662752) 1.12
es/minify/libraries/victory 563209097 ns/iter (± 3494362) 493954709 ns/iter (± 1851372) 1.14
es/minify/libraries/vue 121866144 ns/iter (± 226725) 111225108 ns/iter (± 437516) 1.10
es/visitor/compare/clone 1709985 ns/iter (± 7687) 1730322 ns/iter (± 7307) 0.99
es/visitor/compare/visit_mut_span 2059266 ns/iter (± 15301) 2072527 ns/iter (± 4838) 0.99
es/visitor/compare/visit_mut_span_panic 2050785 ns/iter (± 64371) 2070966 ns/iter (± 36253) 0.99
es/visitor/compare/fold_span 2778888 ns/iter (± 4779) 2781277 ns/iter (± 12302) 1.00
es/visitor/compare/fold_span_panic 2809881 ns/iter (± 6475) 2809787 ns/iter (± 6446) 1.00
es/lexer/colors 9557 ns/iter (± 42) 9492 ns/iter (± 64) 1.01
es/lexer/angular 4976403 ns/iter (± 13231) 5019568 ns/iter (± 52807) 0.99
es/lexer/backbone 651829 ns/iter (± 2235) 654395 ns/iter (± 4937) 1.00
es/lexer/jquery 3654357 ns/iter (± 9687) 3736101 ns/iter (± 25025) 0.98
es/lexer/jquery mobile 5422167 ns/iter (± 52123) 5399054 ns/iter (± 13351) 1.00
es/lexer/mootools 2923216 ns/iter (± 4559) 2858554 ns/iter (± 6508) 1.02
es/lexer/underscore 540751 ns/iter (± 1020) 526924 ns/iter (± 5820) 1.03
es/lexer/three 16576943 ns/iter (± 133324) 16339279 ns/iter (± 443188) 1.01
es/lexer/yui 2970310 ns/iter (± 2397) 2917421 ns/iter (± 104669) 1.02
es/lexer/cal-com 13524685 ns/iter (± 76946) 13490645 ns/iter (± 31834) 1.00
es/lexer/typescript 93733081 ns/iter (± 619165) 91326151 ns/iter (± 185461) 1.03
es/parser/colors 24683 ns/iter (± 171) 24152 ns/iter (± 74) 1.02
es/parser/angular 12925141 ns/iter (± 92426) 12840290 ns/iter (± 123396) 1.01
es/parser/backbone 1842188 ns/iter (± 37453) 1854525 ns/iter (± 9649) 0.99
es/parser/jquery 10206370 ns/iter (± 103044) 10225457 ns/iter (± 37976) 1.00
es/parser/jquery mobile 15394432 ns/iter (± 232553) 15307388 ns/iter (± 145953) 1.01
es/parser/mootools 7962656 ns/iter (± 16333) 7937966 ns/iter (± 35479) 1.00
es/parser/underscore 1618100 ns/iter (± 4524) 1617242 ns/iter (± 8199) 1.00
es/parser/three 45016186 ns/iter (± 662576) 43924573 ns/iter (± 148144) 1.02
es/parser/yui 7540374 ns/iter (± 24450) 7536198 ns/iter (± 80375) 1.00
es/parser/cal-com 41631565 ns/iter (± 691116) 39446194 ns/iter (± 529619) 1.06
es/parser/typescript 275104770 ns/iter (± 1597389) 271009544 ns/iter (± 954782) 1.02
es/preset-env/usage/builtin_type 137286 ns/iter (± 33764) 136382 ns/iter (± 33605) 1.01
es/preset-env/usage/property 16539 ns/iter (± 86) 16546 ns/iter (± 138) 1.00
es/resolver/typescript 98793435 ns/iter (± 2697920) 100507206 ns/iter (± 1790862) 0.98
es/fixer/typescript 82596805 ns/iter (± 1660267) 81166695 ns/iter (± 2185767) 1.02
es/hygiene/typescript 184252995 ns/iter (± 2796051) 185681833 ns/iter (± 3225470) 0.99
es/resolver_with_hygiene/typescript 304333934 ns/iter (± 3009943) 308478157 ns/iter (± 2218875) 0.99
es/visitor/base-perf/module_clone 56535 ns/iter (± 774) 56135 ns/iter (± 710) 1.01
es/visitor/base-perf/fold_empty 59541 ns/iter (± 706) 59408 ns/iter (± 411) 1.00
es/visitor/base-perf/fold_noop_impl_all 59560 ns/iter (± 845) 59538 ns/iter (± 1699) 1.00
es/visitor/base-perf/fold_noop_impl_vec 59416 ns/iter (± 929) 59534 ns/iter (± 1138) 1.00
es/visitor/base-perf/boxing_boxed_clone 60 ns/iter (± 0) 61 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_unboxed_clone 47 ns/iter (± 0) 51 ns/iter (± 0) 0.92
es/visitor/base-perf/boxing_boxed 106 ns/iter (± 0) 109 ns/iter (± 1) 0.97
es/visitor/base-perf/boxing_unboxed 82 ns/iter (± 0) 83 ns/iter (± 0) 0.99
es/visitor/base-perf/visit_contains_this 2466 ns/iter (± 14) 2486 ns/iter (± 18) 0.99
es/base/parallel/resolver/typescript 2383433628 ns/iter (± 85302709) 2471445510 ns/iter (± 210741766) 0.96
es/base/parallel/hygiene/typescript 3234067446 ns/iter (± 41014661) 3238427314 ns/iter (± 41892381) 1.00
babelify-only 498658 ns/iter (± 3983) 495308 ns/iter (± 3980) 1.01
parse_and_babelify_angular 46189344 ns/iter (± 640623) 41578688 ns/iter (± 2845464) 1.11
parse_and_babelify_backbone 4336473 ns/iter (± 166467) 4546138 ns/iter (± 172656) 0.95
parse_and_babelify_jquery 29039604 ns/iter (± 368097) 29165408 ns/iter (± 481907) 1.00
parse_and_babelify_jquery_mobile 50600106 ns/iter (± 1464825) 50009754 ns/iter (± 1205735) 1.01
parse_and_babelify_mootools 26715320 ns/iter (± 358754) 26156472 ns/iter (± 553798) 1.02
parse_and_babelify_underscore 3663024 ns/iter (± 12913) 3661376 ns/iter (± 15031) 1.00
parse_and_babelify_yui 25107151 ns/iter (± 222182) 24597710 ns/iter (± 551744) 1.02
html/minify/document/css_spec 46218871 ns/iter (± 289482) 46525325 ns/iter (± 83221) 0.99
html/minify/document/github 18467528 ns/iter (± 218340) 18574072 ns/iter (± 145746) 0.99
html/minify/document/stackoverflow 16754151 ns/iter (± 262711) 16761976 ns/iter (± 531554) 1.00
html/minify/document_fragment/css_spec 44852338 ns/iter (± 99320) 44818555 ns/iter (± 226562) 1.00
html/minify/document_fragment/github 18177841 ns/iter (± 13899) 18172340 ns/iter (± 36805) 1.00
html/minify/document_fragment/stackoverflow 16475730 ns/iter (± 25469) 16420716 ns/iter (± 13268) 1.00
html/document/visitor/compare/clone 166851 ns/iter (± 2623) 166082 ns/iter (± 991) 1.00
html/document/visitor/compare/visit_mut_span 181841 ns/iter (± 2364) 183867 ns/iter (± 9871) 0.99
html/document/visitor/compare/visit_mut_span_panic 189615 ns/iter (± 1848) 190000 ns/iter (± 3442) 1.00
html/document/visitor/compare/fold_span 229442 ns/iter (± 2346) 228709 ns/iter (± 936) 1.00
html/document/visitor/compare/fold_span_panic 280843 ns/iter (± 1168) 281544 ns/iter (± 1981) 1.00
html/document_fragment/visitor/compare/clone 166031 ns/iter (± 1123) 167789 ns/iter (± 811) 0.99
html/document_fragment/visitor/compare/visit_mut_span 182132 ns/iter (± 1729) 183713 ns/iter (± 1786) 0.99
html/document_fragment/visitor/compare/visit_mut_span_panic 188410 ns/iter (± 1774) 186021 ns/iter (± 1306) 1.01
html/document_fragment/visitor/compare/fold_span 229166 ns/iter (± 1773) 230472 ns/iter (± 1265) 0.99
html/document_fragment/visitor/compare/fold_span_panic 278658 ns/iter (± 733) 282184 ns/iter (± 2505) 0.99
html/lexer/css_2021_spec 13004181 ns/iter (± 198817) 13753693 ns/iter (± 361178) 0.95
html/lexer/github_com_17_05_2022 4957108 ns/iter (± 52221) 5127661 ns/iter (± 8845) 0.97
html/lexer/stackoverflow_com_17_05_2022 4728767 ns/iter (± 14554) 4967075 ns/iter (± 9183) 0.95
html/parser/parser_document/css_2021_spec 26079969 ns/iter (± 147958) 25780142 ns/iter (± 281821) 1.01
html/parser/parser_document/github_com_17_05_2022 8774308 ns/iter (± 12870) 8549376 ns/iter (± 37257) 1.03
html/parser/parser_document/stackoverflow_com_17_05_2022 7569720 ns/iter (± 6382) 7351408 ns/iter (± 16474) 1.03
html/parser/parser_document_fragment/css_2021_spec 25765160 ns/iter (± 48901) 25379557 ns/iter (± 47474) 1.02
html/parser/parser_document_fragment/github_com_17_05_2022 8655055 ns/iter (± 21580) 8515917 ns/iter (± 15691) 1.02
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7480066 ns/iter (± 9315) 7310810 ns/iter (± 7684) 1.02

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

Please sign in to comment.