Skip to content

Commit

Permalink
feat(css/parser): Normalize at-rule names (#6676)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Dec 19, 2022
1 parent a115907 commit 7f8ba9c
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 34 deletions.
8 changes: 0 additions & 8 deletions crates/swc_css_codegen/tests/fixture.rs
Expand Up @@ -113,14 +113,6 @@ fn run(input: &Path, minify: bool) {
struct NormalizeTest;

impl VisitMut for NormalizeTest {
fn visit_mut_at_rule(&mut self, n: &mut AtRule) {
n.visit_mut_children_with(self);

if let AtRuleName::Ident(ident) = &mut n.name {
ident.value = ident.value.to_lowercase().into();
}
}

fn visit_mut_media_query(&mut self, n: &mut MediaQuery) {
n.visit_mut_children_with(self);

Expand Down
4 changes: 2 additions & 2 deletions crates/swc_css_compat/src/compiler/custom_media.rs
Expand Up @@ -18,7 +18,7 @@ pub(super) struct CustomMediaHandler {
impl CustomMediaHandler {
pub(crate) fn store_custom_media(&mut self, n: &mut AtRule) {
if let AtRuleName::Ident(name) = &n.name {
if name.value.eq_ignore_ascii_case(&js_word!("custom-media")) {
if name.value == js_word!("custom-media") {
if let Some(box AtRulePrelude::CustomMediaPrelude(prelude)) = &mut n.prelude {
self.medias.push(prelude.take());
}
Expand All @@ -29,7 +29,7 @@ impl CustomMediaHandler {
pub(crate) fn process_rules(&mut self, n: &mut Vec<Rule>) {
n.retain(|n| match n {
Rule::AtRule(n) => {
if matches!(&n.name, AtRuleName::Ident(ident) if ident.value.eq_ignore_ascii_case(&js_word!("custom-media"))) {
if matches!(&n.name, AtRuleName::Ident(ident) if ident.value == js_word!("custom-media")) {
return false;
}

Expand Down
21 changes: 11 additions & 10 deletions crates/swc_css_minifier/src/compressor/rules.rs
Expand Up @@ -53,8 +53,8 @@ impl Visit for CompatibilityChecker {
impl Compressor {
fn get_at_rule_name(&self, at_rule: &AtRule) -> JsWord {
match &at_rule.name {
AtRuleName::Ident(Ident { value, .. }) => value.to_ascii_lowercase(),
AtRuleName::DashedIdent(DashedIdent { value, .. }) => value.to_ascii_lowercase(),
AtRuleName::Ident(Ident { value, .. }) => value.clone(),
AtRuleName::DashedIdent(DashedIdent { value, .. }) => value.clone(),
}
}

Expand Down Expand Up @@ -329,13 +329,13 @@ impl Compressor {
_ => return false,
};

matches_eq_ignore_ascii_case!(
name,
js_word!("media"),
js_word!("supports"),
js_word!("container"),
js_word!("layer"),
js_word!("nest")
matches!(
*name,
js_word!("media")
| js_word!("supports")
| js_word!("container")
| js_word!("layer")
| js_word!("nest")
)
}

Expand Down Expand Up @@ -643,6 +643,7 @@ impl Compressor {
}
}

#[inline]
fn need_keep_by_name(name: &JsWord) -> bool {
matches_eq_ignore_ascii_case!(name, js_word!("color-profile"))
*name == js_word!("color-profile")
}
7 changes: 4 additions & 3 deletions crates/swc_css_parser/src/parser/syntax/mod.rs
Expand Up @@ -148,16 +148,17 @@ where
unreachable!()
}
};
let name = if at_keyword_name.0.starts_with("--") {
let is_dashed_ident = at_keyword_name.0.starts_with("--");
let name = if is_dashed_ident {
AtRuleName::DashedIdent(DashedIdent {
span: Span::new(span.lo + BytePos(1), span.hi, Default::default()),
value: at_keyword_name.0,
value: at_keyword_name.0[2..].into(),
raw: Some(at_keyword_name.1),
})
} else {
AtRuleName::Ident(Ident {
span: Span::new(span.lo + BytePos(1), span.hi, Default::default()),
value: at_keyword_name.0,
value: at_keyword_name.0.to_ascii_lowercase(),
raw: Some(at_keyword_name.1),
})
};
Expand Down
Expand Up @@ -272,7 +272,7 @@
"end": 136,
"ctxt": 0
},
"value": "IMPORT",
"value": "import",
"raw": "IMPORT"
},
"prelude": {
Expand Down Expand Up @@ -2016,7 +2016,7 @@
"end": 904,
"ctxt": 0
},
"value": "IMPORT",
"value": "import",
"raw": "IMPORT"
},
"prelude": {
Expand Down
Expand Up @@ -825,7 +825,7 @@
"end": 330,
"ctxt": 0
},
"value": "SUPPORTS",
"value": "supports",
"raw": "SUPPORTS"
},
"prelude": {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_css_parser/tests/fixture/dashed-ident/output.json
Expand Up @@ -456,7 +456,7 @@
"end": 146,
"ctxt": 0
},
"value": "--custom",
"value": "custom",
"raw": "--custom"
},
"prelude": {
Expand Down Expand Up @@ -515,7 +515,7 @@
"end": 168,
"ctxt": 0
},
"value": "--library1-custom",
"value": "library1-custom",
"raw": "--library1-custom"
},
"prelude": {
Expand Down
8 changes: 2 additions & 6 deletions crates/swc_css_prefixer/src/prefixer.rs
Expand Up @@ -743,9 +743,7 @@ impl VisitMut for Prefixer {
at_rule.visit_mut_children_with(self);

match &at_rule.name {
AtRuleName::Ident(Ident { span, value, .. })
if value.as_ref().eq_ignore_ascii_case("viewport") =>
{
AtRuleName::Ident(Ident { span, value, .. }) if value == "viewport" => {
if should_prefix("@-o-viewport", self.env, false) {
self.add_at_rule(
Prefix::Ms,
Expand Down Expand Up @@ -778,9 +776,7 @@ impl VisitMut for Prefixer {
);
}
}
AtRuleName::Ident(Ident { span, value, .. })
if value.as_ref().eq_ignore_ascii_case("keyframes") =>
{
AtRuleName::Ident(Ident { span, value, .. }) if value == "keyframes" => {
if should_prefix("@-webkit-keyframes", self.env, false) {
self.add_at_rule(
Prefix::Webkit,
Expand Down

1 comment on commit 7f8ba9c

@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: 7f8ba9c Previous: c01464e Ratio
es/full/bugs-1 307829 ns/iter (± 18074) 296710 ns/iter (± 5145) 1.04
es/full/minify/libraries/antd 1644195078 ns/iter (± 20261062) 1652805986 ns/iter (± 25244982) 0.99
es/full/minify/libraries/d3 322299011 ns/iter (± 8935344) 320100777 ns/iter (± 8566351) 1.01
es/full/minify/libraries/echarts 1254157208 ns/iter (± 15922734) 1287919624 ns/iter (± 13156131) 0.97
es/full/minify/libraries/jquery 90833039 ns/iter (± 1722279) 91720854 ns/iter (± 1004987) 0.99
es/full/minify/libraries/lodash 106375375 ns/iter (± 2089813) 108535538 ns/iter (± 803766) 0.98
es/full/minify/libraries/moment 53453483 ns/iter (± 1129289) 53536657 ns/iter (± 410863) 1.00
es/full/minify/libraries/react 19214912 ns/iter (± 181206) 19269428 ns/iter (± 125902) 1.00
es/full/minify/libraries/terser 254631350 ns/iter (± 6007925) 257616157 ns/iter (± 3717371) 0.99
es/full/minify/libraries/three 448383306 ns/iter (± 5503926) 460118409 ns/iter (± 8631789) 0.97
es/full/minify/libraries/typescript 3118093939 ns/iter (± 30848244) 3062786269 ns/iter (± 13800132) 1.02
es/full/minify/libraries/victory 726015306 ns/iter (± 20943350) 699492544 ns/iter (± 7581304) 1.04
es/full/minify/libraries/vue 134676531 ns/iter (± 2587272) 132033293 ns/iter (± 1469935) 1.02
es/full/codegen/es3 28714 ns/iter (± 66) 27963 ns/iter (± 79) 1.03
es/full/codegen/es5 28771 ns/iter (± 40) 28016 ns/iter (± 70) 1.03
es/full/codegen/es2015 28788 ns/iter (± 77) 27873 ns/iter (± 50) 1.03
es/full/codegen/es2016 28775 ns/iter (± 59) 27888 ns/iter (± 34) 1.03
es/full/codegen/es2017 28786 ns/iter (± 35) 27833 ns/iter (± 39) 1.03
es/full/codegen/es2018 28792 ns/iter (± 77) 27935 ns/iter (± 50) 1.03
es/full/codegen/es2019 28770 ns/iter (± 65) 27903 ns/iter (± 50) 1.03
es/full/codegen/es2020 28781 ns/iter (± 75) 27893 ns/iter (± 69) 1.03
es/full/all/es3 171568686 ns/iter (± 5870716) 166904375 ns/iter (± 3191729) 1.03
es/full/all/es5 166012262 ns/iter (± 1464318) 158097754 ns/iter (± 3529483) 1.05
es/full/all/es2015 126572321 ns/iter (± 3521122) 119622762 ns/iter (± 1172620) 1.06
es/full/all/es2016 124183521 ns/iter (± 3206545) 118745889 ns/iter (± 791848) 1.05
es/full/all/es2017 121993239 ns/iter (± 1713190) 118370880 ns/iter (± 778784) 1.03
es/full/all/es2018 121836472 ns/iter (± 3328403) 116139839 ns/iter (± 1111991) 1.05
es/full/all/es2019 122683241 ns/iter (± 1983709) 116262659 ns/iter (± 518342) 1.06
es/full/all/es2020 114686981 ns/iter (± 3719157) 111406872 ns/iter (± 621397) 1.03
es/full/parser 512058 ns/iter (± 7584) 513080 ns/iter (± 7837) 1.00
es/full/base/fixer 22207 ns/iter (± 19) 21886 ns/iter (± 30) 1.01
es/full/base/resolver_and_hygiene 78344 ns/iter (± 60) 78076 ns/iter (± 261) 1.00
serialization of ast node 119 ns/iter (± 0) 119 ns/iter (± 0) 1
serialization of serde 122 ns/iter (± 0) 123 ns/iter (± 0) 0.99
css/minify/libraries/bootstrap 27224886 ns/iter (± 63227) 27176579 ns/iter (± 102341) 1.00
css/visitor/compare/clone 2066168 ns/iter (± 15164) 2065287 ns/iter (± 20854) 1.00
css/visitor/compare/visit_mut_span 2280028 ns/iter (± 10157) 2249620 ns/iter (± 7065) 1.01
css/visitor/compare/visit_mut_span_panic 2315405 ns/iter (± 3268) 2315194 ns/iter (± 5656) 1.00
css/visitor/compare/fold_span 3006032 ns/iter (± 10249) 2972357 ns/iter (± 35010) 1.01
css/visitor/compare/fold_span_panic 3181058 ns/iter (± 39701) 3105123 ns/iter (± 24174) 1.02
css/lexer/bootstrap_5_1_3 5220335 ns/iter (± 19772) 5258268 ns/iter (± 813) 0.99
css/lexer/foundation_6_7_4 4439432 ns/iter (± 699) 4435589 ns/iter (± 2317) 1.00
css/lexer/tailwind_3_1_1 830731 ns/iter (± 224) 831758 ns/iter (± 244) 1.00
css/parser/bootstrap_5_1_3 20855056 ns/iter (± 77947) 21152107 ns/iter (± 169620) 0.99
css/parser/foundation_6_7_4 16634175 ns/iter (± 38147) 16840619 ns/iter (± 60622) 0.99
css/parser/tailwind_3_1_1 3201830 ns/iter (± 1769) 3205984 ns/iter (± 1977) 1.00
es/codegen/colors 329363 ns/iter (± 185182) 328286 ns/iter (± 183795) 1.00
es/codegen/large 1178722 ns/iter (± 619855) 1176424 ns/iter (± 611272) 1.00
es/codegen/with-parser/colors 46642 ns/iter (± 443) 46421 ns/iter (± 257) 1.00
es/codegen/with-parser/large 512546 ns/iter (± 1682) 512940 ns/iter (± 1339) 1.00
es/minify/libraries/antd 1464427837 ns/iter (± 16242073) 1455038135 ns/iter (± 17499803) 1.01
es/minify/libraries/d3 268537747 ns/iter (± 4810191) 266341782 ns/iter (± 4745493) 1.01
es/minify/libraries/echarts 1113211318 ns/iter (± 15165662) 1099825274 ns/iter (± 12484363) 1.01
es/minify/libraries/jquery 79666629 ns/iter (± 960641) 79049836 ns/iter (± 679630) 1.01
es/minify/libraries/lodash 98196463 ns/iter (± 1551383) 96262180 ns/iter (± 811539) 1.02
es/minify/libraries/moment 47094250 ns/iter (± 857083) 46294575 ns/iter (± 272106) 1.02
es/minify/libraries/react 17464498 ns/iter (± 294822) 17171986 ns/iter (± 106693) 1.02
es/minify/libraries/terser 219281029 ns/iter (± 2919532) 222897541 ns/iter (± 4081560) 0.98
es/minify/libraries/three 382540543 ns/iter (± 5085206) 385875957 ns/iter (± 6255884) 0.99
es/minify/libraries/typescript 2701595866 ns/iter (± 40279949) 2631187910 ns/iter (± 11100013) 1.03
es/minify/libraries/victory 598841307 ns/iter (± 12504231) 602465597 ns/iter (± 4765990) 0.99
es/minify/libraries/vue 120035667 ns/iter (± 3109842) 118269790 ns/iter (± 888902) 1.01
es/visitor/compare/clone 2402802 ns/iter (± 7650) 2391706 ns/iter (± 23370) 1.00
es/visitor/compare/visit_mut_span 2797220 ns/iter (± 9206) 2800204 ns/iter (± 4971) 1.00
es/visitor/compare/visit_mut_span_panic 2878328 ns/iter (± 18871) 2838839 ns/iter (± 8831) 1.01
es/visitor/compare/fold_span 4015253 ns/iter (± 35067) 3979724 ns/iter (± 28987) 1.01
es/visitor/compare/fold_span_panic 4180937 ns/iter (± 32170) 4132579 ns/iter (± 43919) 1.01
es/lexer/colors 17196 ns/iter (± 18) 17307 ns/iter (± 6) 0.99
es/lexer/angular 8209620 ns/iter (± 3335) 8258459 ns/iter (± 4835) 0.99
es/lexer/backbone 1069230 ns/iter (± 268) 1076600 ns/iter (± 396) 0.99
es/lexer/jquery 5937629 ns/iter (± 2215) 5990414 ns/iter (± 4371) 0.99
es/lexer/jquery mobile 9146310 ns/iter (± 10858) 9205855 ns/iter (± 56213) 0.99
es/lexer/mootools 4661926 ns/iter (± 1233) 4696727 ns/iter (± 7761) 0.99
es/lexer/underscore 895891 ns/iter (± 416) 901451 ns/iter (± 1397) 0.99
es/lexer/three 27854556 ns/iter (± 13264) 28094538 ns/iter (± 54265) 0.99
es/lexer/yui 5029956 ns/iter (± 1933) 5060856 ns/iter (± 2148) 0.99
es/parser/colors 30808 ns/iter (± 135) 30893 ns/iter (± 172) 1.00
es/parser/angular 15874110 ns/iter (± 186513) 16090805 ns/iter (± 371403) 0.99
es/parser/backbone 2319629 ns/iter (± 12230) 2318006 ns/iter (± 10430) 1.00
es/parser/jquery 12647082 ns/iter (± 87244) 12777118 ns/iter (± 130757) 0.99
es/parser/jquery mobile 20275492 ns/iter (± 263623) 20955942 ns/iter (± 399172) 0.97
es/parser/mootools 9658884 ns/iter (± 37275) 9698034 ns/iter (± 22589) 1.00
es/parser/underscore 1977193 ns/iter (± 11541) 1983997 ns/iter (± 16508) 1.00
es/parser/three 59760666 ns/iter (± 466174) 60814660 ns/iter (± 228102) 0.98
es/parser/yui 9611798 ns/iter (± 34828) 9634347 ns/iter (± 79844) 1.00
es/preset-env/usage/builtin_type 143920 ns/iter (± 33690) 145514 ns/iter (± 34376) 0.99
es/preset-env/usage/property 20938 ns/iter (± 94) 21076 ns/iter (± 72) 0.99
es/resolver/typescript 110439872 ns/iter (± 870367) 113683649 ns/iter (± 2100308) 0.97
es/fixer/typescript 87594226 ns/iter (± 998265) 86123806 ns/iter (± 1071521) 1.02
es/hygiene/typescript 171836748 ns/iter (± 1464846) 168069121 ns/iter (± 1860044) 1.02
es/resolver_with_hygiene/typescript 302605504 ns/iter (± 5194812) 300994243 ns/iter (± 2844064) 1.01
es/visitor/base-perf/module_clone 76017 ns/iter (± 899) 76064 ns/iter (± 1160) 1.00
es/visitor/base-perf/fold_empty 86825 ns/iter (± 1536) 86457 ns/iter (± 1275) 1.00
es/visitor/base-perf/fold_noop_impl_all 86277 ns/iter (± 1570) 86804 ns/iter (± 1884) 0.99
es/visitor/base-perf/fold_noop_impl_vec 86740 ns/iter (± 1881) 86146 ns/iter (± 1678) 1.01
es/visitor/base-perf/boxing_boxed_clone 56 ns/iter (± 0) 56 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed_clone 59 ns/iter (± 0) 60 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_boxed 105 ns/iter (± 0) 103 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed 102 ns/iter (± 0) 104 ns/iter (± 0) 0.98
es/visitor/base-perf/visit_contains_this 3498 ns/iter (± 64) 3329 ns/iter (± 104) 1.05
es/base/parallel/resolver/typescript 5450015173 ns/iter (± 283282513) 5233155050 ns/iter (± 385650734) 1.04
es/base/parallel/hygiene/typescript 2059066542 ns/iter (± 29029418) 2011646829 ns/iter (± 36917301) 1.02
misc/visitors/time-complexity/time 5 104 ns/iter (± 0) 103 ns/iter (± 0) 1.01
misc/visitors/time-complexity/time 10 320 ns/iter (± 0) 320 ns/iter (± 0) 1
misc/visitors/time-complexity/time 15 671 ns/iter (± 10) 670 ns/iter (± 13) 1.00
misc/visitors/time-complexity/time 20 1229 ns/iter (± 9) 1256 ns/iter (± 32) 0.98
misc/visitors/time-complexity/time 40 6689 ns/iter (± 14) 6835 ns/iter (± 111) 0.98
misc/visitors/time-complexity/time 60 17067 ns/iter (± 9) 17066 ns/iter (± 11) 1.00
es/full-target/es2016 188510 ns/iter (± 497) 187815 ns/iter (± 488) 1.00
es/full-target/es2017 183282 ns/iter (± 350) 182481 ns/iter (± 467) 1.00
es/full-target/es2018 172040 ns/iter (± 490) 171141 ns/iter (± 537) 1.01
es2020_nullish_coalescing 66884 ns/iter (± 152) 67109 ns/iter (± 1075) 1.00
es2020_optional_chaining 95725 ns/iter (± 273) 96107 ns/iter (± 319) 1.00
es2022_class_properties 94368 ns/iter (± 253) 94063 ns/iter (± 126) 1.00
es2018_object_rest_spread 71797 ns/iter (± 168) 71739 ns/iter (± 79) 1.00
es2019_optional_catch_binding 61767 ns/iter (± 124) 61822 ns/iter (± 94) 1.00
es2017_async_to_generator 62083 ns/iter (± 123) 62395 ns/iter (± 71) 0.99
es2016_exponentiation 65476 ns/iter (± 141) 65745 ns/iter (± 139) 1.00
es2015_arrow 70827 ns/iter (± 129) 70740 ns/iter (± 81) 1.00
es2015_block_scoped_fn 66791 ns/iter (± 232) 66527 ns/iter (± 165) 1.00
es2015_block_scoping 139175 ns/iter (± 7725) 152343 ns/iter (± 9384) 0.91
es2015_classes 117739 ns/iter (± 501) 117536 ns/iter (± 376) 1.00
es2015_computed_props 61546 ns/iter (± 73) 61678 ns/iter (± 55) 1.00
es2015_destructuring 116843 ns/iter (± 326) 116863 ns/iter (± 255) 1.00
es2015_duplicate_keys 64520 ns/iter (± 102) 64450 ns/iter (± 96) 1.00
es2015_parameters 79983 ns/iter (± 190) 79827 ns/iter (± 193) 1.00
es2015_fn_name 66820 ns/iter (± 366) 67237 ns/iter (± 539) 0.99
es2015_for_of 64689 ns/iter (± 109) 64751 ns/iter (± 123) 1.00
es2015_instanceof 63499 ns/iter (± 91) 63765 ns/iter (± 136) 1.00
es2015_shorthand_property 61149 ns/iter (± 70) 61389 ns/iter (± 66) 1.00
es2015_spread 61448 ns/iter (± 128) 61564 ns/iter (± 96) 1.00
es2015_sticky_regex 62579 ns/iter (± 145) 62571 ns/iter (± 103) 1.00
es2015_typeof_symbol 62850 ns/iter (± 104) 63027 ns/iter (± 67) 1.00
es/transform/baseline/base 52120 ns/iter (± 110) 52514 ns/iter (± 164) 0.99
es/transform/baseline/common_reserved_word 63039 ns/iter (± 121) 63193 ns/iter (± 148) 1.00
es/transform/baseline/common_typescript 169861 ns/iter (± 1104) 142826 ns/iter (± 178) 1.19
es/target/es3 170545 ns/iter (± 295) 170058 ns/iter (± 319) 1.00
es/target/es2015 629079 ns/iter (± 966) 630591 ns/iter (± 1260) 1.00
es/target/es2016 65443 ns/iter (± 112) 65569 ns/iter (± 173) 1.00
es/target/es2017 62047 ns/iter (± 91) 62364 ns/iter (± 111) 0.99
es/target/es2018 81771 ns/iter (± 156) 81590 ns/iter (± 164) 1.00
es/target/es2020 132740 ns/iter (± 348) 132831 ns/iter (± 219) 1.00
babelify-only 667851 ns/iter (± 1450) 673299 ns/iter (± 998) 0.99
parse_and_babelify_angular 46248379 ns/iter (± 1221788) 44833014 ns/iter (± 1571178) 1.03
parse_and_babelify_backbone 5927222 ns/iter (± 199550) 5424629 ns/iter (± 53760) 1.09
parse_and_babelify_jquery 33202903 ns/iter (± 474733) 32394206 ns/iter (± 333127) 1.02
parse_and_babelify_jquery_mobile 55027580 ns/iter (± 775055) 55076770 ns/iter (± 1038807) 1.00
parse_and_babelify_mootools 33716231 ns/iter (± 377466) 33705852 ns/iter (± 453039) 1.00
parse_and_babelify_underscore 4444199 ns/iter (± 69730) 4357755 ns/iter (± 59790) 1.02
parse_and_babelify_yui 33964254 ns/iter (± 1167525) 32457642 ns/iter (± 293092) 1.05
html/minify/document/css_spec 42356215 ns/iter (± 263816) 42439579 ns/iter (± 351498) 1.00
html/minify/document/github 17348227 ns/iter (± 56035) 17536544 ns/iter (± 69774) 0.99
html/minify/document/stackoverflow 15546247 ns/iter (± 125701) 15612007 ns/iter (± 113669) 1.00
html/minify/document_fragment/css_spec 39838680 ns/iter (± 326357) 40934309 ns/iter (± 560550) 0.97
html/minify/document_fragment/github 16683019 ns/iter (± 57301) 16749327 ns/iter (± 35930) 1.00
html/minify/document_fragment/stackoverflow 15096602 ns/iter (± 51451) 15141476 ns/iter (± 43586) 1.00
html/document/visitor/compare/clone 342268 ns/iter (± 2689) 343053 ns/iter (± 1924) 1.00
html/document/visitor/compare/visit_mut_span 370597 ns/iter (± 1753) 367571 ns/iter (± 1856) 1.01
html/document/visitor/compare/visit_mut_span_panic 373211 ns/iter (± 1826) 376478 ns/iter (± 2324) 0.99
html/document/visitor/compare/fold_span 406831 ns/iter (± 1911) 404782 ns/iter (± 2440) 1.01
html/document/visitor/compare/fold_span_panic 462655 ns/iter (± 2246) 459534 ns/iter (± 2517) 1.01
html/document_fragment/visitor/compare/clone 336813 ns/iter (± 1684) 338013 ns/iter (± 1732) 1.00
html/document_fragment/visitor/compare/visit_mut_span 362951 ns/iter (± 1838) 364562 ns/iter (± 2744) 1.00
html/document_fragment/visitor/compare/visit_mut_span_panic 374168 ns/iter (± 2609) 373998 ns/iter (± 1324) 1.00
html/document_fragment/visitor/compare/fold_span 400525 ns/iter (± 1995) 405562 ns/iter (± 2243) 0.99
html/document_fragment/visitor/compare/fold_span_panic 458179 ns/iter (± 1551) 460107 ns/iter (± 2307) 1.00
html/lexer/css_2021_spec 15493920 ns/iter (± 3889) 17354385 ns/iter (± 6902) 0.89
html/lexer/github_com_17_05_2022 6025022 ns/iter (± 3205) 6455943 ns/iter (± 2678) 0.93
html/lexer/stackoverflow_com_17_05_2022 5629615 ns/iter (± 3553) 6268017 ns/iter (± 16182) 0.90
html/parser/parser_document/css_2021_spec 25717954 ns/iter (± 1167647) 26242875 ns/iter (± 212701) 0.98
html/parser/parser_document/github_com_17_05_2022 8729492 ns/iter (± 3503) 8702206 ns/iter (± 8092) 1.00
html/parser/parser_document/stackoverflow_com_17_05_2022 7734041 ns/iter (± 36897) 7686799 ns/iter (± 16617) 1.01
html/parser/parser_document_fragment/css_2021_spec 25728867 ns/iter (± 136567) 26053728 ns/iter (± 214517) 0.99
html/parser/parser_document_fragment/github_com_17_05_2022 8773762 ns/iter (± 8010) 8759577 ns/iter (± 10283) 1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7695651 ns/iter (± 8288) 7704567 ns/iter (± 6496) 1.00

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

Please sign in to comment.