Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(css/parser): Normalize selector AST (#6657)
- Loading branch information
1 parent
3cefa62
commit 649438b
Showing
24 changed files
with
649 additions
and
96 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
crates/swc_css_codegen/tests/fixture/selectors/pseudo-class/an_plus_b/output.min.css
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
crates/swc_css_minifier/tests/fixture/compress-selector/output.min.css
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
649438b
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark
es/full/bugs-1
296299
ns/iter (± 16273
)307549
ns/iter (± 17103
)0.96
es/full/minify/libraries/antd
1830287585
ns/iter (± 11651720
)1747643644
ns/iter (± 19341265
)1.05
es/full/minify/libraries/d3
365293821
ns/iter (± 11331611
)313284816
ns/iter (± 4775108
)1.17
es/full/minify/libraries/echarts
1503875690
ns/iter (± 18090508
)1354874075
ns/iter (± 12750915
)1.11
es/full/minify/libraries/jquery
93585985
ns/iter (± 1328737
)92036818
ns/iter (± 776717
)1.02
es/full/minify/libraries/lodash
112260190
ns/iter (± 1093909
)107803067
ns/iter (± 793937
)1.04
es/full/minify/libraries/moment
54524652
ns/iter (± 514091
)53624495
ns/iter (± 356373
)1.02
es/full/minify/libraries/react
20227393
ns/iter (± 197217
)19217933
ns/iter (± 334353
)1.05
es/full/minify/libraries/terser
282131741
ns/iter (± 6065975
)257417945
ns/iter (± 2765754
)1.10
es/full/minify/libraries/three
514857603
ns/iter (± 13343668
)491971444
ns/iter (± 5626645
)1.05
es/full/minify/libraries/typescript
3395964686
ns/iter (± 20901087
)3343596629
ns/iter (± 36374127
)1.02
es/full/minify/libraries/victory
757394783
ns/iter (± 17750687
)755861182
ns/iter (± 15794788
)1.00
es/full/minify/libraries/vue
138965072
ns/iter (± 1542790
)132540867
ns/iter (± 2237567
)1.05
es/full/codegen/es3
27769
ns/iter (± 79
)27342
ns/iter (± 60
)1.02
es/full/codegen/es5
27732
ns/iter (± 39
)27224
ns/iter (± 48
)1.02
es/full/codegen/es2015
27739
ns/iter (± 57
)27206
ns/iter (± 75
)1.02
es/full/codegen/es2016
27756
ns/iter (± 48
)27199
ns/iter (± 58
)1.02
es/full/codegen/es2017
27777
ns/iter (± 48
)27159
ns/iter (± 64
)1.02
es/full/codegen/es2018
27769
ns/iter (± 101
)27169
ns/iter (± 72
)1.02
es/full/codegen/es2019
27796
ns/iter (± 29
)27196
ns/iter (± 38
)1.02
es/full/codegen/es2020
27752
ns/iter (± 182
)27183
ns/iter (± 58
)1.02
es/full/all/es3
167465553
ns/iter (± 1775235
)165807884
ns/iter (± 2838023
)1.01
es/full/all/es5
159781498
ns/iter (± 2388322
)159599653
ns/iter (± 1206851
)1.00
es/full/all/es2015
120376769
ns/iter (± 1341563
)119457396
ns/iter (± 651824
)1.01
es/full/all/es2016
119429811
ns/iter (± 861873
)118742186
ns/iter (± 754297
)1.01
es/full/all/es2017
118443911
ns/iter (± 1092097
)117044212
ns/iter (± 946954
)1.01
es/full/all/es2018
116927849
ns/iter (± 971921
)115900335
ns/iter (± 625258
)1.01
es/full/all/es2019
116778817
ns/iter (± 1686421
)115242257
ns/iter (± 757364
)1.01
es/full/all/es2020
111374015
ns/iter (± 802977
)110804480
ns/iter (± 773503
)1.01
es/full/parser
509953
ns/iter (± 8214
)517522
ns/iter (± 8407
)0.99
es/full/base/fixer
21825
ns/iter (± 30
)21674
ns/iter (± 24
)1.01
es/full/base/resolver_and_hygiene
77565
ns/iter (± 61
)77950
ns/iter (± 400
)1.00
serialization of ast node
139
ns/iter (± 3
)138
ns/iter (± 0
)1.01
serialization of serde
124
ns/iter (± 0
)124
ns/iter (± 0
)1
css/minify/libraries/bootstrap
27548919
ns/iter (± 124215
)27171931
ns/iter (± 159908
)1.01
css/visitor/compare/clone
2090187
ns/iter (± 12060
)2052928
ns/iter (± 16640
)1.02
css/visitor/compare/visit_mut_span
2287550
ns/iter (± 3396
)2254912
ns/iter (± 5824
)1.01
css/visitor/compare/visit_mut_span_panic
2292746
ns/iter (± 3696
)2302595
ns/iter (± 3875
)1.00
css/visitor/compare/fold_span
2988188
ns/iter (± 18535
)3014376
ns/iter (± 22136
)0.99
css/visitor/compare/fold_span_panic
3139496
ns/iter (± 36674
)3140004
ns/iter (± 21920
)1.00
css/lexer/bootstrap_5_1_3
5226417
ns/iter (± 2201
)5195876
ns/iter (± 5685
)1.01
css/lexer/foundation_6_7_4
4433659
ns/iter (± 679
)4411955
ns/iter (± 5414
)1.00
css/lexer/tailwind_3_1_1
830767
ns/iter (± 443
)827014
ns/iter (± 921
)1.00
css/parser/bootstrap_5_1_3
20894488
ns/iter (± 139751
)20795778
ns/iter (± 92331
)1.00
css/parser/foundation_6_7_4
16622741
ns/iter (± 83392
)16614590
ns/iter (± 358718
)1.00
css/parser/tailwind_3_1_1
3196895
ns/iter (± 3197
)3191332
ns/iter (± 1817
)1.00
es/codegen/colors
323693
ns/iter (± 182127
)322832
ns/iter (± 181265
)1.00
es/codegen/large
1241612
ns/iter (± 627035
)1222619
ns/iter (± 648829
)1.02
es/codegen/with-parser/colors
46807
ns/iter (± 872
)46444
ns/iter (± 185
)1.01
es/codegen/with-parser/large
508697
ns/iter (± 1683
)506151
ns/iter (± 792
)1.01
es/minify/libraries/antd
1598486771
ns/iter (± 21424055
)1537765646
ns/iter (± 17495496
)1.04
es/minify/libraries/d3
302421080
ns/iter (± 4158158
)270564678
ns/iter (± 2546261
)1.12
es/minify/libraries/echarts
1309930501
ns/iter (± 18797324
)1168670568
ns/iter (± 8739553
)1.12
es/minify/libraries/jquery
79952474
ns/iter (± 1003477
)79049173
ns/iter (± 402012
)1.01
es/minify/libraries/lodash
100615143
ns/iter (± 2412985
)97178072
ns/iter (± 654722
)1.04
es/minify/libraries/moment
46664137
ns/iter (± 389188
)46448220
ns/iter (± 557728
)1.00
es/minify/libraries/react
17453201
ns/iter (± 73951
)17132418
ns/iter (± 178791
)1.02
es/minify/libraries/terser
225507279
ns/iter (± 6187977
)221322840
ns/iter (± 1344115
)1.02
es/minify/libraries/three
422994852
ns/iter (± 4702871
)407318621
ns/iter (± 6715311
)1.04
es/minify/libraries/typescript
2887384025
ns/iter (± 8407232
)2872945859
ns/iter (± 16800180
)1.01
es/minify/libraries/victory
635586595
ns/iter (± 20288427
)661292915
ns/iter (± 13593674
)0.96
es/minify/libraries/vue
121204002
ns/iter (± 1076797
)120009351
ns/iter (± 1165564
)1.01
es/visitor/compare/clone
2444071
ns/iter (± 14110
)2397189
ns/iter (± 32516
)1.02
es/visitor/compare/visit_mut_span
2832454
ns/iter (± 3838
)2820002
ns/iter (± 6403
)1.00
es/visitor/compare/visit_mut_span_panic
2861325
ns/iter (± 24037
)2895829
ns/iter (± 9637
)0.99
es/visitor/compare/fold_span
4014728
ns/iter (± 15322
)4073064
ns/iter (± 19496
)0.99
es/visitor/compare/fold_span_panic
4148545
ns/iter (± 34932
)4186693
ns/iter (± 40180
)0.99
es/lexer/colors
17265
ns/iter (± 9
)17301
ns/iter (± 11
)1.00
es/lexer/angular
8205406
ns/iter (± 3140
)8277733
ns/iter (± 3768
)0.99
es/lexer/backbone
1070244
ns/iter (± 441
)1080932
ns/iter (± 653
)0.99
es/lexer/jquery
5948829
ns/iter (± 4416
)5989510
ns/iter (± 9387
)0.99
es/lexer/jquery mobile
9148830
ns/iter (± 5185
)9217453
ns/iter (± 8822
)0.99
es/lexer/mootools
4656533
ns/iter (± 3127
)4703594
ns/iter (± 6606
)0.99
es/lexer/underscore
893658
ns/iter (± 520
)903078
ns/iter (± 1696
)0.99
es/lexer/three
27843983
ns/iter (± 6207
)28083250
ns/iter (± 23122
)0.99
es/lexer/yui
5038925
ns/iter (± 2209
)5078391
ns/iter (± 4588
)0.99
es/parser/colors
31145
ns/iter (± 165
)31127
ns/iter (± 172
)1.00
es/parser/angular
16436600
ns/iter (± 196097
)16169038
ns/iter (± 216179
)1.02
es/parser/backbone
2312133
ns/iter (± 14448
)2329835
ns/iter (± 15506
)0.99
es/parser/jquery
12620905
ns/iter (± 89138
)12518000
ns/iter (± 69109
)1.01
es/parser/jquery mobile
20110757
ns/iter (± 260536
)19906042
ns/iter (± 165118
)1.01
es/parser/mootools
9575834
ns/iter (± 49366
)9577984
ns/iter (± 22266
)1.00
es/parser/underscore
1963887
ns/iter (± 11738
)1972276
ns/iter (± 9221
)1.00
es/parser/three
60525945
ns/iter (± 472905
)60737398
ns/iter (± 552253
)1.00
es/parser/yui
9693713
ns/iter (± 67826
)9722516
ns/iter (± 58254
)1.00
es/preset-env/usage/builtin_type
138585
ns/iter (± 30567
)138109
ns/iter (± 29992
)1.00
es/preset-env/usage/property
21541
ns/iter (± 63
)21520
ns/iter (± 119
)1.00
es/resolver/typescript
123215755
ns/iter (± 3134039
)121828619
ns/iter (± 2534116
)1.01
es/fixer/typescript
99126349
ns/iter (± 6393047
)100484955
ns/iter (± 7791125
)0.99
es/hygiene/typescript
190953460
ns/iter (± 2052469
)199837365
ns/iter (± 767829
)0.96
es/resolver_with_hygiene/typescript
331842402
ns/iter (± 4115202
)340751107
ns/iter (± 1599241
)0.97
es/visitor/base-perf/module_clone
77176
ns/iter (± 1552
)76327
ns/iter (± 1135
)1.01
es/visitor/base-perf/fold_empty
86983
ns/iter (± 1490
)86218
ns/iter (± 1582
)1.01
es/visitor/base-perf/fold_noop_impl_all
85275
ns/iter (± 1950
)85527
ns/iter (± 630
)1.00
es/visitor/base-perf/fold_noop_impl_vec
86285
ns/iter (± 1346
)86968
ns/iter (± 1212
)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
)60
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_boxed
102
ns/iter (± 0
)102
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed
104
ns/iter (± 0
)108
ns/iter (± 0
)0.96
es/visitor/base-perf/visit_contains_this
3522
ns/iter (± 58
)3560
ns/iter (± 95
)0.99
es/base/parallel/resolver/typescript
6032090799
ns/iter (± 527267451
)6119864528
ns/iter (± 453058491
)0.99
es/base/parallel/hygiene/typescript
2256981383
ns/iter (± 56332710
)2247701111
ns/iter (± 22222650
)1.00
misc/visitors/time-complexity/time 5
94
ns/iter (± 0
)93
ns/iter (± 0
)1.01
misc/visitors/time-complexity/time 10
325
ns/iter (± 0
)331
ns/iter (± 4
)0.98
misc/visitors/time-complexity/time 15
635
ns/iter (± 0
)638
ns/iter (± 1
)1.00
misc/visitors/time-complexity/time 20
1206
ns/iter (± 10
)1196
ns/iter (± 5
)1.01
misc/visitors/time-complexity/time 40
6162
ns/iter (± 12
)6149
ns/iter (± 10
)1.00
misc/visitors/time-complexity/time 60
15512
ns/iter (± 11
)15522
ns/iter (± 11
)1.00
es/full-target/es2016
187951
ns/iter (± 808
)189636
ns/iter (± 1289
)0.99
es/full-target/es2017
183054
ns/iter (± 497
)183036
ns/iter (± 612
)1.00
es/full-target/es2018
172120
ns/iter (± 604
)172317
ns/iter (± 656
)1.00
es2020_nullish_coalescing
66413
ns/iter (± 76
)67161
ns/iter (± 188
)0.99
es2020_optional_chaining
96160
ns/iter (± 772
)95859
ns/iter (± 368
)1.00
es2022_class_properties
93104
ns/iter (± 197
)93487
ns/iter (± 166
)1.00
es2018_object_rest_spread
71559
ns/iter (± 164
)71647
ns/iter (± 120
)1.00
es2019_optional_catch_binding
61105
ns/iter (± 100
)60909
ns/iter (± 115
)1.00
es2017_async_to_generator
61817
ns/iter (± 107
)61540
ns/iter (± 125
)1.00
es2016_exponentiation
64941
ns/iter (± 131
)65125
ns/iter (± 90
)1.00
es2015_arrow
70504
ns/iter (± 154
)70293
ns/iter (± 281
)1.00
es2015_block_scoped_fn
65600
ns/iter (± 216
)65846
ns/iter (± 106
)1.00
es2015_block_scoping
140834
ns/iter (± 8855
)153039
ns/iter (± 9249
)0.92
es2015_classes
118898
ns/iter (± 538
)117250
ns/iter (± 455
)1.01
es2015_computed_props
60737
ns/iter (± 111
)60986
ns/iter (± 151
)1.00
es2015_destructuring
116335
ns/iter (± 250
)116234
ns/iter (± 795
)1.00
es2015_duplicate_keys
63402
ns/iter (± 65
)63729
ns/iter (± 80
)0.99
es2015_parameters
79310
ns/iter (± 165
)79609
ns/iter (± 130
)1.00
es2015_fn_name
66392
ns/iter (± 443
)66921
ns/iter (± 448
)0.99
es2015_for_of
64143
ns/iter (± 84
)64215
ns/iter (± 163
)1.00
es2015_instanceof
62820
ns/iter (± 91
)63376
ns/iter (± 135
)0.99
es2015_shorthand_property
60866
ns/iter (± 94
)61026
ns/iter (± 200
)1.00
es2015_spread
60814
ns/iter (± 73
)61113
ns/iter (± 125
)1.00
es2015_sticky_regex
62184
ns/iter (± 133
)62722
ns/iter (± 255
)0.99
es2015_typeof_symbol
62020
ns/iter (± 115
)62302
ns/iter (± 156
)1.00
es/transform/baseline/base
51595
ns/iter (± 138
)51825
ns/iter (± 126
)1.00
es/transform/baseline/common_reserved_word
61964
ns/iter (± 113
)62141
ns/iter (± 197
)1.00
es/transform/baseline/common_typescript
144912
ns/iter (± 1806
)142944
ns/iter (± 165
)1.01
es/target/es3
169463
ns/iter (± 267
)169271
ns/iter (± 416
)1.00
es/target/es2015
632774
ns/iter (± 1344
)632907
ns/iter (± 1455
)1.00
es/target/es2016
64894
ns/iter (± 83
)65235
ns/iter (± 100
)0.99
es/target/es2017
61694
ns/iter (± 118
)61693
ns/iter (± 139
)1.00
es/target/es2018
81751
ns/iter (± 139
)81578
ns/iter (± 164
)1.00
es/target/es2020
132221
ns/iter (± 371
)132271
ns/iter (± 435
)1.00
babelify-only
670812
ns/iter (± 792
)671107
ns/iter (± 1558
)1.00
parse_and_babelify_angular
45237097
ns/iter (± 823725
)45717147
ns/iter (± 894610
)0.99
parse_and_babelify_backbone
5615318
ns/iter (± 101485
)5450147
ns/iter (± 52413
)1.03
parse_and_babelify_jquery
35514089
ns/iter (± 932905
)33290365
ns/iter (± 284656
)1.07
parse_and_babelify_jquery_mobile
58821560
ns/iter (± 1226435
)57085374
ns/iter (± 525509
)1.03
parse_and_babelify_mootools
34979090
ns/iter (± 507577
)34689749
ns/iter (± 223867
)1.01
parse_and_babelify_underscore
4431109
ns/iter (± 39105
)4368149
ns/iter (± 22565
)1.01
parse_and_babelify_yui
33856978
ns/iter (± 637740
)34397162
ns/iter (± 983371
)0.98
html/minify/document/css_spec
42577256
ns/iter (± 535265
)42316429
ns/iter (± 153518
)1.01
html/minify/document/github
17451346
ns/iter (± 65732
)17503163
ns/iter (± 56464
)1.00
html/minify/document/stackoverflow
15717569
ns/iter (± 103030
)15608511
ns/iter (± 50109
)1.01
html/minify/document_fragment/css_spec
41832613
ns/iter (± 280158
)40783326
ns/iter (± 133475
)1.03
html/minify/document_fragment/github
16816259
ns/iter (± 78280
)16794670
ns/iter (± 35438
)1.00
html/minify/document_fragment/stackoverflow
15245770
ns/iter (± 75536
)15219623
ns/iter (± 54089
)1.00
html/document/visitor/compare/clone
339474
ns/iter (± 2075
)342927
ns/iter (± 2157
)0.99
html/document/visitor/compare/visit_mut_span
367972
ns/iter (± 2948
)363714
ns/iter (± 1807
)1.01
html/document/visitor/compare/visit_mut_span_panic
378807
ns/iter (± 1063
)374205
ns/iter (± 2336
)1.01
html/document/visitor/compare/fold_span
403855
ns/iter (± 2421
)403141
ns/iter (± 2523
)1.00
html/document/visitor/compare/fold_span_panic
465150
ns/iter (± 1882
)458588
ns/iter (± 2549
)1.01
html/document_fragment/visitor/compare/clone
333733
ns/iter (± 1851
)334030
ns/iter (± 1848
)1.00
html/document_fragment/visitor/compare/visit_mut_span
362000
ns/iter (± 1382
)363046
ns/iter (± 3489
)1.00
html/document_fragment/visitor/compare/visit_mut_span_panic
370404
ns/iter (± 2503
)372158
ns/iter (± 1811
)1.00
html/document_fragment/visitor/compare/fold_span
398081
ns/iter (± 2084
)402757
ns/iter (± 2100
)0.99
html/document_fragment/visitor/compare/fold_span_panic
453984
ns/iter (± 1584
)462885
ns/iter (± 2117
)0.98
html/lexer/css_2021_spec
15493505
ns/iter (± 10629
)15551820
ns/iter (± 67920
)1.00
html/lexer/github_com_17_05_2022
6022962
ns/iter (± 4628
)6014614
ns/iter (± 5386
)1.00
html/lexer/stackoverflow_com_17_05_2022
5624260
ns/iter (± 2477
)5627358
ns/iter (± 7907
)1.00
html/parser/parser_document/css_2021_spec
25918369
ns/iter (± 1485074
)25829958
ns/iter (± 137744
)1.00
html/parser/parser_document/github_com_17_05_2022
8796514
ns/iter (± 11080
)8793884
ns/iter (± 23491
)1.00
html/parser/parser_document/stackoverflow_com_17_05_2022
7704309
ns/iter (± 3215
)7713298
ns/iter (± 15061
)1.00
html/parser/parser_document_fragment/css_2021_spec
26059445
ns/iter (± 144526
)25804260
ns/iter (± 473366
)1.01
html/parser/parser_document_fragment/github_com_17_05_2022
8797927
ns/iter (± 17005
)8793308
ns/iter (± 19000
)1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7719565
ns/iter (± 12253
)7737262
ns/iter (± 60702
)1.00
This comment was automatically generated by workflow using github-action-benchmark.