Skip to content

Commit

Permalink
feat(css/prefixer): Support place-* properties (#6685)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Dec 20, 2022
1 parent 0ae2866 commit d8df1b5
Show file tree
Hide file tree
Showing 6 changed files with 510 additions and 4 deletions.
42 changes: 42 additions & 0 deletions crates/swc_css_prefixer/data/prefixes_and_browsers.json
Expand Up @@ -3895,6 +3895,48 @@
},
{}
],

"place-content": [
{
"chrome": "4",
"edge": "12",
"safari": "3.1",
"firefox": "2",
"opera": "10",
"ie": "6",
"ios": "3.2",
"samsung": "4",
"android": "2.1"
},
{
"chrome": "58",
"edge": "18",
"safari": "8",
"firefox": "44",
"opera": "45",
"ie": "11",
"ios": "8.4",
"android": "4.4.4",
"samsung": "6.4"
}
],
"place-items": [
{
"chrome": "4"
},
{
"chrome": "58"
}
],
"place-self": [
{
"chrome": "4"
},
{
"chrome": "58"
}
],

"opacity": [
{
"chrome": "4",
Expand Down
95 changes: 91 additions & 4 deletions crates/swc_css_prefixer/src/prefixer.rs
Expand Up @@ -1578,19 +1578,28 @@ impl VisitMut for Prefixer {
let value: Option<Box<dyn Fn() -> Vec<ComponentValue>>> = $value;

if let Some(value) = value {
self.added_declarations.push(Box::new(Declaration {
let mut declaration = Declaration {
span: n.span,
name,
value: value(),
important: n.important.clone(),
}));
};

// TODO should we handle with prefix?
declaration.visit_mut_with(self);

self.added_declarations.push(Box::new(declaration));
} else {
self.added_declarations.push(Box::new(Declaration {
let mut declaration = Declaration {
span: n.span,
name,
value: n.value.clone(),
important: n.important.clone(),
}));
};

declaration.visit_mut_with(self);

self.added_declarations.push(Box::new(declaration));
}
}
}};
Expand Down Expand Up @@ -3558,6 +3567,84 @@ impl VisitMut for Prefixer {
}
}

js_word!("place-content") if should_prefix("place-content", self.env, false) => {
match (n.value.get(0), n.value.get(1)) {
(Some(left), Some(right)) => {
add_declaration!(
js_word!("align-content"),
Some(Box::new(|| { vec![left.clone()] }))
);
add_declaration!(
js_word!("justify-content"),
Some(Box::new(|| { vec![right.clone()] }))
);
}
(Some(left), None) => {
add_declaration!(
js_word!("align-content"),
Some(Box::new(|| { vec![left.clone()] }))
);
add_declaration!(
js_word!("justify-content"),
Some(Box::new(|| { vec![left.clone()] }))
);
}
_ => {}
}
}

js_word!("place-items") if should_prefix("place-items", self.env, false) => {
match (n.value.get(0), n.value.get(1)) {
(Some(left), Some(right)) => {
add_declaration!(
js_word!("align-items"),
Some(Box::new(|| { vec![left.clone()] }))
);
add_declaration!(
js_word!("justify-items"),
Some(Box::new(|| { vec![right.clone()] }))
);
}
(Some(left), None) => {
add_declaration!(
js_word!("align-items"),
Some(Box::new(|| { vec![left.clone()] }))
);
add_declaration!(
js_word!("justify-items"),
Some(Box::new(|| { vec![left.clone()] }))
);
}
_ => {}
}
}

js_word!("place-self") if should_prefix("place-self", self.env, false) => {
match (n.value.get(0), n.value.get(1)) {
(Some(left), Some(right)) => {
add_declaration!(
js_word!("align-self"),
Some(Box::new(|| { vec![left.clone()] }))
);
add_declaration!(
js_word!("justify-self"),
Some(Box::new(|| { vec![right.clone()] }))
);
}
(Some(left), None) => {
add_declaration!(
js_word!("align-self"),
Some(Box::new(|| { vec![left.clone()] }))
);
add_declaration!(
js_word!("justify-self"),
Some(Box::new(|| { vec![left.clone()] }))
);
}
_ => {}
}
}

// TODO add `grid` support https://github.com/postcss/autoprefixer/tree/main/lib/hacks (starting with grid)
// TODO fix me https://github.com/postcss/autoprefixer/blob/main/test/cases/custom-prefix.out.css
_ => {}
Expand Down
8 changes: 8 additions & 0 deletions crates/swc_css_prefixer/tests/fixture/display/output.css
Expand Up @@ -83,10 +83,18 @@
display: list-item inline flow;
}
.block-flex {
display: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
display: block flex;
}
.inline-flex {
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -moz-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
display: inline flex;
}
Expand Down
82 changes: 82 additions & 0 deletions crates/swc_css_prefixer/tests/fixture/place/input.css
@@ -0,0 +1,82 @@
a {
place-content: space-between center;
place-items: center normal;
place-self: center;
}

A {
PLACE-CONTENT: space-between center;
PLACE-ITEMS: center normal;
PLACE-SELF: auto center;
}

b {
place-content: space-between;
place-items: center;
place-self: center;
}

c {
place-content: var(--first) center;
place-items: var(--first) normal;
place-self: var(--first);
}

d {
place-content: space-between var(--second);
place-items: self-start var(--second);
}

e {
place-content: var(--first, var(--fallback)) center;
place-items: var(--first, var(--fallback)) legacy;
}

.test-unparseable-var-in-place-declaration {
place-content: var(var(--foo), ; );
}

.order-0 {
-webkit-place-content: first second;
}

.order-1 {
-moz-place-content: first second;
}

.order-2 {
-ms-place-content: first second;
}

.order-3 {
-o-place-content: first second;
}

.order-4 {
--place-content: first second;
}

.order-5 {
foo-place-content: first second;
}

/* place-content: first second; */

.content {
content: 'place-content: first second;';
}

.important {
place-content: first second !important;
}

@supports (place-content: first second) {
.support {
place-content: first second;
}
}
@keyframes KEYFRAMES {
50% {
place-content: first second;
}
}

1 comment on commit d8df1b5

@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: d8df1b5 Previous: 1840e74 Ratio
es/full/bugs-1 307971 ns/iter (± 12188) 293231 ns/iter (± 15711) 1.05
es/full/minify/libraries/antd 1706806701 ns/iter (± 42633851) 1710613536 ns/iter (± 14901094) 1.00
es/full/minify/libraries/d3 322118568 ns/iter (± 11923949) 309623059 ns/iter (± 6651236) 1.04
es/full/minify/libraries/echarts 1342484008 ns/iter (± 45683224) 1290946956 ns/iter (± 11033256) 1.04
es/full/minify/libraries/jquery 90136317 ns/iter (± 1008761) 90690569 ns/iter (± 863626) 0.99
es/full/minify/libraries/lodash 105047699 ns/iter (± 865189) 106942651 ns/iter (± 1053170) 0.98
es/full/minify/libraries/moment 52216906 ns/iter (± 359376) 53234214 ns/iter (± 615894) 0.98
es/full/minify/libraries/react 18969774 ns/iter (± 124755) 19126944 ns/iter (± 193322) 0.99
es/full/minify/libraries/terser 256202290 ns/iter (± 6072427) 252989493 ns/iter (± 3799455) 1.01
es/full/minify/libraries/three 465276499 ns/iter (± 8945065) 457103066 ns/iter (± 3044475) 1.02
es/full/minify/libraries/typescript 3216987786 ns/iter (± 36794877) 3220572416 ns/iter (± 11084381) 1.00
es/full/minify/libraries/victory 663754203 ns/iter (± 12816011) 690280064 ns/iter (± 9723936) 0.96
es/full/minify/libraries/vue 129642278 ns/iter (± 724150) 130367089 ns/iter (± 620705) 0.99
es/full/codegen/es3 26906 ns/iter (± 75) 27182 ns/iter (± 57) 0.99
es/full/codegen/es5 26878 ns/iter (± 31) 27205 ns/iter (± 42) 0.99
es/full/codegen/es2015 26920 ns/iter (± 55) 27188 ns/iter (± 37) 0.99
es/full/codegen/es2016 26855 ns/iter (± 31) 27229 ns/iter (± 77) 0.99
es/full/codegen/es2017 26860 ns/iter (± 36) 27206 ns/iter (± 51) 0.99
es/full/codegen/es2018 26898 ns/iter (± 45) 27275 ns/iter (± 32) 0.99
es/full/codegen/es2019 26905 ns/iter (± 51) 27277 ns/iter (± 60) 0.99
es/full/codegen/es2020 26904 ns/iter (± 35) 27309 ns/iter (± 81) 0.99
es/full/all/es3 168634151 ns/iter (± 3684911) 167775373 ns/iter (± 3335304) 1.01
es/full/all/es5 160150598 ns/iter (± 2616265) 159372897 ns/iter (± 2291898) 1.00
es/full/all/es2015 121222061 ns/iter (± 1204887) 119216279 ns/iter (± 1362335) 1.02
es/full/all/es2016 119220551 ns/iter (± 652324) 118537641 ns/iter (± 766557) 1.01
es/full/all/es2017 118862999 ns/iter (± 1050659) 117702201 ns/iter (± 512278) 1.01
es/full/all/es2018 116663415 ns/iter (± 716541) 116375646 ns/iter (± 647603) 1.00
es/full/all/es2019 116542195 ns/iter (± 570071) 115720276 ns/iter (± 1288678) 1.01
es/full/all/es2020 111797939 ns/iter (± 384297) 111008545 ns/iter (± 466392) 1.01
es/full/parser 517452 ns/iter (± 8903) 515326 ns/iter (± 7372) 1.00
es/full/base/fixer 22225 ns/iter (± 30) 22350 ns/iter (± 28) 0.99
es/full/base/resolver_and_hygiene 77606 ns/iter (± 95) 77257 ns/iter (± 49) 1.00
serialization of ast node 118 ns/iter (± 0) 119 ns/iter (± 0) 0.99
serialization of serde 124 ns/iter (± 0) 124 ns/iter (± 0) 1
css/minify/libraries/bootstrap 26985306 ns/iter (± 114059) 27271491 ns/iter (± 43244) 0.99
css/visitor/compare/clone 2090990 ns/iter (± 23087) 2407206 ns/iter (± 14885) 0.87
css/visitor/compare/visit_mut_span 2257676 ns/iter (± 10124) 2633614 ns/iter (± 9922) 0.86
css/visitor/compare/visit_mut_span_panic 2299569 ns/iter (± 4547) 2693262 ns/iter (± 6882) 0.85
css/visitor/compare/fold_span 3019915 ns/iter (± 20889) 3434479 ns/iter (± 21963) 0.88
css/visitor/compare/fold_span_panic 3140961 ns/iter (± 30549) 3546844 ns/iter (± 24104) 0.89
css/lexer/bootstrap_5_1_3 5183706 ns/iter (± 2037) 5186315 ns/iter (± 23213) 1.00
css/lexer/foundation_6_7_4 4362835 ns/iter (± 1378) 4368771 ns/iter (± 13618) 1.00
css/lexer/tailwind_3_1_1 826424 ns/iter (± 641) 826295 ns/iter (± 702) 1.00
css/parser/bootstrap_5_1_3 20790243 ns/iter (± 94936) 20968790 ns/iter (± 87365) 0.99
css/parser/foundation_6_7_4 16539454 ns/iter (± 67895) 16640485 ns/iter (± 34005) 0.99
css/parser/tailwind_3_1_1 3208529 ns/iter (± 3877) 3218562 ns/iter (± 2745) 1.00
es/codegen/colors 334372 ns/iter (± 188660) 323989 ns/iter (± 182941) 1.03
es/codegen/large 1234669 ns/iter (± 629176) 1262331 ns/iter (± 657502) 0.98
es/codegen/with-parser/colors 45947 ns/iter (± 347) 46081 ns/iter (± 301) 1.00
es/codegen/with-parser/large 515342 ns/iter (± 1156) 516780 ns/iter (± 1734) 1.00
es/minify/libraries/antd 1517325424 ns/iter (± 13988901) 1495694236 ns/iter (± 11430608) 1.01
es/minify/libraries/d3 262844794 ns/iter (± 6667670) 256854298 ns/iter (± 3339827) 1.02
es/minify/libraries/echarts 1155200202 ns/iter (± 10612454) 1113671935 ns/iter (± 9806579) 1.04
es/minify/libraries/jquery 79567379 ns/iter (± 433807) 78441608 ns/iter (± 363054) 1.01
es/minify/libraries/lodash 96804057 ns/iter (± 885801) 96366634 ns/iter (± 546110) 1.00
es/minify/libraries/moment 46590548 ns/iter (± 231799) 45790489 ns/iter (± 186364) 1.02
es/minify/libraries/react 17300126 ns/iter (± 135681) 16993561 ns/iter (± 135666) 1.02
es/minify/libraries/terser 216073676 ns/iter (± 2424213) 212594708 ns/iter (± 2316929) 1.02
es/minify/libraries/three 380468254 ns/iter (± 13890380) 370262582 ns/iter (± 3916068) 1.03
es/minify/libraries/typescript 2784338122 ns/iter (± 29451246) 2788538330 ns/iter (± 9831919) 1.00
es/minify/libraries/victory 615096101 ns/iter (± 11197308) 581124728 ns/iter (± 9650952) 1.06
es/minify/libraries/vue 120238656 ns/iter (± 2423572) 116073895 ns/iter (± 567692) 1.04
es/visitor/compare/clone 2411450 ns/iter (± 8854) 2785883 ns/iter (± 87458) 0.87
es/visitor/compare/visit_mut_span 2842261 ns/iter (± 7757) 3188986 ns/iter (± 4340) 0.89
es/visitor/compare/visit_mut_span_panic 2881695 ns/iter (± 6260) 3234086 ns/iter (± 8571) 0.89
es/visitor/compare/fold_span 4021563 ns/iter (± 13416) 4388669 ns/iter (± 10566) 0.92
es/visitor/compare/fold_span_panic 4128299 ns/iter (± 16787) 4534863 ns/iter (± 27016) 0.91
es/lexer/colors 17327 ns/iter (± 26) 17431 ns/iter (± 51) 0.99
es/lexer/angular 8243430 ns/iter (± 2749) 8224828 ns/iter (± 5655) 1.00
es/lexer/backbone 1071224 ns/iter (± 461) 1072649 ns/iter (± 514) 1.00
es/lexer/jquery 5957314 ns/iter (± 9482) 5942689 ns/iter (± 6457) 1.00
es/lexer/jquery mobile 9235989 ns/iter (± 49689) 9161383 ns/iter (± 12212) 1.01
es/lexer/mootools 4667464 ns/iter (± 3525) 4668147 ns/iter (± 7535) 1.00
es/lexer/underscore 904387 ns/iter (± 428) 897877 ns/iter (± 702) 1.01
es/lexer/three 27832684 ns/iter (± 43070) 27760377 ns/iter (± 29471) 1.00
es/lexer/yui 5038792 ns/iter (± 3366) 5041231 ns/iter (± 5252) 1.00
es/parser/colors 30960 ns/iter (± 187) 30796 ns/iter (± 533) 1.01
es/parser/angular 15851260 ns/iter (± 255201) 15548058 ns/iter (± 128100) 1.02
es/parser/backbone 2320272 ns/iter (± 9646) 2329011 ns/iter (± 16062) 1.00
es/parser/jquery 12770184 ns/iter (± 94682) 12578383 ns/iter (± 91249) 1.02
es/parser/jquery mobile 20958003 ns/iter (± 275325) 20540731 ns/iter (± 297231) 1.02
es/parser/mootools 9648595 ns/iter (± 56076) 9643635 ns/iter (± 31021) 1.00
es/parser/underscore 1961365 ns/iter (± 11731) 1971098 ns/iter (± 11376) 1.00
es/parser/three 60885924 ns/iter (± 1055757) 58175685 ns/iter (± 683167) 1.05
es/parser/yui 9566566 ns/iter (± 48159) 9612864 ns/iter (± 63228) 1.00
es/preset-env/usage/builtin_type 143611 ns/iter (± 33312) 140601 ns/iter (± 31987) 1.02
es/preset-env/usage/property 21416 ns/iter (± 75) 21856 ns/iter (± 87) 0.98
es/resolver/typescript 125361407 ns/iter (± 3931972) 126899718 ns/iter (± 1202669) 0.99
es/fixer/typescript 97293135 ns/iter (± 5529588) 101772023 ns/iter (± 1339855) 0.96
es/hygiene/typescript 196290568 ns/iter (± 1899925) 196897357 ns/iter (± 1165620) 1.00
es/resolver_with_hygiene/typescript 333718597 ns/iter (± 2753476) 324796068 ns/iter (± 1481800) 1.03
es/visitor/base-perf/module_clone 77236 ns/iter (± 1714) 75733 ns/iter (± 1313) 1.02
es/visitor/base-perf/fold_empty 85649 ns/iter (± 1869) 86153 ns/iter (± 1858) 0.99
es/visitor/base-perf/fold_noop_impl_all 85732 ns/iter (± 1944) 86453 ns/iter (± 1574) 0.99
es/visitor/base-perf/fold_noop_impl_vec 86219 ns/iter (± 1615) 87427 ns/iter (± 1440) 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 59 ns/iter (± 0) 59 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 103 ns/iter (± 0) 111 ns/iter (± 0) 0.93
es/visitor/base-perf/boxing_unboxed 102 ns/iter (± 0) 102 ns/iter (± 0) 1
es/visitor/base-perf/visit_contains_this 3423 ns/iter (± 88) 3628 ns/iter (± 46) 0.94
es/base/parallel/resolver/typescript 5756640456 ns/iter (± 639922069) 5732192265 ns/iter (± 560170911) 1.00
es/base/parallel/hygiene/typescript 2222927690 ns/iter (± 26116979) 2277909664 ns/iter (± 32572320) 0.98
misc/visitors/time-complexity/time 5 102 ns/iter (± 0) 102 ns/iter (± 0) 1
misc/visitors/time-complexity/time 10 316 ns/iter (± 0) 330 ns/iter (± 0) 0.96
misc/visitors/time-complexity/time 15 669 ns/iter (± 23) 667 ns/iter (± 0) 1.00
misc/visitors/time-complexity/time 20 1280 ns/iter (± 54) 1244 ns/iter (± 2) 1.03
misc/visitors/time-complexity/time 40 6792 ns/iter (± 1) 6726 ns/iter (± 110) 1.01
misc/visitors/time-complexity/time 60 17118 ns/iter (± 18) 17041 ns/iter (± 36) 1.00
es/full-target/es2016 188828 ns/iter (± 471) 189958 ns/iter (± 650) 0.99
es/full-target/es2017 183272 ns/iter (± 373) 184024 ns/iter (± 546) 1.00
es/full-target/es2018 173453 ns/iter (± 367) 173179 ns/iter (± 401) 1.00
es2020_nullish_coalescing 66772 ns/iter (± 102) 66722 ns/iter (± 137) 1.00
es2020_optional_chaining 96454 ns/iter (± 315) 96790 ns/iter (± 450) 1.00
es2022_class_properties 94271 ns/iter (± 190) 93829 ns/iter (± 180) 1.00
es2018_object_rest_spread 71511 ns/iter (± 169) 71091 ns/iter (± 130) 1.01
es2019_optional_catch_binding 61173 ns/iter (± 98) 61231 ns/iter (± 95) 1.00
es2017_async_to_generator 61592 ns/iter (± 103) 61402 ns/iter (± 107) 1.00
es2016_exponentiation 65321 ns/iter (± 135) 64950 ns/iter (± 81) 1.01
es2015_arrow 70346 ns/iter (± 202) 69871 ns/iter (± 228) 1.01
es2015_block_scoped_fn 66544 ns/iter (± 97) 65560 ns/iter (± 101) 1.02
es2015_block_scoping 138667 ns/iter (± 7770) 154135 ns/iter (± 10995) 0.90
es2015_classes 117498 ns/iter (± 480) 116163 ns/iter (± 369) 1.01
es2015_computed_props 61344 ns/iter (± 46) 61016 ns/iter (± 114) 1.01
es2015_destructuring 116048 ns/iter (± 156) 116063 ns/iter (± 250) 1.00
es2015_duplicate_keys 64135 ns/iter (± 157) 63795 ns/iter (± 87) 1.01
es2015_parameters 79512 ns/iter (± 461) 79323 ns/iter (± 266) 1.00
es2015_fn_name 66177 ns/iter (± 616) 66512 ns/iter (± 485) 0.99
es2015_for_of 63954 ns/iter (± 104) 64390 ns/iter (± 151) 0.99
es2015_instanceof 62906 ns/iter (± 106) 63090 ns/iter (± 108) 1.00
es2015_shorthand_property 60437 ns/iter (± 82) 61069 ns/iter (± 127) 0.99
es2015_spread 60644 ns/iter (± 118) 60956 ns/iter (± 84) 0.99
es2015_sticky_regex 61498 ns/iter (± 144) 62199 ns/iter (± 88) 0.99
es2015_typeof_symbol 61704 ns/iter (± 102) 62153 ns/iter (± 126) 0.99
es/transform/baseline/base 51466 ns/iter (± 79) 51907 ns/iter (± 67) 0.99
es/transform/baseline/common_reserved_word 62049 ns/iter (± 129) 62437 ns/iter (± 95) 0.99
es/transform/baseline/common_typescript 140472 ns/iter (± 400) 146450 ns/iter (± 3740) 0.96
es/target/es3 166791 ns/iter (± 174) 169188 ns/iter (± 563) 0.99
es/target/es2015 610203 ns/iter (± 686) 628798 ns/iter (± 1578) 0.97
es/target/es2016 64533 ns/iter (± 132) 65148 ns/iter (± 120) 0.99
es/target/es2017 60920 ns/iter (± 124) 61595 ns/iter (± 40) 0.99
es/target/es2018 80766 ns/iter (± 96) 81195 ns/iter (± 67) 0.99
es/target/es2020 131527 ns/iter (± 286) 133660 ns/iter (± 240) 0.98
babelify-only 674507 ns/iter (± 1114) 677728 ns/iter (± 5770) 1.00
parse_and_babelify_angular 45532371 ns/iter (± 894912) 47926789 ns/iter (± 1159843) 0.95
parse_and_babelify_backbone 5511452 ns/iter (± 67431) 5680903 ns/iter (± 54610) 0.97
parse_and_babelify_jquery 34244392 ns/iter (± 620054) 36709565 ns/iter (± 224337) 0.93
parse_and_babelify_jquery_mobile 58874377 ns/iter (± 1181534) 61372390 ns/iter (± 541001) 0.96
parse_and_babelify_mootools 34893476 ns/iter (± 242038) 35301104 ns/iter (± 1199757) 0.99
parse_and_babelify_underscore 4355589 ns/iter (± 36464) 4479403 ns/iter (± 28241) 0.97
parse_and_babelify_yui 34665103 ns/iter (± 768556) 36371825 ns/iter (± 391962) 0.95
html/minify/document/css_spec 42530096 ns/iter (± 397747) 45316921 ns/iter (± 164670) 0.94
html/minify/document/github 17441276 ns/iter (± 46573) 18029783 ns/iter (± 50997) 0.97
html/minify/document/stackoverflow 15653106 ns/iter (± 72284) 15936001 ns/iter (± 128715) 0.98
html/minify/document_fragment/css_spec 41983268 ns/iter (± 419025) 43859835 ns/iter (± 316719) 0.96
html/minify/document_fragment/github 16751255 ns/iter (± 39606) 17057727 ns/iter (± 56124) 0.98
html/minify/document_fragment/stackoverflow 15169805 ns/iter (± 50851) 15361270 ns/iter (± 54678) 0.99
html/document/visitor/compare/clone 338607 ns/iter (± 2593) 398579 ns/iter (± 3692) 0.85
html/document/visitor/compare/visit_mut_span 369184 ns/iter (± 2097) 437662 ns/iter (± 4211) 0.84
html/document/visitor/compare/visit_mut_span_panic 379943 ns/iter (± 2269) 448329 ns/iter (± 3235) 0.85
html/document/visitor/compare/fold_span 402502 ns/iter (± 2048) 474919 ns/iter (± 2207) 0.85
html/document/visitor/compare/fold_span_panic 464095 ns/iter (± 2346) 534906 ns/iter (± 4268) 0.87
html/document_fragment/visitor/compare/clone 343519 ns/iter (± 1954) 398826 ns/iter (± 4593) 0.86
html/document_fragment/visitor/compare/visit_mut_span 369671 ns/iter (± 1876) 430415 ns/iter (± 2690) 0.86
html/document_fragment/visitor/compare/visit_mut_span_panic 370355 ns/iter (± 2977) 440764 ns/iter (± 5594) 0.84
html/document_fragment/visitor/compare/fold_span 406471 ns/iter (± 2067) 471926 ns/iter (± 3112) 0.86
html/document_fragment/visitor/compare/fold_span_panic 462232 ns/iter (± 2083) 533765 ns/iter (± 4524) 0.87
html/lexer/css_2021_spec 15573619 ns/iter (± 6640) 15555064 ns/iter (± 145537) 1.00
html/lexer/github_com_17_05_2022 6036548 ns/iter (± 3286) 6019265 ns/iter (± 7806) 1.00
html/lexer/stackoverflow_com_17_05_2022 5654949 ns/iter (± 1966) 5630911 ns/iter (± 12541) 1.00
html/parser/parser_document/css_2021_spec 26374558 ns/iter (± 231801) 26164515 ns/iter (± 258216) 1.01
html/parser/parser_document/github_com_17_05_2022 8845670 ns/iter (± 22694) 8920930 ns/iter (± 37152) 0.99
html/parser/parser_document/stackoverflow_com_17_05_2022 7802513 ns/iter (± 9376) 7824715 ns/iter (± 6013) 1.00
html/parser/parser_document_fragment/css_2021_spec 26385785 ns/iter (± 289692) 26209877 ns/iter (± 141493) 1.01
html/parser/parser_document_fragment/github_com_17_05_2022 8837072 ns/iter (± 11011) 8871787 ns/iter (± 13004) 1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7774260 ns/iter (± 4791) 7805244 ns/iter (± 20214) 1.00

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

Please sign in to comment.