Skip to content

Commit

Permalink
feat(css/minifier): Support to and from with initial (#6613)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Dec 12, 2022
1 parent 2e50dd5 commit cb49fa6
Show file tree
Hide file tree
Showing 27 changed files with 1,902 additions and 61 deletions.
355 changes: 352 additions & 3 deletions crates/swc_atoms/words.txt

Large diffs are not rendered by default.

15 changes: 12 additions & 3 deletions crates/swc_css_ast/src/base.rs
Expand Up @@ -2,9 +2,10 @@ use is_macro::Is;
use swc_common::{ast_node, util::take::Take, EqIgnoreSpan, Span};

use crate::{
AlphaValue, AtRule, CalcSum, CmykComponent, Color, ComplexSelector, DashedIdent, Delimiter,
Dimension, Hue, Ident, Integer, KeyframeBlock, LayerName, Number, Percentage, Ratio,
RelativeSelectorList, SelectorList, Str, SupportsCondition, TokenAndSpan, UnicodeRange, Url,
AlphaValue, AnglePercentage, AtRule, CalcSum, CmykComponent, Color, ComplexSelector,
DashedIdent, Delimiter, Dimension, FrequencyPercentage, Hue, Ident, Integer, KeyframeBlock,
LayerName, LengthPercentage, Number, Percentage, Ratio, RelativeSelectorList, SelectorList,
Str, SupportsCondition, TimePercentage, TokenAndSpan, UnicodeRange, Url,
};

#[ast_node("Stylesheet")]
Expand Down Expand Up @@ -155,6 +156,14 @@ pub enum ComponentValue {
Percentage(Box<Percentage>),
#[tag("Dimension")]
Dimension(Box<Dimension>),
#[tag("LengthPercentage")]
LengthPercentage(Box<LengthPercentage>),
#[tag("FrequencyPercentage")]
FrequencyPercentage(Box<FrequencyPercentage>),
#[tag("AnglePercentage")]
AnglePercentage(Box<AnglePercentage>),
#[tag("TimePercentage")]
TimePercentage(Box<TimePercentage>),
#[tag("Ratio")]
Ratio(Box<Ratio>),
#[tag("UnicodeRange")]
Expand Down
58 changes: 45 additions & 13 deletions crates/swc_css_codegen/src/lib.rs
@@ -1,3 +1,4 @@
#![feature(box_patterns)]
#![deny(clippy::all)]
#![allow(clippy::needless_update)]

Expand Down Expand Up @@ -1162,20 +1163,26 @@ where
| ComponentValue::Delimiter(_)
| ComponentValue::Str(_)
| ComponentValue::Url(_)
| ComponentValue::Percentage(_) => match next {
Some(ComponentValue::Delimiter(delimiter))
if matches!(
**delimiter,
Delimiter {
value: DelimiterValue::Comma,
..
}
) =>
{
false
| ComponentValue::Percentage(_)
| ComponentValue::LengthPercentage(box LengthPercentage::Percentage(_))
| ComponentValue::FrequencyPercentage(box FrequencyPercentage::Percentage(_))
| ComponentValue::AnglePercentage(box AnglePercentage::Percentage(_))
| ComponentValue::TimePercentage(box TimePercentage::Percentage(_)) => {
match next {
Some(ComponentValue::Delimiter(delimiter))
if matches!(
**delimiter,
Delimiter {
value: DelimiterValue::Comma,
..
}
) =>
{
false
}
_ => !self.config.minify,
}
_ => !self.config.minify,
},
}
ComponentValue::Color(color)
if matches!(
**color,
Expand Down Expand Up @@ -1225,6 +1232,27 @@ where
true
}
}
Some(ComponentValue::LengthPercentage(box LengthPercentage::Length(
Length { value, .. },
)))
| Some(ComponentValue::FrequencyPercentage(
box FrequencyPercentage::Frequency(Frequency { value, .. }),
))
| Some(ComponentValue::AnglePercentage(box AnglePercentage::Angle(
Angle { value, .. },
)))
| Some(ComponentValue::TimePercentage(box TimePercentage::Time(Time {
value,
..
}))) => {
if self.config.minify {
let minified = minify_numeric(value.value);

!minified.starts_with('.')
} else {
true
}
}
Some(ComponentValue::Dimension(dimension)) => {
if self.config.minify {
let value = match &**dimension {
Expand Down Expand Up @@ -1417,6 +1445,10 @@ where
ComponentValue::Number(n) => emit!(self, n),
ComponentValue::Percentage(n) => emit!(self, n),
ComponentValue::Dimension(n) => emit!(self, n),
ComponentValue::LengthPercentage(n) => emit!(self, n),
ComponentValue::FrequencyPercentage(n) => emit!(self, n),
ComponentValue::AnglePercentage(n) => emit!(self, n),
ComponentValue::TimePercentage(n) => emit!(self, n),
ComponentValue::Ratio(n) => emit!(self, n),
ComponentValue::UnicodeRange(n) => emit!(self, n),
ComponentValue::Color(n) => emit!(self, n),
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_css_minifier/src/compressor/container.rs
Expand Up @@ -45,8 +45,8 @@ impl Compressor {
}

pub(super) fn compress_size_feature_value_length(&mut self, n: &mut SizeFeatureValue) {
if let SizeFeatureValue::Dimension(dimension) = n {
if let Some(number) = self.length_to_zero(dimension) {
if let SizeFeatureValue::Dimension(Dimension::Length(length)) = n {
if let Some(number) = self.length_to_zero(length) {
*n = SizeFeatureValue::Number(number)
}
}
Expand Down

1 comment on commit cb49fa6

@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: cb49fa6 Previous: 5c53a74 Ratio
es/full/bugs-1 301135 ns/iter (± 4576) 297189 ns/iter (± 9534) 1.01
es/full/minify/libraries/antd 1777688519 ns/iter (± 14998565) 1788839265 ns/iter (± 8397519) 0.99
es/full/minify/libraries/d3 355626050 ns/iter (± 7552951) 352522028 ns/iter (± 4237708) 1.01
es/full/minify/libraries/echarts 1514883484 ns/iter (± 22516241) 1492287203 ns/iter (± 12963983) 1.02
es/full/minify/libraries/jquery 92791596 ns/iter (± 1219954) 95306812 ns/iter (± 1247103) 0.97
es/full/minify/libraries/lodash 111539822 ns/iter (± 626628) 112490873 ns/iter (± 1392896) 0.99
es/full/minify/libraries/moment 54487100 ns/iter (± 416089) 54081730 ns/iter (± 228818) 1.01
es/full/minify/libraries/react 20089174 ns/iter (± 155299) 19844151 ns/iter (± 133927) 1.01
es/full/minify/libraries/terser 280089291 ns/iter (± 4568955) 273988859 ns/iter (± 3515827) 1.02
es/full/minify/libraries/three 511057701 ns/iter (± 6896271) 501287743 ns/iter (± 6702840) 1.02
es/full/minify/libraries/typescript 3389820845 ns/iter (± 17690293) 3338796641 ns/iter (± 14113038) 1.02
es/full/minify/libraries/victory 773747125 ns/iter (± 16124067) 752974171 ns/iter (± 13422604) 1.03
es/full/minify/libraries/vue 138468608 ns/iter (± 1701442) 139913301 ns/iter (± 1433866) 0.99
es/full/codegen/es3 30658 ns/iter (± 65) 27639 ns/iter (± 41) 1.11
es/full/codegen/es5 30720 ns/iter (± 57) 27602 ns/iter (± 57) 1.11
es/full/codegen/es2015 30683 ns/iter (± 57) 27626 ns/iter (± 44) 1.11
es/full/codegen/es2016 30722 ns/iter (± 71) 27663 ns/iter (± 38) 1.11
es/full/codegen/es2017 30772 ns/iter (± 68) 27667 ns/iter (± 66) 1.11
es/full/codegen/es2018 30745 ns/iter (± 55) 27600 ns/iter (± 71) 1.11
es/full/codegen/es2019 30812 ns/iter (± 79) 27674 ns/iter (± 117) 1.11
es/full/codegen/es2020 30749 ns/iter (± 47) 27581 ns/iter (± 49) 1.11
es/full/all/es3 169571672 ns/iter (± 2893593) 168496508 ns/iter (± 2979040) 1.01
es/full/all/es5 160921690 ns/iter (± 2783046) 159222890 ns/iter (± 2722897) 1.01
es/full/all/es2015 121660780 ns/iter (± 937414) 119464772 ns/iter (± 1395995) 1.02
es/full/all/es2016 120833543 ns/iter (± 615926) 118795967 ns/iter (± 981053) 1.02
es/full/all/es2017 121313417 ns/iter (± 917151) 117616454 ns/iter (± 689762) 1.03
es/full/all/es2018 119156334 ns/iter (± 783627) 116384546 ns/iter (± 944493) 1.02
es/full/all/es2019 118093977 ns/iter (± 953041) 115497521 ns/iter (± 781287) 1.02
es/full/all/es2020 113029507 ns/iter (± 1343902) 111334574 ns/iter (± 550293) 1.02
es/full/parser 516673 ns/iter (± 8488) 513765 ns/iter (± 9351) 1.01
es/full/base/fixer 22022 ns/iter (± 17) 21994 ns/iter (± 57) 1.00
es/full/base/resolver_and_hygiene 78405 ns/iter (± 79) 77995 ns/iter (± 88) 1.01
serialization of ast node 141 ns/iter (± 0) 140 ns/iter (± 0) 1.01
serialization of serde 122 ns/iter (± 0) 123 ns/iter (± 0) 0.99
css/minify/libraries/bootstrap 27000856 ns/iter (± 172645) 27873386 ns/iter (± 242665) 0.97
css/visitor/compare/clone 2083791 ns/iter (± 20190) 2100810 ns/iter (± 6723) 0.99
css/visitor/compare/visit_mut_span 2266436 ns/iter (± 10635) 2291397 ns/iter (± 3193) 0.99
css/visitor/compare/visit_mut_span_panic 2329297 ns/iter (± 4721) 2377296 ns/iter (± 9124) 0.98
css/visitor/compare/fold_span 2990462 ns/iter (± 19579) 3036668 ns/iter (± 29045) 0.98
css/visitor/compare/fold_span_panic 3146264 ns/iter (± 19808) 3171856 ns/iter (± 28746) 0.99
css/lexer/bootstrap_5_1_3 5201901 ns/iter (± 2661) 5354057 ns/iter (± 2358) 0.97
css/lexer/foundation_6_7_4 4422891 ns/iter (± 1914) 4497821 ns/iter (± 1212) 0.98
css/lexer/tailwind_3_1_1 828884 ns/iter (± 285) 853477 ns/iter (± 412) 0.97
css/parser/bootstrap_5_1_3 20988973 ns/iter (± 135666) 21323936 ns/iter (± 140795) 0.98
css/parser/foundation_6_7_4 16696670 ns/iter (± 55275) 16944316 ns/iter (± 43499) 0.99
css/parser/tailwind_3_1_1 3195690 ns/iter (± 2312) 3241103 ns/iter (± 3741) 0.99
es/codegen/colors 330654 ns/iter (± 185507) 324193 ns/iter (± 181316) 1.02
es/codegen/large 1198566 ns/iter (± 606099) 1210468 ns/iter (± 625843) 0.99
es/codegen/with-parser/colors 45547 ns/iter (± 314) 45997 ns/iter (± 433) 0.99
es/codegen/with-parser/large 505810 ns/iter (± 1125) 507164 ns/iter (± 1595) 1.00
es/minify/libraries/antd 1584000896 ns/iter (± 28230501) 1541129928 ns/iter (± 8935796) 1.03
es/minify/libraries/d3 306952850 ns/iter (± 6109364) 310652640 ns/iter (± 4914813) 0.99
es/minify/libraries/echarts 1328787507 ns/iter (± 10808017) 1297201636 ns/iter (± 9210393) 1.02
es/minify/libraries/jquery 79660129 ns/iter (± 700606) 80472440 ns/iter (± 1044962) 0.99
es/minify/libraries/lodash 99244688 ns/iter (± 1129864) 98698104 ns/iter (± 989199) 1.01
es/minify/libraries/moment 46881234 ns/iter (± 323162) 46585079 ns/iter (± 232543) 1.01
es/minify/libraries/react 17693242 ns/iter (± 170870) 17310616 ns/iter (± 98639) 1.02
es/minify/libraries/terser 232074908 ns/iter (± 6914739) 224745334 ns/iter (± 5364339) 1.03
es/minify/libraries/three 441215507 ns/iter (± 5373065) 418395244 ns/iter (± 9435455) 1.05
es/minify/libraries/typescript 2932359579 ns/iter (± 24334587) 2838194946 ns/iter (± 15034419) 1.03
es/minify/libraries/victory 663854788 ns/iter (± 7125157) 646097052 ns/iter (± 10394243) 1.03
es/minify/libraries/vue 124240579 ns/iter (± 1284894) 121629328 ns/iter (± 1480594) 1.02
es/visitor/compare/clone 2433081 ns/iter (± 11065) 2415949 ns/iter (± 23669) 1.01
es/visitor/compare/visit_mut_span 2849375 ns/iter (± 9695) 2814925 ns/iter (± 10308) 1.01
es/visitor/compare/visit_mut_span_panic 2894100 ns/iter (± 5069) 2884296 ns/iter (± 11762) 1.00
es/visitor/compare/fold_span 4007594 ns/iter (± 73027) 3985486 ns/iter (± 24141) 1.01
es/visitor/compare/fold_span_panic 4142032 ns/iter (± 23052) 4160285 ns/iter (± 41591) 1.00
es/lexer/colors 17260 ns/iter (± 5) 17368 ns/iter (± 7) 0.99
es/lexer/angular 8251106 ns/iter (± 12595) 8192094 ns/iter (± 2208) 1.01
es/lexer/backbone 1076194 ns/iter (± 539) 1071225 ns/iter (± 302) 1.00
es/lexer/jquery 5966365 ns/iter (± 1099) 5942632 ns/iter (± 2205) 1.00
es/lexer/jquery mobile 9199566 ns/iter (± 5731) 9164574 ns/iter (± 8585) 1.00
es/lexer/mootools 4692263 ns/iter (± 6105) 4662200 ns/iter (± 870) 1.01
es/lexer/underscore 898348 ns/iter (± 477) 893300 ns/iter (± 289) 1.01
es/lexer/three 27995917 ns/iter (± 30501) 27841044 ns/iter (± 13867) 1.01
es/lexer/yui 5053427 ns/iter (± 8263) 5053496 ns/iter (± 54542) 1.00
es/parser/colors 31427 ns/iter (± 176) 31581 ns/iter (± 167) 1.00
es/parser/angular 16479743 ns/iter (± 267836) 16537277 ns/iter (± 218729) 1.00
es/parser/backbone 2340483 ns/iter (± 11426) 2334049 ns/iter (± 10590) 1.00
es/parser/jquery 12937036 ns/iter (± 117309) 12765690 ns/iter (± 127119) 1.01
es/parser/jquery mobile 21790784 ns/iter (± 514863) 20793798 ns/iter (± 359477) 1.05
es/parser/mootools 9822047 ns/iter (± 48353) 9630809 ns/iter (± 36342) 1.02
es/parser/underscore 1998102 ns/iter (± 12241) 1972700 ns/iter (± 9125) 1.01
es/parser/three 62715363 ns/iter (± 408859) 61134242 ns/iter (± 318710) 1.03
es/parser/yui 9935974 ns/iter (± 109931) 9819279 ns/iter (± 92840) 1.01
es/preset-env/usage/builtin_type 144140 ns/iter (± 32736) 138553 ns/iter (± 30882) 1.04
es/preset-env/usage/property 21711 ns/iter (± 138) 20930 ns/iter (± 104) 1.04
es/resolver/typescript 127469494 ns/iter (± 4393150) 119749231 ns/iter (± 3289395) 1.06
es/fixer/typescript 101071175 ns/iter (± 1576237) 96528609 ns/iter (± 2256875) 1.05
es/hygiene/typescript 202027565 ns/iter (± 2548330) 190317203 ns/iter (± 2083343) 1.06
es/resolver_with_hygiene/typescript 342049774 ns/iter (± 2705763) 327768076 ns/iter (± 2476977) 1.04
es/visitor/base-perf/module_clone 74356 ns/iter (± 1605) 74019 ns/iter (± 1303) 1.00
es/visitor/base-perf/fold_empty 86489 ns/iter (± 1335) 85756 ns/iter (± 1487) 1.01
es/visitor/base-perf/fold_noop_impl_all 86693 ns/iter (± 1438) 86415 ns/iter (± 1210) 1.00
es/visitor/base-perf/fold_noop_impl_vec 86623 ns/iter (± 1863) 86669 ns/iter (± 1791) 1.00
es/visitor/base-perf/boxing_boxed_clone 54 ns/iter (± 0) 54 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed_clone 58 ns/iter (± 0) 59 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_boxed 100 ns/iter (± 0) 100 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed 101 ns/iter (± 0) 101 ns/iter (± 0) 1
es/visitor/base-perf/visit_contains_this 3511 ns/iter (± 64) 3538 ns/iter (± 83) 0.99
es/base/parallel/resolver/typescript 4725974833 ns/iter (± 247188998) 5760400076 ns/iter (± 328863240) 0.82
es/base/parallel/hygiene/typescript 2263917331 ns/iter (± 39871593) 2230002686 ns/iter (± 33276548) 1.02
misc/visitors/time-complexity/time 5 97 ns/iter (± 2) 108 ns/iter (± 0) 0.90
misc/visitors/time-complexity/time 10 308 ns/iter (± 1) 336 ns/iter (± 0) 0.92
misc/visitors/time-complexity/time 15 652 ns/iter (± 4) 692 ns/iter (± 0) 0.94
misc/visitors/time-complexity/time 20 1184 ns/iter (± 3) 1311 ns/iter (± 35) 0.90
misc/visitors/time-complexity/time 40 6177 ns/iter (± 3) 6749 ns/iter (± 27) 0.92
misc/visitors/time-complexity/time 60 15509 ns/iter (± 22) 17227 ns/iter (± 2) 0.90
es/full-target/es2016 186499 ns/iter (± 373) 187773 ns/iter (± 489) 0.99
es/full-target/es2017 179950 ns/iter (± 355) 180514 ns/iter (± 1497) 1.00
es/full-target/es2018 169389 ns/iter (± 399) 169973 ns/iter (± 416) 1.00
es2020_nullish_coalescing 65469 ns/iter (± 250) 65803 ns/iter (± 241) 0.99
es2020_optional_chaining 93859 ns/iter (± 284) 103553 ns/iter (± 11120) 0.91
es2022_class_properties 91845 ns/iter (± 215) 93186 ns/iter (± 301) 0.99
es2018_object_rest_spread 70022 ns/iter (± 142) 70058 ns/iter (± 152) 1.00
es2019_optional_catch_binding 60021 ns/iter (± 135) 59916 ns/iter (± 117) 1.00
es2017_async_to_generator 60191 ns/iter (± 105) 60299 ns/iter (± 66) 1.00
es2016_exponentiation 63327 ns/iter (± 69) 63426 ns/iter (± 69) 1.00
es2015_arrow 69065 ns/iter (± 288) 69045 ns/iter (± 313) 1.00
es2015_block_scoped_fn 64531 ns/iter (± 72) 64522 ns/iter (± 116) 1.00
es2015_block_scoping 153733 ns/iter (± 7772) 141503 ns/iter (± 8232) 1.09
es2015_classes 114944 ns/iter (± 487) 114954 ns/iter (± 524) 1.00
es2015_computed_props 59746 ns/iter (± 83) 60008 ns/iter (± 122) 1.00
es2015_destructuring 114457 ns/iter (± 274) 115136 ns/iter (± 261) 0.99
es2015_duplicate_keys 62615 ns/iter (± 69) 62077 ns/iter (± 125) 1.01
es2015_parameters 77567 ns/iter (± 110) 78033 ns/iter (± 168) 0.99
es2015_fn_name 65604 ns/iter (± 629) 65259 ns/iter (± 619) 1.01
es2015_for_of 62780 ns/iter (± 63) 62739 ns/iter (± 175) 1.00
es2015_instanceof 61503 ns/iter (± 40) 61560 ns/iter (± 128) 1.00
es2015_shorthand_property 59475 ns/iter (± 109) 59542 ns/iter (± 50) 1.00
es2015_spread 59522 ns/iter (± 89) 59653 ns/iter (± 97) 1.00
es2015_sticky_regex 60850 ns/iter (± 65) 60759 ns/iter (± 216) 1.00
es2015_typeof_symbol 60846 ns/iter (± 117) 60796 ns/iter (± 139) 1.00
es/transform/baseline/base 50397 ns/iter (± 114) 50343 ns/iter (± 409) 1.00
es/transform/baseline/common_reserved_word 61732 ns/iter (± 63) 61567 ns/iter (± 112) 1.00
es/transform/baseline/common_typescript 142919 ns/iter (± 8526) 142514 ns/iter (± 291) 1.00
es/target/es3 168620 ns/iter (± 324) 169325 ns/iter (± 247) 1.00
es/target/es2015 627939 ns/iter (± 2189) 630563 ns/iter (± 1308) 1.00
es/target/es2016 63412 ns/iter (± 176) 63495 ns/iter (± 134) 1.00
es/target/es2017 60243 ns/iter (± 121) 60549 ns/iter (± 62) 0.99
es/target/es2018 80014 ns/iter (± 111) 80131 ns/iter (± 145) 1.00
es/target/es2020 130777 ns/iter (± 244) 132009 ns/iter (± 296) 0.99
babelify-only 670796 ns/iter (± 1395) 674936 ns/iter (± 1908) 0.99
parse_and_babelify_angular 45575977 ns/iter (± 631837) 43980552 ns/iter (± 561597) 1.04
parse_and_babelify_backbone 5579002 ns/iter (± 87872) 5504424 ns/iter (± 64653) 1.01
parse_and_babelify_jquery 34556946 ns/iter (± 319709) 34041347 ns/iter (± 444773) 1.02
parse_and_babelify_jquery_mobile 60697632 ns/iter (± 812101) 58516283 ns/iter (± 993184) 1.04
parse_and_babelify_mootools 36034156 ns/iter (± 720019) 35792494 ns/iter (± 512257) 1.01
parse_and_babelify_underscore 4392348 ns/iter (± 65342) 4387924 ns/iter (± 20356) 1.00
parse_and_babelify_yui 35666485 ns/iter (± 1141960) 35153627 ns/iter (± 513533) 1.01
html/minify/document/css_spec 44875149 ns/iter (± 214242) 44886676 ns/iter (± 339746) 1.00
html/minify/document/github 18691881 ns/iter (± 191931) 18677566 ns/iter (± 45219) 1.00
html/minify/document/stackoverflow 16393769 ns/iter (± 135779) 16319672 ns/iter (± 64373) 1.00
html/minify/document_fragment/css_spec 42931586 ns/iter (± 354578) 42825238 ns/iter (± 334281) 1.00
html/minify/document_fragment/github 17945860 ns/iter (± 37059) 17825768 ns/iter (± 50405) 1.01
html/minify/document_fragment/stackoverflow 15900982 ns/iter (± 68143) 15942631 ns/iter (± 89821) 1.00
html/document/visitor/compare/clone 342898 ns/iter (± 1767) 341664 ns/iter (± 1573) 1.00
html/document/visitor/compare/visit_mut_span 367908 ns/iter (± 2398) 376274 ns/iter (± 1918) 0.98
html/document/visitor/compare/visit_mut_span_panic 373768 ns/iter (± 2038) 382157 ns/iter (± 2260) 0.98
html/document/visitor/compare/fold_span 405716 ns/iter (± 2323) 408633 ns/iter (± 2531) 0.99
html/document/visitor/compare/fold_span_panic 470168 ns/iter (± 1097) 464034 ns/iter (± 1320) 1.01
html/document_fragment/visitor/compare/clone 340877 ns/iter (± 2207) 338882 ns/iter (± 1449) 1.01
html/document_fragment/visitor/compare/visit_mut_span 365223 ns/iter (± 12397) 365606 ns/iter (± 2722) 1.00
html/document_fragment/visitor/compare/visit_mut_span_panic 376189 ns/iter (± 1647) 372206 ns/iter (± 2095) 1.01
html/document_fragment/visitor/compare/fold_span 409090 ns/iter (± 2219) 402089 ns/iter (± 998) 1.02
html/document_fragment/visitor/compare/fold_span_panic 461966 ns/iter (± 2711) 459496 ns/iter (± 2210) 1.01
html/lexer/css_2021_spec 15547405 ns/iter (± 9870) 15539046 ns/iter (± 25259) 1.00
html/lexer/github_com_17_05_2022 6060067 ns/iter (± 4160) 6055910 ns/iter (± 6325) 1.00
html/lexer/stackoverflow_com_17_05_2022 5642377 ns/iter (± 1762) 5650744 ns/iter (± 1492) 1.00
html/parser/parser_document/css_2021_spec 26520941 ns/iter (± 152735) 26566292 ns/iter (± 364086) 1.00
html/parser/parser_document/github_com_17_05_2022 8802645 ns/iter (± 33933) 8805324 ns/iter (± 27864) 1.00
html/parser/parser_document/stackoverflow_com_17_05_2022 7759654 ns/iter (± 6667) 7776036 ns/iter (± 9102) 1.00
html/parser/parser_document_fragment/css_2021_spec 26500085 ns/iter (± 271712) 27345337 ns/iter (± 375930) 0.97
html/parser/parser_document_fragment/github_com_17_05_2022 8787638 ns/iter (± 12706) 8825480 ns/iter (± 13066) 1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7742699 ns/iter (± 11868) 7812447 ns/iter (± 8413) 0.99

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

Please sign in to comment.