Skip to content

Commit

Permalink
feat(preset-env): Upgrade browserslist-rs (#9023)
Browse files Browse the repository at this point in the history
**Description:**

Compilation time of browserslist-rs has beed reduced by 32%. See:
browserslist/browserslist-rs#23

But, it's still slower that oxc-browserslist:


![image](https://github.com/swc-project/swc/assets/17216317/44602603-e33f-442e-9ee0-242061089397)

while browserslist-rs costs about 3.9s.




**Related issue:**

Close #9014

---------

Co-authored-by: 강동윤 (Donny) <kdy1997.dev@gmail.com>
  • Loading branch information
g-plane and kdy1 authored Jul 1, 2024
1 parent 6ce0e71 commit 18d6277
Show file tree
Hide file tree
Showing 21 changed files with 2,067 additions and 321 deletions.
131 changes: 38 additions & 93 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ resolver = "2"
backtrace = "0.3.61"
base64 = "0.21.0"
bitflags = "2.5.0"
browserslist-rs = "0.15.0"
browserslist-rs = "0.16.0"
cfg-if = "1.0.0"
chrono = "0.4.31"
chrono = "0.4.38"
console_error_panic_hook = "0.1.7"
copyless = "0.1.5"
crc = "2.1.0"
Expand Down
Loading

1 comment on commit 18d6277

@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: 18d6277 Previous: 6520052 Ratio
es/full/bugs-1 274740 ns/iter (± 8567) 293089 ns/iter (± 13696) 0.94
es/full/minify/libraries/antd 1948297984 ns/iter (± 33267501) 1948681642 ns/iter (± 87563437) 1.00
es/full/minify/libraries/d3 384738228 ns/iter (± 13589212) 379758700 ns/iter (± 9011528) 1.01
es/full/minify/libraries/echarts 1639546636 ns/iter (± 28497956) 1641027505 ns/iter (± 35608658) 1.00
es/full/minify/libraries/jquery 105395923 ns/iter (± 660487) 103453256 ns/iter (± 895245) 1.02
es/full/minify/libraries/lodash 115909767 ns/iter (± 493973) 114589318 ns/iter (± 2084122) 1.01
es/full/minify/libraries/moment 60702174 ns/iter (± 476059) 59893059 ns/iter (± 692980) 1.01
es/full/minify/libraries/react 18615965 ns/iter (± 41358) 18399612 ns/iter (± 56523) 1.01
es/full/minify/libraries/terser 286995454 ns/iter (± 3836126) 284661753 ns/iter (± 10077965) 1.01
es/full/minify/libraries/three 507712694 ns/iter (± 21354769) 474768848 ns/iter (± 20510876) 1.07
es/full/minify/libraries/typescript 3419915940 ns/iter (± 32964641) 3243307312 ns/iter (± 61530533) 1.05
es/full/minify/libraries/victory 826069187 ns/iter (± 25635564) 767389068 ns/iter (± 43436322) 1.08
es/full/minify/libraries/vue 148922429 ns/iter (± 793042) 145684121 ns/iter (± 1303763) 1.02
es/full/codegen/es3 59605 ns/iter (± 105) 59136 ns/iter (± 213) 1.01
es/full/codegen/es5 59983 ns/iter (± 1690) 59035 ns/iter (± 345) 1.02
es/full/codegen/es2015 59522 ns/iter (± 166) 58791 ns/iter (± 169) 1.01
es/full/codegen/es2016 59645 ns/iter (± 144) 59394 ns/iter (± 333) 1.00
es/full/codegen/es2017 59972 ns/iter (± 254) 59148 ns/iter (± 4720) 1.01
es/full/codegen/es2018 59618 ns/iter (± 100) 58920 ns/iter (± 71) 1.01
es/full/codegen/es2019 59763 ns/iter (± 1062) 59042 ns/iter (± 285) 1.01
es/full/codegen/es2020 59546 ns/iter (± 1178) 59081 ns/iter (± 125) 1.01
es/full/all/es3 159553812 ns/iter (± 905569) 158795242 ns/iter (± 984412) 1.00
es/full/all/es5 153043409 ns/iter (± 723650) 152816626 ns/iter (± 749585) 1.00
es/full/all/es2015 112861039 ns/iter (± 609274) 113676584 ns/iter (± 904080) 0.99
es/full/all/es2016 111768427 ns/iter (± 1034658) 112757378 ns/iter (± 1274678) 0.99
es/full/all/es2017 112165530 ns/iter (± 1081088) 111803621 ns/iter (± 908041) 1.00
es/full/all/es2018 109805908 ns/iter (± 634892) 110211048 ns/iter (± 662503) 1.00
es/full/all/es2019 108902441 ns/iter (± 780108) 110078287 ns/iter (± 818459) 0.99
es/full/all/es2020 104683768 ns/iter (± 559821) 105927813 ns/iter (± 599635) 0.99
es/full/parser 436866 ns/iter (± 1935) 444188 ns/iter (± 2633) 0.98
es/full/base/fixer 17283 ns/iter (± 824) 15958 ns/iter (± 108) 1.08
es/full/base/resolver_and_hygiene 81889 ns/iter (± 242) 81486 ns/iter (± 249) 1.00
serialization of serde 270 ns/iter (± 5) 276 ns/iter (± 3) 0.98
css/minify/libraries/bootstrap 21990984 ns/iter (± 131861) 22196499 ns/iter (± 177067) 0.99
css/visitor/compare/clone 1371283 ns/iter (± 12823) 1402731 ns/iter (± 7828) 0.98
css/visitor/compare/visit_mut_span 1478290 ns/iter (± 6105) 1532766 ns/iter (± 13833) 0.96
css/visitor/compare/visit_mut_span_panic 1510477 ns/iter (± 16035) 1533517 ns/iter (± 33515) 0.98
css/visitor/compare/fold_span 2003608 ns/iter (± 10308) 2046352 ns/iter (± 14582) 0.98
css/visitor/compare/fold_span_panic 2145437 ns/iter (± 6830) 2165768 ns/iter (± 8087) 0.99
css/lexer/bootstrap_5_1_3 3458837 ns/iter (± 12978) 3407396 ns/iter (± 1906) 1.02
css/lexer/foundation_6_7_4 2790187 ns/iter (± 4442) 2792600 ns/iter (± 13973) 1.00
css/lexer/tailwind_3_1_1 537061 ns/iter (± 521) 536448 ns/iter (± 4589) 1.00
css/parser/bootstrap_5_1_3 16137376 ns/iter (± 98003) 16021858 ns/iter (± 108823) 1.01
css/parser/foundation_6_7_4 12988299 ns/iter (± 63968) 12832229 ns/iter (± 23805) 1.01
css/parser/tailwind_3_1_1 2543914 ns/iter (± 7843) 2524844 ns/iter (± 2842) 1.01
es/codegen/colors 735510 ns/iter (± 403388) 727710 ns/iter (± 402266) 1.01
es/codegen/large 2989078 ns/iter (± 1584256) 2989574 ns/iter (± 1614311) 1.00
es/codegen/with-parser/colors 39447 ns/iter (± 276) 39096 ns/iter (± 283) 1.01
es/codegen/with-parser/large 454670 ns/iter (± 4369) 449554 ns/iter (± 1725) 1.01
es/minify/libraries/antd 1448232247 ns/iter (± 24687433) 1351530456 ns/iter (± 24520721) 1.07
es/minify/libraries/d3 287371487 ns/iter (± 7836728) 274859638 ns/iter (± 9149185) 1.05
es/minify/libraries/echarts 1191837645 ns/iter (± 14943779) 1106987029 ns/iter (± 18161980) 1.08
es/minify/libraries/jquery 82932976 ns/iter (± 162882) 80687874 ns/iter (± 666948) 1.03
es/minify/libraries/lodash 104399876 ns/iter (± 611631) 101304503 ns/iter (± 747495) 1.03
es/minify/libraries/moment 48245432 ns/iter (± 109828) 47057573 ns/iter (± 542980) 1.03
es/minify/libraries/react 16315928 ns/iter (± 77910) 15893525 ns/iter (± 191226) 1.03
es/minify/libraries/terser 219701700 ns/iter (± 1591565) 208403587 ns/iter (± 2219750) 1.05
es/minify/libraries/three 368266889 ns/iter (± 7037697) 347050480 ns/iter (± 4093390) 1.06
es/minify/libraries/typescript 2767943228 ns/iter (± 22357250) 2594117980 ns/iter (± 14822858) 1.07
es/minify/libraries/victory 601433534 ns/iter (± 10630027) 545065267 ns/iter (± 6558200) 1.10
es/minify/libraries/vue 121631023 ns/iter (± 459248) 117523729 ns/iter (± 1711719) 1.03
es/visitor/compare/clone 1710043 ns/iter (± 18132) 1745882 ns/iter (± 9611) 0.98
es/visitor/compare/visit_mut_span 2045916 ns/iter (± 20932) 2091803 ns/iter (± 5902) 0.98
es/visitor/compare/visit_mut_span_panic 2056342 ns/iter (± 32630) 2084364 ns/iter (± 23752) 0.99
es/visitor/compare/fold_span 2756945 ns/iter (± 16628) 2819818 ns/iter (± 3516) 0.98
es/visitor/compare/fold_span_panic 2799645 ns/iter (± 6798) 2855652 ns/iter (± 8139) 0.98
es/lexer/colors 8898 ns/iter (± 70) 8875 ns/iter (± 286) 1.00
es/lexer/angular 4186576 ns/iter (± 5146) 4377633 ns/iter (± 26485) 0.96
es/lexer/backbone 634084 ns/iter (± 1125) 641996 ns/iter (± 1530) 0.99
es/lexer/jquery 3577237 ns/iter (± 10068) 3583127 ns/iter (± 3609) 1.00
es/lexer/jquery mobile 5266734 ns/iter (± 14817) 5299816 ns/iter (± 17297) 0.99
es/lexer/mootools 2807805 ns/iter (± 5367) 2868825 ns/iter (± 1657) 0.98
es/lexer/underscore 532429 ns/iter (± 1478) 538102 ns/iter (± 2183) 0.99
es/lexer/three 16131636 ns/iter (± 45210) 16391855 ns/iter (± 64455) 0.98
es/lexer/yui 2775643 ns/iter (± 37225) 2801105 ns/iter (± 9301) 0.99
es/lexer/cal-com 13385284 ns/iter (± 98489) 13043906 ns/iter (± 13051) 1.03
es/lexer/typescript 103756650 ns/iter (± 647125) 92722712 ns/iter (± 109639) 1.12
es/parser/colors 22605 ns/iter (± 111) 22818 ns/iter (± 89) 0.99
es/parser/angular 11655483 ns/iter (± 68557) 11746497 ns/iter (± 83322) 0.99
es/parser/backbone 1804203 ns/iter (± 17655) 1824173 ns/iter (± 6430) 0.99
es/parser/jquery 10055616 ns/iter (± 53488) 10017101 ns/iter (± 67992) 1.00
es/parser/jquery mobile 15112127 ns/iter (± 116665) 15136243 ns/iter (± 180466) 1.00
es/parser/mootools 7802864 ns/iter (± 10720) 7804437 ns/iter (± 23122) 1.00
es/parser/underscore 1576190 ns/iter (± 6259) 1588202 ns/iter (± 5768) 0.99
es/parser/three 43014491 ns/iter (± 234644) 43777876 ns/iter (± 398516) 0.98
es/parser/yui 7189589 ns/iter (± 34439) 7262230 ns/iter (± 41840) 0.99
es/parser/cal-com 38652414 ns/iter (± 182698) 39233046 ns/iter (± 261605) 0.99
es/parser/typescript 265000460 ns/iter (± 800091) 271407906 ns/iter (± 687417) 0.98
es/preset-env/usage/builtin_type 136319 ns/iter (± 34714) 135126 ns/iter (± 34049) 1.01
es/preset-env/usage/property 16083 ns/iter (± 80) 16466 ns/iter (± 94) 0.98
es/resolver/typescript 103553980 ns/iter (± 2976955) 104335733 ns/iter (± 2280044) 0.99
es/fixer/typescript 79832907 ns/iter (± 2574057) 84027587 ns/iter (± 3752287) 0.95
es/hygiene/typescript 190303783 ns/iter (± 2795659) 191803429 ns/iter (± 4668947) 0.99
es/resolver_with_hygiene/typescript 325451363 ns/iter (± 7879877) 329467544 ns/iter (± 5357214) 0.99
es/visitor/base-perf/module_clone 57881 ns/iter (± 1219) 56563 ns/iter (± 802) 1.02
es/visitor/base-perf/fold_empty 60973 ns/iter (± 364) 59723 ns/iter (± 1231) 1.02
es/visitor/base-perf/fold_noop_impl_all 61056 ns/iter (± 1478) 59112 ns/iter (± 433) 1.03
es/visitor/base-perf/fold_noop_impl_vec 61111 ns/iter (± 262) 59286 ns/iter (± 403) 1.03
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) 47 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 106 ns/iter (± 0) 106 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed 82 ns/iter (± 0) 81 ns/iter (± 0) 1.01
es/visitor/base-perf/visit_contains_this 2739 ns/iter (± 11) 2621 ns/iter (± 5) 1.05
es/base/parallel/resolver/typescript 2545495557 ns/iter (± 218623266) 2434946119 ns/iter (± 139167811) 1.05
es/base/parallel/hygiene/typescript 3283963704 ns/iter (± 69321561) 3228303257 ns/iter (± 66424142) 1.02
babelify-only 492618 ns/iter (± 5560) 494842 ns/iter (± 3284) 1.00
parse_and_babelify_angular 44727452 ns/iter (± 657754) 37270830 ns/iter (± 2770562) 1.20
parse_and_babelify_backbone 4385044 ns/iter (± 45874) 4329236 ns/iter (± 120416) 1.01
parse_and_babelify_jquery 29300559 ns/iter (± 393196) 28093426 ns/iter (± 239800) 1.04
parse_and_babelify_jquery_mobile 51752659 ns/iter (± 649453) 50148630 ns/iter (± 1041334) 1.03
parse_and_babelify_mootools 27044816 ns/iter (± 251025) 25215179 ns/iter (± 315373) 1.07
parse_and_babelify_underscore 3653977 ns/iter (± 28305) 3637254 ns/iter (± 19248) 1.00
parse_and_babelify_yui 24716782 ns/iter (± 922336) 23364755 ns/iter (± 619737) 1.06
html/minify/document/css_spec 45608888 ns/iter (± 1088551) 45558091 ns/iter (± 879706) 1.00
html/minify/document/github 18468444 ns/iter (± 280104) 18216688 ns/iter (± 53450) 1.01
html/minify/document/stackoverflow 16735653 ns/iter (± 274584) 16609660 ns/iter (± 767915) 1.01
html/minify/document_fragment/css_spec 44976586 ns/iter (± 136966) 44310087 ns/iter (± 155623) 1.02
html/minify/document_fragment/github 18171367 ns/iter (± 45763) 17838503 ns/iter (± 31563) 1.02
html/minify/document_fragment/stackoverflow 16610583 ns/iter (± 19545) 16315978 ns/iter (± 45920) 1.02
html/document/visitor/compare/clone 165777 ns/iter (± 1342) 166689 ns/iter (± 1021) 0.99
html/document/visitor/compare/visit_mut_span 183637 ns/iter (± 468) 181661 ns/iter (± 3390) 1.01
html/document/visitor/compare/visit_mut_span_panic 187471 ns/iter (± 5322) 190704 ns/iter (± 7145) 0.98
html/document/visitor/compare/fold_span 231184 ns/iter (± 1540) 228840 ns/iter (± 1269) 1.01
html/document/visitor/compare/fold_span_panic 282060 ns/iter (± 898) 278354 ns/iter (± 1326) 1.01
html/document_fragment/visitor/compare/clone 166545 ns/iter (± 1020) 165814 ns/iter (± 699) 1.00
html/document_fragment/visitor/compare/visit_mut_span 183231 ns/iter (± 861) 181845 ns/iter (± 1145) 1.01
html/document_fragment/visitor/compare/visit_mut_span_panic 189998 ns/iter (± 1469) 187545 ns/iter (± 1300) 1.01
html/document_fragment/visitor/compare/fold_span 232548 ns/iter (± 582) 228095 ns/iter (± 866) 1.02
html/document_fragment/visitor/compare/fold_span_panic 284245 ns/iter (± 1041) 278111 ns/iter (± 904) 1.02
html/lexer/css_2021_spec 12827379 ns/iter (± 27769) 13107241 ns/iter (± 21383) 0.98
html/lexer/github_com_17_05_2022 4922650 ns/iter (± 10119) 5073616 ns/iter (± 86065) 0.97
html/lexer/stackoverflow_com_17_05_2022 4665970 ns/iter (± 18863) 4806228 ns/iter (± 4352) 0.97
html/parser/parser_document/css_2021_spec 25698328 ns/iter (± 72293) 26647057 ns/iter (± 337826) 0.96
html/parser/parser_document/github_com_17_05_2022 8555125 ns/iter (± 20440) 8775629 ns/iter (± 39403) 0.97
html/parser/parser_document/stackoverflow_com_17_05_2022 7515865 ns/iter (± 14226) 7678394 ns/iter (± 20544) 0.98
html/parser/parser_document_fragment/css_2021_spec 25590750 ns/iter (± 31142) 26403644 ns/iter (± 181686) 0.97
html/parser/parser_document_fragment/github_com_17_05_2022 8539925 ns/iter (± 11771) 8683409 ns/iter (± 39377) 0.98
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7538176 ns/iter (± 9423) 7619591 ns/iter (± 14804) 0.99

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

Please sign in to comment.