Skip to content

Commit

Permalink
feat(css/parser): Normalize declaration and important (#6663)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Dec 16, 2022
1 parent 3330f3a commit 1fc97a7
Show file tree
Hide file tree
Showing 12 changed files with 59 additions and 25 deletions.
16 changes: 8 additions & 8 deletions crates/swc_css_codegen/src/lib.rs
Expand Up @@ -2763,27 +2763,27 @@ fn minify_hex_color(value: &str) -> String {
if length == 6 || chars[6] == b'f' && chars[7] == b'f' {
let mut minified = String::with_capacity(3);

minified.push((chars[0] as char).to_ascii_lowercase());
minified.push((chars[2] as char).to_ascii_lowercase());
minified.push((chars[4] as char).to_ascii_lowercase());
minified.push(chars[0] as char);
minified.push(chars[2] as char);
minified.push(chars[4] as char);

return minified;
}
// 8 -> 4
else if length == 8 && chars[6] == chars[7] {
let mut minified = String::with_capacity(4);

minified.push((chars[0] as char).to_ascii_lowercase());
minified.push((chars[2] as char).to_ascii_lowercase());
minified.push((chars[4] as char).to_ascii_lowercase());
minified.push((chars[6] as char).to_ascii_lowercase());
minified.push(chars[0] as char);
minified.push(chars[2] as char);
minified.push(chars[4] as char);
minified.push(chars[6] as char);

return minified;
}
}
}

value.to_ascii_lowercase()
value.to_string()
}

fn serialize_string(value: &str) -> String {
Expand Down
12 changes: 6 additions & 6 deletions crates/swc_css_minifier/src/compressor/declaration.rs
Expand Up @@ -6,8 +6,8 @@ use super::Compressor;

impl Compressor {
pub(super) fn compress_declaration(&self, declaration: &mut Declaration) {
if let DeclarationName::Ident(Ident { value, .. }) = &declaration.name {
match value.to_ascii_lowercase() {
if let DeclarationName::Ident(Ident { value: name, .. }) = &declaration.name {
match *name {
js_word!("display") if declaration.value.len() > 1 => {
let mut outside = None;
let mut inside = None;
Expand Down Expand Up @@ -616,12 +616,12 @@ impl Compressor {

fn compress_from_initial(&self, declaration: &mut Declaration, span: Span) {
let name = if let DeclarationName::Ident(Ident { value, .. }) = &declaration.name {
value.to_ascii_lowercase()
value
} else {
return;
};

match name {
match *name {
js_word!("accent-color")
| js_word!("align-self")
| js_word!("animation-timeline")
Expand Down Expand Up @@ -1282,12 +1282,12 @@ impl Compressor {

fn _compress_to_initial(&self, declaration: &mut Declaration) {
let name = if let DeclarationName::Ident(Ident { value, .. }) = &declaration.name {
value.to_ascii_lowercase()
value
} else {
return;
};

match name {
match *name {
js_word!("background-clip") | js_word!("mask-clip") | js_word!("mask-origin") => {
if let Some(ComponentValue::Ident(box Ident { value, span, .. })) =
declaration.value.get(0)
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_css_modules/src/lib.rs
Expand Up @@ -316,7 +316,7 @@ where
}

if let DeclarationName::Ident(name) = &n.name {
match name.value.to_ascii_lowercase() {
match name.value {
js_word!("animation") => {
let mut can_change = true;

Expand Down
8 changes: 6 additions & 2 deletions crates/swc_css_parser/src/parser/syntax/mod.rs
Expand Up @@ -613,7 +613,11 @@ where
let name = if is_dashed_ident {
DeclarationName::DashedIdent(self.parse()?)
} else {
DeclarationName::Ident(self.parse()?)
let mut ident: Ident = self.parse()?;

ident.value = ident.value.to_ascii_lowercase();

DeclarationName::Ident(ident)
};
let mut declaration = Declaration {
span: Default::default(),
Expand Down Expand Up @@ -742,7 +746,7 @@ where
};
let value = Ident {
span: important_ident.span,
value: value.0,
value: value.0.to_ascii_lowercase(),
raw: Some(value.1),
};

Expand Down
Expand Up @@ -9257,7 +9257,7 @@
"end": 4781,
"ctxt": 0
},
"value": "DISPLAY",
"value": "display",
"raw": "DISPLAY"
},
"value": [
Expand Down
Expand Up @@ -453,7 +453,7 @@
"end": 219,
"ctxt": 0
},
"value": "IMPORTANT",
"value": "important",
"raw": "IMPORTANT"
}
}
Expand Down Expand Up @@ -501,7 +501,7 @@
"end": 251,
"ctxt": 0
},
"value": "IMPORTANT",
"value": "important",
"raw": "IMPORTANT"
}
}
Expand Down Expand Up @@ -930,7 +930,7 @@
"end": 519,
"ctxt": 0
},
"value": "iMpOrTaNt",
"value": "important",
"raw": "iMpOrTaNt"
}
}
Expand Down
Expand Up @@ -651,7 +651,7 @@
"end": 234,
"ctxt": 0
},
"value": "CONTENT",
"value": "content",
"raw": "CONTENT"
},
"value": [
Expand Down Expand Up @@ -685,7 +685,7 @@
"end": 255,
"ctxt": 0
},
"value": "MARGIN-LEFT",
"value": "margin-left",
"raw": "MARGIN-LEFT"
},
"value": [
Expand Down
Expand Up @@ -55,7 +55,7 @@
"end": 17,
"ctxt": 0
},
"value": "DISPLAY",
"value": "display",
"raw": "DISPLAY"
},
"value": [
Expand Down
2 changes: 1 addition & 1 deletion crates/swc_css_prefixer/src/prefixer.rs
Expand Up @@ -1594,7 +1594,7 @@ impl VisitMut for Prefixer {
}};
}

let property_name = &*name.to_ascii_lowercase();
let property_name: &str = name;

match property_name {
"appearance" => {
Expand Down
10 changes: 10 additions & 0 deletions crates/swc_css_prefixer/tests/fixture/case-insensivity/input.css
Expand Up @@ -5,3 +5,13 @@ a {
b {
APPEARANCE: AUTO;
}

c {
-WEBKIT-APPEARANCE: NONE;
APPEARANCE: NONE;
}

d {
-webkit-appearance: NONE;
APPEARANCE: NONE;
}
12 changes: 12 additions & 0 deletions crates/swc_css_prefixer/tests/fixture/case-insensivity/output.css
Expand Up @@ -10,3 +10,15 @@ b {
-ms-appearance: AUTO;
APPEARANCE: AUTO;
}
c {
-WEBKIT-APPEARANCE: NONE;
-moz-appearance: NONE;
-ms-appearance: NONE;
APPEARANCE: NONE;
}
d {
-webkit-appearance: NONE;
-moz-appearance: NONE;
-ms-appearance: NONE;
APPEARANCE: NONE;
}
Expand Up @@ -6,3 +6,11 @@ b {
-webkit-appearance: AUTO;
APPEARANCE: AUTO;
}
c {
-WEBKIT-APPEARANCE: NONE;
APPEARANCE: NONE;
}
d {
-webkit-appearance: NONE;
APPEARANCE: NONE;
}

1 comment on commit 1fc97a7

@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: 1fc97a7 Previous: dd7280d Ratio
es/full/bugs-1 311176 ns/iter (± 9808) 301746 ns/iter (± 15980) 1.03
es/full/minify/libraries/antd 1775581873 ns/iter (± 27499485) 1674349273 ns/iter (± 18102999) 1.06
es/full/minify/libraries/d3 312728891 ns/iter (± 5383083) 345309378 ns/iter (± 6213571) 0.91
es/full/minify/libraries/echarts 1363716880 ns/iter (± 9199524) 1409533091 ns/iter (± 12437506) 0.97
es/full/minify/libraries/jquery 91990533 ns/iter (± 1703350) 91865227 ns/iter (± 926830) 1.00
es/full/minify/libraries/lodash 108678784 ns/iter (± 562263) 110142203 ns/iter (± 1487266) 0.99
es/full/minify/libraries/moment 53760617 ns/iter (± 220051) 53672509 ns/iter (± 560904) 1.00
es/full/minify/libraries/react 19298838 ns/iter (± 140954) 19725196 ns/iter (± 75130) 0.98
es/full/minify/libraries/terser 262343731 ns/iter (± 2772658) 262577198 ns/iter (± 2606289) 1.00
es/full/minify/libraries/three 479505586 ns/iter (± 10934774) 493155394 ns/iter (± 10546326) 0.97
es/full/minify/libraries/typescript 3333243105 ns/iter (± 26354226) 3148086238 ns/iter (± 12942944) 1.06
es/full/minify/libraries/victory 749094432 ns/iter (± 14544727) 701966659 ns/iter (± 9500858) 1.07
es/full/minify/libraries/vue 134491174 ns/iter (± 1320755) 135721085 ns/iter (± 1747340) 0.99
es/full/codegen/es3 27398 ns/iter (± 73) 27774 ns/iter (± 70) 0.99
es/full/codegen/es5 27474 ns/iter (± 50) 27703 ns/iter (± 57) 0.99
es/full/codegen/es2015 27380 ns/iter (± 47) 27785 ns/iter (± 59) 0.99
es/full/codegen/es2016 27421 ns/iter (± 61) 27767 ns/iter (± 94) 0.99
es/full/codegen/es2017 27398 ns/iter (± 67) 27797 ns/iter (± 54) 0.99
es/full/codegen/es2018 27444 ns/iter (± 71) 27723 ns/iter (± 72) 0.99
es/full/codegen/es2019 27404 ns/iter (± 41) 27781 ns/iter (± 65) 0.99
es/full/codegen/es2020 27385 ns/iter (± 48) 27710 ns/iter (± 59) 0.99
es/full/all/es3 171037184 ns/iter (± 1769984) 168302220 ns/iter (± 2435441) 1.02
es/full/all/es5 162278752 ns/iter (± 1441436) 160139068 ns/iter (± 1694618) 1.01
es/full/all/es2015 121432395 ns/iter (± 1227312) 120312948 ns/iter (± 1140688) 1.01
es/full/all/es2016 120986801 ns/iter (± 1537505) 119549374 ns/iter (± 1531191) 1.01
es/full/all/es2017 120357674 ns/iter (± 1164235) 118321623 ns/iter (± 1310418) 1.02
es/full/all/es2018 118428708 ns/iter (± 1265959) 116547773 ns/iter (± 1407914) 1.02
es/full/all/es2019 118075555 ns/iter (± 1620599) 115611503 ns/iter (± 1086907) 1.02
es/full/all/es2020 112930538 ns/iter (± 1116164) 111850588 ns/iter (± 1328141) 1.01
es/full/parser 515877 ns/iter (± 7226) 504227 ns/iter (± 8435) 1.02
es/full/base/fixer 21962 ns/iter (± 42) 22051 ns/iter (± 19) 1.00
es/full/base/resolver_and_hygiene 78497 ns/iter (± 105) 77835 ns/iter (± 61) 1.01
serialization of ast node 138 ns/iter (± 0) 138 ns/iter (± 0) 1
serialization of serde 124 ns/iter (± 0) 125 ns/iter (± 0) 0.99
css/minify/libraries/bootstrap 27002188 ns/iter (± 87744) 27121734 ns/iter (± 86473) 1.00
css/visitor/compare/clone 2085060 ns/iter (± 14968) 2077861 ns/iter (± 22418) 1.00
css/visitor/compare/visit_mut_span 2297396 ns/iter (± 7861) 2272933 ns/iter (± 7584) 1.01
css/visitor/compare/visit_mut_span_panic 2382957 ns/iter (± 6375) 2303362 ns/iter (± 5355) 1.03
css/visitor/compare/fold_span 3058284 ns/iter (± 24136) 2987549 ns/iter (± 27100) 1.02
css/visitor/compare/fold_span_panic 3149914 ns/iter (± 26293) 3136911 ns/iter (± 31261) 1.00
css/lexer/bootstrap_5_1_3 5266184 ns/iter (± 6834) 5252488 ns/iter (± 520) 1.00
css/lexer/foundation_6_7_4 4429143 ns/iter (± 3168) 4454566 ns/iter (± 8436) 0.99
css/lexer/tailwind_3_1_1 832377 ns/iter (± 1361) 836299 ns/iter (± 1297) 1.00
css/parser/bootstrap_5_1_3 21087312 ns/iter (± 47860) 20795903 ns/iter (± 62888) 1.01
css/parser/foundation_6_7_4 16788559 ns/iter (± 41054) 16691247 ns/iter (± 57250) 1.01
css/parser/tailwind_3_1_1 3231035 ns/iter (± 10168) 3197397 ns/iter (± 2873) 1.01
es/codegen/colors 324875 ns/iter (± 181931) 333577 ns/iter (± 186915) 0.97
es/codegen/large 1245815 ns/iter (± 633547) 1223599 ns/iter (± 642653) 1.02
es/codegen/with-parser/colors 46632 ns/iter (± 327) 46684 ns/iter (± 199) 1.00
es/codegen/with-parser/large 511406 ns/iter (± 1679) 505130 ns/iter (± 1096) 1.01
es/minify/libraries/antd 1565650346 ns/iter (± 26597360) 1484735425 ns/iter (± 20806933) 1.05
es/minify/libraries/d3 268500189 ns/iter (± 4810400) 319776037 ns/iter (± 12482925) 0.84
es/minify/libraries/echarts 1172715515 ns/iter (± 9850203) 1243400053 ns/iter (± 8429440) 0.94
es/minify/libraries/jquery 79439898 ns/iter (± 727808) 81032541 ns/iter (± 1809025) 0.98
es/minify/libraries/lodash 96970348 ns/iter (± 944225) 98505772 ns/iter (± 916214) 0.98
es/minify/libraries/moment 46974955 ns/iter (± 286344) 46683470 ns/iter (± 492962) 1.01
es/minify/libraries/react 17259795 ns/iter (± 151806) 17987078 ns/iter (± 339421) 0.96
es/minify/libraries/terser 229933583 ns/iter (± 6011838) 228321030 ns/iter (± 6268166) 1.01
es/minify/libraries/three 399081446 ns/iter (± 9206746) 418844145 ns/iter (± 9902259) 0.95
es/minify/libraries/typescript 2863139541 ns/iter (± 17888676) 2713944380 ns/iter (± 8405994) 1.05
es/minify/libraries/victory 635373240 ns/iter (± 15140259) 636404657 ns/iter (± 12645697) 1.00
es/minify/libraries/vue 118275356 ns/iter (± 1890092) 121510487 ns/iter (± 940268) 0.97
es/visitor/compare/clone 2415176 ns/iter (± 4242) 2390911 ns/iter (± 26338) 1.01
es/visitor/compare/visit_mut_span 2842708 ns/iter (± 12448) 2891528 ns/iter (± 35932) 0.98
es/visitor/compare/visit_mut_span_panic 2888427 ns/iter (± 2894) 2867450 ns/iter (± 4297) 1.01
es/visitor/compare/fold_span 3990125 ns/iter (± 8103) 3990312 ns/iter (± 16350) 1.00
es/visitor/compare/fold_span_panic 4153102 ns/iter (± 12811) 4287639 ns/iter (± 69047) 0.97
es/lexer/colors 17225 ns/iter (± 31) 17357 ns/iter (± 126) 0.99
es/lexer/angular 8235156 ns/iter (± 17667) 8248807 ns/iter (± 5124) 1.00
es/lexer/backbone 1072041 ns/iter (± 3376) 1074789 ns/iter (± 1362) 1.00
es/lexer/jquery 5968023 ns/iter (± 8869) 5966398 ns/iter (± 5094) 1.00
es/lexer/jquery mobile 9153202 ns/iter (± 12531) 9194606 ns/iter (± 14205) 1.00
es/lexer/mootools 4666119 ns/iter (± 7013) 4681885 ns/iter (± 9353) 1.00
es/lexer/underscore 895138 ns/iter (± 882) 903986 ns/iter (± 1348) 0.99
es/lexer/three 27891988 ns/iter (± 30670) 28104989 ns/iter (± 12868) 0.99
es/lexer/yui 5046241 ns/iter (± 3710) 5056345 ns/iter (± 4593) 1.00
es/parser/colors 31230 ns/iter (± 203) 30981 ns/iter (± 159) 1.01
es/parser/angular 16190056 ns/iter (± 112070) 16286011 ns/iter (± 174309) 0.99
es/parser/backbone 2322015 ns/iter (± 13707) 2300821 ns/iter (± 10092) 1.01
es/parser/jquery 12680558 ns/iter (± 79496) 12529217 ns/iter (± 303944) 1.01
es/parser/jquery mobile 20740007 ns/iter (± 491092) 20453714 ns/iter (± 254557) 1.01
es/parser/mootools 9565262 ns/iter (± 42918) 9517058 ns/iter (± 41754) 1.01
es/parser/underscore 1969532 ns/iter (± 11077) 1950867 ns/iter (± 11690) 1.01
es/parser/three 61050618 ns/iter (± 555638) 59673652 ns/iter (± 361073) 1.02
es/parser/yui 9697221 ns/iter (± 91728) 9668724 ns/iter (± 51177) 1.00
es/preset-env/usage/builtin_type 137577 ns/iter (± 30415) 140838 ns/iter (± 31104) 0.98
es/preset-env/usage/property 21436 ns/iter (± 51) 21473 ns/iter (± 85) 1.00
es/resolver/typescript 125439841 ns/iter (± 3176794) 111818192 ns/iter (± 1902982) 1.12
es/fixer/typescript 98838469 ns/iter (± 665946) 88121870 ns/iter (± 337094) 1.12
es/hygiene/typescript 199157525 ns/iter (± 2671069) 174158307 ns/iter (± 2102339) 1.14
es/resolver_with_hygiene/typescript 343830721 ns/iter (± 1792413) 308996916 ns/iter (± 1731308) 1.11
es/visitor/base-perf/module_clone 76290 ns/iter (± 1619) 76988 ns/iter (± 1312) 0.99
es/visitor/base-perf/fold_empty 85937 ns/iter (± 1822) 84961 ns/iter (± 1611) 1.01
es/visitor/base-perf/fold_noop_impl_all 85714 ns/iter (± 2341) 85436 ns/iter (± 1464) 1.00
es/visitor/base-perf/fold_noop_impl_vec 85986 ns/iter (± 1480) 86034 ns/iter (± 1024) 1.00
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) 59 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 102 ns/iter (± 0) 105 ns/iter (± 0) 0.97
es/visitor/base-perf/boxing_unboxed 102 ns/iter (± 0) 102 ns/iter (± 0) 1
es/visitor/base-perf/visit_contains_this 3641 ns/iter (± 113) 3536 ns/iter (± 94) 1.03
es/base/parallel/resolver/typescript 5635989023 ns/iter (± 492243651) 5570814808 ns/iter (± 468679324) 1.01
es/base/parallel/hygiene/typescript 2298814593 ns/iter (± 36261400) 1989326598 ns/iter (± 22945061) 1.16
misc/visitors/time-complexity/time 5 93 ns/iter (± 0) 93 ns/iter (± 0) 1
misc/visitors/time-complexity/time 10 324 ns/iter (± 0) 324 ns/iter (± 0) 1
misc/visitors/time-complexity/time 15 646 ns/iter (± 10) 650 ns/iter (± 11) 0.99
misc/visitors/time-complexity/time 20 1192 ns/iter (± 1) 1197 ns/iter (± 8) 1.00
misc/visitors/time-complexity/time 40 6183 ns/iter (± 12) 6154 ns/iter (± 5) 1.00
misc/visitors/time-complexity/time 60 15528 ns/iter (± 17) 15573 ns/iter (± 82) 1.00
es/full-target/es2016 188881 ns/iter (± 383) 187538 ns/iter (± 517) 1.01
es/full-target/es2017 183356 ns/iter (± 492) 182452 ns/iter (± 543) 1.00
es/full-target/es2018 171819 ns/iter (± 436) 171125 ns/iter (± 517) 1.00
es2020_nullish_coalescing 66687 ns/iter (± 144) 66917 ns/iter (± 152) 1.00
es2020_optional_chaining 95459 ns/iter (± 4563) 95362 ns/iter (± 8272) 1.00
es2022_class_properties 93574 ns/iter (± 262) 93428 ns/iter (± 176) 1.00
es2018_object_rest_spread 71464 ns/iter (± 175) 71551 ns/iter (± 168) 1.00
es2019_optional_catch_binding 61066 ns/iter (± 161) 61017 ns/iter (± 195) 1.00
es2017_async_to_generator 61567 ns/iter (± 90) 61646 ns/iter (± 202) 1.00
es2016_exponentiation 64951 ns/iter (± 116) 64858 ns/iter (± 118) 1.00
es2015_arrow 70366 ns/iter (± 210) 70443 ns/iter (± 185) 1.00
es2015_block_scoped_fn 65986 ns/iter (± 122) 65318 ns/iter (± 107) 1.01
es2015_block_scoping 138896 ns/iter (± 6716) 155062 ns/iter (± 8729) 0.90
es2015_classes 117385 ns/iter (± 502) 116551 ns/iter (± 423) 1.01
es2015_computed_props 61081 ns/iter (± 148) 60980 ns/iter (± 85) 1.00
es2015_destructuring 116261 ns/iter (± 270) 115237 ns/iter (± 202) 1.01
es2015_duplicate_keys 63700 ns/iter (± 167) 63535 ns/iter (± 104) 1.00
es2015_parameters 79293 ns/iter (± 118) 79095 ns/iter (± 91) 1.00
es2015_fn_name 67068 ns/iter (± 597) 66071 ns/iter (± 480) 1.02
es2015_for_of 64388 ns/iter (± 197) 63868 ns/iter (± 133) 1.01
es2015_instanceof 63472 ns/iter (± 176) 62958 ns/iter (± 88) 1.01
es2015_shorthand_property 60688 ns/iter (± 66) 60617 ns/iter (± 78) 1.00
es2015_spread 60794 ns/iter (± 111) 60781 ns/iter (± 113) 1.00
es2015_sticky_regex 62257 ns/iter (± 146) 62380 ns/iter (± 111) 1.00
es2015_typeof_symbol 62137 ns/iter (± 143) 61978 ns/iter (± 92) 1.00
es/transform/baseline/base 51738 ns/iter (± 103) 51784 ns/iter (± 94) 1.00
es/transform/baseline/common_reserved_word 62332 ns/iter (± 112) 62127 ns/iter (± 65) 1.00
es/transform/baseline/common_typescript 155484 ns/iter (± 10505) 142239 ns/iter (± 985) 1.09
es/target/es3 168700 ns/iter (± 321) 168983 ns/iter (± 348) 1.00
es/target/es2015 630900 ns/iter (± 902) 626315 ns/iter (± 918) 1.01
es/target/es2016 64994 ns/iter (± 72) 64796 ns/iter (± 87) 1.00
es/target/es2017 61618 ns/iter (± 114) 61420 ns/iter (± 111) 1.00
es/target/es2018 81371 ns/iter (± 133) 81360 ns/iter (± 42) 1.00
es/target/es2020 132505 ns/iter (± 276) 131768 ns/iter (± 179) 1.01
babelify-only 675352 ns/iter (± 1283) 677327 ns/iter (± 1354) 1.00
parse_and_babelify_angular 42497160 ns/iter (± 839117) 42652523 ns/iter (± 1123666) 1.00
parse_and_babelify_backbone 5510516 ns/iter (± 63817) 5326692 ns/iter (± 82655) 1.03
parse_and_babelify_jquery 33558777 ns/iter (± 390548) 30809480 ns/iter (± 482893) 1.09
parse_and_babelify_jquery_mobile 57724765 ns/iter (± 657042) 53681856 ns/iter (± 565494) 1.08
parse_and_babelify_mootools 35086916 ns/iter (± 460985) 31894813 ns/iter (± 448976) 1.10
parse_and_babelify_underscore 4392479 ns/iter (± 41487) 4295623 ns/iter (± 17386) 1.02
parse_and_babelify_yui 35193477 ns/iter (± 616657) 31982738 ns/iter (± 475074) 1.10
html/minify/document/css_spec 42873073 ns/iter (± 314228) 41854210 ns/iter (± 244726) 1.02
html/minify/document/github 17709914 ns/iter (± 40382) 17397933 ns/iter (± 59405) 1.02
html/minify/document/stackoverflow 15626896 ns/iter (± 44190) 15504560 ns/iter (± 18626) 1.01
html/minify/document_fragment/css_spec 41142457 ns/iter (± 180003) 39699450 ns/iter (± 191964) 1.04
html/minify/document_fragment/github 16812405 ns/iter (± 27576) 16702598 ns/iter (± 31125) 1.01
html/minify/document_fragment/stackoverflow 15154728 ns/iter (± 41787) 15035567 ns/iter (± 30146) 1.01
html/document/visitor/compare/clone 337699 ns/iter (± 1998) 335839 ns/iter (± 2209) 1.01
html/document/visitor/compare/visit_mut_span 367891 ns/iter (± 1838) 364090 ns/iter (± 1844) 1.01
html/document/visitor/compare/visit_mut_span_panic 378343 ns/iter (± 2491) 374543 ns/iter (± 1797) 1.01
html/document/visitor/compare/fold_span 409718 ns/iter (± 2226) 401047 ns/iter (± 2185) 1.02
html/document/visitor/compare/fold_span_panic 465945 ns/iter (± 1786) 457221 ns/iter (± 2288) 1.02
html/document_fragment/visitor/compare/clone 336222 ns/iter (± 1710) 332182 ns/iter (± 1910) 1.01
html/document_fragment/visitor/compare/visit_mut_span 362833 ns/iter (± 2500) 361082 ns/iter (± 2405) 1.00
html/document_fragment/visitor/compare/visit_mut_span_panic 370407 ns/iter (± 1561) 368514 ns/iter (± 1876) 1.01
html/document_fragment/visitor/compare/fold_span 406743 ns/iter (± 1836) 398510 ns/iter (± 1963) 1.02
html/document_fragment/visitor/compare/fold_span_panic 460027 ns/iter (± 3150) 455011 ns/iter (± 2145) 1.01
html/lexer/css_2021_spec 15554212 ns/iter (± 36572) 15506154 ns/iter (± 18847) 1.00
html/lexer/github_com_17_05_2022 6008585 ns/iter (± 9623) 6021602 ns/iter (± 5859) 1.00
html/lexer/stackoverflow_com_17_05_2022 5609862 ns/iter (± 4304) 5624320 ns/iter (± 4013) 1.00
html/parser/parser_document/css_2021_spec 26042056 ns/iter (± 146831) 25496876 ns/iter (± 242788) 1.02
html/parser/parser_document/github_com_17_05_2022 8800547 ns/iter (± 9337) 8738933 ns/iter (± 10772) 1.01
html/parser/parser_document/stackoverflow_com_17_05_2022 7757963 ns/iter (± 13928) 7697910 ns/iter (± 7892) 1.01
html/parser/parser_document_fragment/css_2021_spec 26173238 ns/iter (± 153488) 25969464 ns/iter (± 264215) 1.01
html/parser/parser_document_fragment/github_com_17_05_2022 8791442 ns/iter (± 10788) 8751978 ns/iter (± 6495) 1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7724400 ns/iter (± 17119) 7724252 ns/iter (± 6674) 1.00

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

Please sign in to comment.