Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(es/minifier): Support
PURE
comment of seq exprs (#7245)
**Related issue:** - Closes #7241.
- Loading branch information
Showing
6 changed files
with
83 additions
and
11 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"jsc": { | ||
"parser": { | ||
"syntax": "ecmascript", | ||
"jsx": false | ||
}, | ||
"target": "es2022", | ||
"loose": false, | ||
"minify": { | ||
"compress": true, | ||
"mangle": true | ||
} | ||
}, | ||
"module": { | ||
"type": "es6" | ||
}, | ||
"isModule": true | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
(function () { | ||
function forwardRef() { | ||
return something(); | ||
} | ||
|
||
function Test() { | ||
return 'Test'; | ||
} | ||
const _Test = /*#__PURE__*/ (0, forwardRef)(Test); | ||
function Other() { | ||
return 'Other'; | ||
} | ||
const _Other = /*#__PURE__*/ (0, forwardRef)(Other); | ||
|
||
|
||
console.log((0, _Test)); | ||
|
||
})(); |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
!function() { | ||
let o = something(); | ||
console.log(o); | ||
}(); |
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
18 changes: 18 additions & 0 deletions
18
crates/swc_ecma_minifier/tests/fixture/issues/7241/input.js
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
(function () { | ||
function forwardRef() { | ||
return something(); | ||
} | ||
|
||
function Test() { | ||
return 'Test'; | ||
} | ||
const _Test = /*#__PURE__*/ (0, forwardRef)(Test); | ||
function Other() { | ||
return 'Other'; | ||
} | ||
const _Other = /*#__PURE__*/ (0, forwardRef)(Other); | ||
|
||
|
||
console.log((0, _Test)); | ||
|
||
})(); |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
!function() { | ||
const _Test = something(); | ||
console.log(_Test); | ||
}(); |
559d120
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
303972
ns/iter (± 2787
)308127
ns/iter (± 9964
)0.99
es/full/minify/libraries/antd
1632955795
ns/iter (± 51258387
)1531947464
ns/iter (± 15098373
)1.07
es/full/minify/libraries/d3
304914250
ns/iter (± 12568438
)294276857
ns/iter (± 10037944
)1.04
es/full/minify/libraries/echarts
1231987932
ns/iter (± 47344545
)1191198445
ns/iter (± 8485209
)1.03
es/full/minify/libraries/jquery
88761084
ns/iter (± 1532737
)89727161
ns/iter (± 964097
)0.99
es/full/minify/libraries/lodash
104541419
ns/iter (± 2085302
)104884104
ns/iter (± 803683
)1.00
es/full/minify/libraries/moment
52889369
ns/iter (± 734479
)51733906
ns/iter (± 294250
)1.02
es/full/minify/libraries/react
19258895
ns/iter (± 287549
)18843747
ns/iter (± 132602
)1.02
es/full/minify/libraries/terser
244736861
ns/iter (± 5232656
)243400755
ns/iter (± 3082680
)1.01
es/full/minify/libraries/three
450722409
ns/iter (± 10455313
)426932079
ns/iter (± 6451055
)1.06
es/full/minify/libraries/typescript
3053062376
ns/iter (± 47867101
)2918643204
ns/iter (± 19927385
)1.05
es/full/minify/libraries/victory
693572441
ns/iter (± 7285310
)646452844
ns/iter (± 9007056
)1.07
es/full/minify/libraries/vue
131748134
ns/iter (± 1630164
)128879490
ns/iter (± 983811
)1.02
es/full/codegen/es3
28787
ns/iter (± 277
)28970
ns/iter (± 40
)0.99
es/full/codegen/es5
28993
ns/iter (± 126
)29027
ns/iter (± 63
)1.00
es/full/codegen/es2015
29083
ns/iter (± 459
)29022
ns/iter (± 92
)1.00
es/full/codegen/es2016
29274
ns/iter (± 34
)28955
ns/iter (± 88
)1.01
es/full/codegen/es2017
28993
ns/iter (± 271
)28955
ns/iter (± 82
)1.00
es/full/codegen/es2018
28576
ns/iter (± 433
)29025
ns/iter (± 59
)0.98
es/full/codegen/es2019
28448
ns/iter (± 120
)29009
ns/iter (± 56
)0.98
es/full/codegen/es2020
28901
ns/iter (± 123
)28971
ns/iter (± 60
)1.00
es/full/all/es3
181837823
ns/iter (± 2794068
)179608009
ns/iter (± 3595818
)1.01
es/full/all/es5
173302375
ns/iter (± 1188257
)170061636
ns/iter (± 2190598
)1.02
es/full/all/es2015
134372305
ns/iter (± 1361398
)131762487
ns/iter (± 2517929
)1.02
es/full/all/es2016
131092045
ns/iter (± 2126445
)130748155
ns/iter (± 946699
)1.00
es/full/all/es2017
128042887
ns/iter (± 2710592
)128666536
ns/iter (± 1712091
)1.00
es/full/all/es2018
124602920
ns/iter (± 1875507
)123860624
ns/iter (± 2371671
)1.01
es/full/all/es2019
124879962
ns/iter (± 1274757
)122628770
ns/iter (± 1199224
)1.02
es/full/all/es2020
118093511
ns/iter (± 1391534
)116544551
ns/iter (± 622147
)1.01
es/full/parser
509922
ns/iter (± 4215
)510805
ns/iter (± 7235
)1.00
es/full/base/fixer
24093
ns/iter (± 101
)22660
ns/iter (± 57
)1.06
es/full/base/resolver_and_hygiene
82821
ns/iter (± 698
)83867
ns/iter (± 124
)0.99
serialization of serde
121
ns/iter (± 1
)120
ns/iter (± 0
)1.01
css/minify/libraries/bootstrap
27760778
ns/iter (± 223920
)27149141
ns/iter (± 68533
)1.02
css/visitor/compare/clone
2221787
ns/iter (± 129687
)2136430
ns/iter (± 6618
)1.04
css/visitor/compare/visit_mut_span
2651781
ns/iter (± 9357
)2324215
ns/iter (± 13715
)1.14
css/visitor/compare/visit_mut_span_panic
2718716
ns/iter (± 19777
)2381531
ns/iter (± 6324
)1.14
css/visitor/compare/fold_span
3495269
ns/iter (± 27377
)3088909
ns/iter (± 20079
)1.13
css/visitor/compare/fold_span_panic
3656735
ns/iter (± 14529
)3236159
ns/iter (± 11738
)1.13
css/lexer/bootstrap_5_1_3
5031181
ns/iter (± 61702
)5103838
ns/iter (± 42508
)0.99
css/lexer/foundation_6_7_4
4201523
ns/iter (± 22171
)4289973
ns/iter (± 1848
)0.98
css/lexer/tailwind_3_1_1
815300
ns/iter (± 9040
)815355
ns/iter (± 1871
)1.00
css/parser/bootstrap_5_1_3
21237712
ns/iter (± 200511
)21276760
ns/iter (± 134956
)1.00
css/parser/foundation_6_7_4
16638610
ns/iter (± 277703
)16824427
ns/iter (± 47949
)0.99
css/parser/tailwind_3_1_1
3246653
ns/iter (± 26017
)3243932
ns/iter (± 4228
)1.00
es/codegen/colors
327901
ns/iter (± 188401
)327323
ns/iter (± 185011
)1.00
es/codegen/large
1294096
ns/iter (± 665545
)1245461
ns/iter (± 641034
)1.04
es/codegen/with-parser/colors
47178
ns/iter (± 623
)47565
ns/iter (± 310
)0.99
es/codegen/with-parser/large
501090
ns/iter (± 6495
)510561
ns/iter (± 1223
)0.98
es/minify/libraries/antd
1352989374
ns/iter (± 78541943
)1339372663
ns/iter (± 14752601
)1.01
es/minify/libraries/d3
249245662
ns/iter (± 11021965
)247756344
ns/iter (± 2494576
)1.01
es/minify/libraries/echarts
1094717066
ns/iter (± 28291970
)1022489514
ns/iter (± 12309191
)1.07
es/minify/libraries/jquery
79181930
ns/iter (± 1411704
)78004666
ns/iter (± 540933
)1.02
es/minify/libraries/lodash
94689352
ns/iter (± 1831390
)93476994
ns/iter (± 684887
)1.01
es/minify/libraries/moment
45167341
ns/iter (± 700419
)45147206
ns/iter (± 451130
)1.00
es/minify/libraries/react
17059033
ns/iter (± 131940
)16851257
ns/iter (± 126913
)1.01
es/minify/libraries/terser
206097902
ns/iter (± 3977396
)206141487
ns/iter (± 2879894
)1.00
es/minify/libraries/three
376714766
ns/iter (± 10334038
)347422648
ns/iter (± 3845231
)1.08
es/minify/libraries/typescript
2663000614
ns/iter (± 67752570
)2484216438
ns/iter (± 19109960
)1.07
es/minify/libraries/victory
592189789
ns/iter (± 14598142
)551901927
ns/iter (± 30010586
)1.07
es/minify/libraries/vue
117599643
ns/iter (± 2225245
)114418740
ns/iter (± 999883
)1.03
es/visitor/compare/clone
2553019
ns/iter (± 72849
)2317316
ns/iter (± 13891
)1.10
es/visitor/compare/visit_mut_span
2972212
ns/iter (± 6922
)2689065
ns/iter (± 36701
)1.11
es/visitor/compare/visit_mut_span_panic
2979890
ns/iter (± 29837
)2738542
ns/iter (± 2952
)1.09
es/visitor/compare/fold_span
4099984
ns/iter (± 39460
)3782432
ns/iter (± 5945
)1.08
es/visitor/compare/fold_span_panic
4249287
ns/iter (± 27679
)3907029
ns/iter (± 9343
)1.09
es/lexer/colors
12857
ns/iter (± 138
)13008
ns/iter (± 6
)0.99
es/lexer/angular
6285982
ns/iter (± 46784
)6344234
ns/iter (± 2760
)0.99
es/lexer/backbone
763971
ns/iter (± 8769
)786892
ns/iter (± 337
)0.97
es/lexer/jquery
4278000
ns/iter (± 53747
)4379726
ns/iter (± 4584
)0.98
es/lexer/jquery mobile
6693427
ns/iter (± 57342
)6864150
ns/iter (± 4154
)0.98
es/lexer/mootools
3369881
ns/iter (± 22492
)3442039
ns/iter (± 2306
)0.98
es/lexer/underscore
643971
ns/iter (± 1711
)646351
ns/iter (± 619
)1.00
es/lexer/three
20492090
ns/iter (± 222007
)20896183
ns/iter (± 29276
)0.98
es/lexer/yui
3836361
ns/iter (± 21555
)3861229
ns/iter (± 1406
)0.99
es/parser/colors
28989
ns/iter (± 307
)29441
ns/iter (± 56
)0.98
es/parser/angular
14922404
ns/iter (± 240595
)15035068
ns/iter (± 105921
)0.99
es/parser/backbone
2139135
ns/iter (± 36651
)2188437
ns/iter (± 15310
)0.98
es/parser/jquery
11843667
ns/iter (± 107874
)11768350
ns/iter (± 96969
)1.01
es/parser/jquery mobile
17874106
ns/iter (± 283744
)18367820
ns/iter (± 146573
)0.97
es/parser/mootools
8957854
ns/iter (± 56957
)9026520
ns/iter (± 21279
)0.99
es/parser/underscore
1834347
ns/iter (± 9100
)1841338
ns/iter (± 10656
)1.00
es/parser/three
55733867
ns/iter (± 561884
)53670629
ns/iter (± 516269
)1.04
es/parser/yui
9172182
ns/iter (± 95816
)9125297
ns/iter (± 46921
)1.01
es/preset-env/usage/builtin_type
139762
ns/iter (± 30919
)144300
ns/iter (± 34355
)0.97
es/preset-env/usage/property
21108
ns/iter (± 135
)21145
ns/iter (± 187
)1.00
es/resolver/typescript
122363347
ns/iter (± 2373076
)113190316
ns/iter (± 2135327
)1.08
es/fixer/typescript
91435732
ns/iter (± 1986008
)81207899
ns/iter (± 1562549
)1.13
es/hygiene/typescript
192286710
ns/iter (± 1945461
)168378622
ns/iter (± 860052
)1.14
es/resolver_with_hygiene/typescript
321963156
ns/iter (± 3094799
)304098149
ns/iter (± 2492615
)1.06
es/visitor/base-perf/module_clone
80110
ns/iter (± 1030
)80438
ns/iter (± 520
)1.00
es/visitor/base-perf/fold_empty
87714
ns/iter (± 361
)90825
ns/iter (± 365
)0.97
es/visitor/base-perf/fold_noop_impl_all
89405
ns/iter (± 699
)90905
ns/iter (± 310
)0.98
es/visitor/base-perf/fold_noop_impl_vec
90652
ns/iter (± 831
)91040
ns/iter (± 533
)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
41
ns/iter (± 0
)41
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
101
ns/iter (± 1
)102
ns/iter (± 0
)0.99
es/visitor/base-perf/boxing_unboxed
78
ns/iter (± 0
)78
ns/iter (± 0
)1
es/visitor/base-perf/visit_contains_this
3437
ns/iter (± 68
)3500
ns/iter (± 92
)0.98
es/base/parallel/resolver/typescript
6276850805
ns/iter (± 525929933
)6100661718
ns/iter (± 421020112
)1.03
es/base/parallel/hygiene/typescript
2219023652
ns/iter (± 12161507
)2003579054
ns/iter (± 18729547
)1.11
misc/visitors/time-complexity/time 5
96
ns/iter (± 0
)99
ns/iter (± 0
)0.97
misc/visitors/time-complexity/time 10
328
ns/iter (± 2
)334
ns/iter (± 4
)0.98
misc/visitors/time-complexity/time 15
640
ns/iter (± 11
)650
ns/iter (± 0
)0.98
misc/visitors/time-complexity/time 20
1175
ns/iter (± 12
)1250
ns/iter (± 1
)0.94
misc/visitors/time-complexity/time 40
6516
ns/iter (± 61
)6594
ns/iter (± 65
)0.99
misc/visitors/time-complexity/time 60
16688
ns/iter (± 217
)17037
ns/iter (± 166
)0.98
es/full-target/es2016
252704
ns/iter (± 1141
)253337
ns/iter (± 513
)1.00
es/full-target/es2017
239357
ns/iter (± 2563
)246397
ns/iter (± 429
)0.97
es/full-target/es2018
229942
ns/iter (± 2709
)235161
ns/iter (± 369
)0.98
es2020_nullish_coalescing
91033
ns/iter (± 1123
)93179
ns/iter (± 453
)0.98
es2020_optional_chaining
124589
ns/iter (± 207
)124828
ns/iter (± 330
)1.00
es2022_class_properties
147028
ns/iter (± 1166
)149111
ns/iter (± 327
)0.99
es2018_object_rest_spread
95131
ns/iter (± 609
)95894
ns/iter (± 181
)0.99
es2019_optional_catch_binding
84658
ns/iter (± 1065
)85280
ns/iter (± 172
)0.99
es2017_async_to_generator
85350
ns/iter (± 461
)85715
ns/iter (± 320
)1.00
es2016_exponentiation
89417
ns/iter (± 1039
)90249
ns/iter (± 307
)0.99
es2015_arrow
93687
ns/iter (± 561
)94179
ns/iter (± 320
)0.99
es2015_block_scoped_fn
91427
ns/iter (± 646
)92135
ns/iter (± 126
)0.99
es2015_block_scoping
169367
ns/iter (± 472
)170138
ns/iter (± 302
)1.00
This comment was automatically generated by workflow using github-action-benchmark.