You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(es/minifier): Merge cond_init with reassigned (#6850)
**Description:**
And optimize the following situation
```js
export function genElement(el, state) {
if ('slot' === el.tag) return el1 = el, genChildren(el1);
if (el.component) {
var el1
return 999;
}
}
```
which rarely happens in hand written JS, but is often generated by swc merge variable pass.
Copy file name to clipboardexpand all lines: crates/swc_ecma_minifier/tests/benches-full/echarts.js
+6-6
Original file line number
Diff line number
Diff line change
@@ -26853,8 +26853,8 @@
26853
26853
mousemove: function(e) {
26854
26854
var x = e.offsetX, y = e.offsetY, localCursorPoint = this.group.transformCoordToLocal(x, y);
26855
26855
if (!function(controller, e, localCursorPoint) {
26856
-
if (!(!controller._brushType || (controller1 = controller, x = e.offsetX, y = e.offsetY, zr = controller1._zr, x < 0 || x > zr.getWidth() || y < 0 || y > zr.getHeight()))) {
26857
-
var controller1, x, y, zr, zr1 = controller._zr, covers = controller._covers, currPanel = getPanelByPoint(controller, e, localCursorPoint);
26856
+
if (!(!controller._brushType || (x = e.offsetX, y = e.offsetY, zr = controller._zr, x < 0 || x > zr.getWidth() || y < 0 || y > zr.getHeight()))) {
26857
+
var x, y, zr, zr1 = controller._zr, covers = controller._covers, currPanel = getPanelByPoint(controller, e, localCursorPoint);
26858
26858
if (!controller._dragging) for(var i = 0; i < covers.length; i++){
1 commit comments
github-actions[bot] commentedon Jan 26, 2023
Benchmark
es/full/bugs-1
302235
ns/iter (± 9774
)304042
ns/iter (± 7616
)0.99
es/full/minify/libraries/antd
1743334909
ns/iter (± 59800373
)1697341209
ns/iter (± 33496931
)1.03
es/full/minify/libraries/d3
298823589
ns/iter (± 6011514
)310677891
ns/iter (± 11787282
)0.96
es/full/minify/libraries/echarts
1247547706
ns/iter (± 26870982
)1291326383
ns/iter (± 26789554
)0.97
es/full/minify/libraries/jquery
89674082
ns/iter (± 693929
)89475103
ns/iter (± 1481618
)1.00
es/full/minify/libraries/lodash
106094583
ns/iter (± 1311562
)106076192
ns/iter (± 2230072
)1.00
es/full/minify/libraries/moment
52539498
ns/iter (± 519504
)53662734
ns/iter (± 764142
)0.98
es/full/minify/libraries/react
18850080
ns/iter (± 75178
)19470713
ns/iter (± 457939
)0.97
es/full/minify/libraries/terser
249161017
ns/iter (± 3855517
)254593056
ns/iter (± 2800410
)0.98
es/full/minify/libraries/three
434630380
ns/iter (± 7658490
)458670387
ns/iter (± 11587398
)0.95
es/full/minify/libraries/typescript
3166638342
ns/iter (± 27949171
)3311654190
ns/iter (± 27382124
)0.96
es/full/minify/libraries/victory
651743769
ns/iter (± 17017566
)736094593
ns/iter (± 24128954
)0.89
es/full/minify/libraries/vue
129512587
ns/iter (± 1877843
)133354184
ns/iter (± 4396160
)0.97
es/full/codegen/es3
26123
ns/iter (± 130
)25980
ns/iter (± 56
)1.01
es/full/codegen/es5
26150
ns/iter (± 76
)25987
ns/iter (± 80
)1.01
es/full/codegen/es2015
26110
ns/iter (± 69
)26036
ns/iter (± 47
)1.00
es/full/codegen/es2016
26110
ns/iter (± 71
)26027
ns/iter (± 69
)1.00
es/full/codegen/es2017
26122
ns/iter (± 32
)26061
ns/iter (± 81
)1.00
es/full/codegen/es2018
26104
ns/iter (± 50
)26043
ns/iter (± 82
)1.00
es/full/codegen/es2019
26137
ns/iter (± 48
)26031
ns/iter (± 65
)1.00
es/full/codegen/es2020
26094
ns/iter (± 62
)26007
ns/iter (± 61
)1.00
es/full/all/es3
169043052
ns/iter (± 3996681
)173935215
ns/iter (± 1912952
)0.97
es/full/all/es5
161863222
ns/iter (± 2557285
)164247729
ns/iter (± 1816402
)0.99
es/full/all/es2015
120940300
ns/iter (± 456621
)129516962
ns/iter (± 2479380
)0.93
es/full/all/es2016
120153007
ns/iter (± 547216
)124315461
ns/iter (± 1871006
)0.97
es/full/all/es2017
120252654
ns/iter (± 807205
)124771175
ns/iter (± 2085349
)0.96
es/full/all/es2018
117492828
ns/iter (± 877542
)120135938
ns/iter (± 1279695
)0.98
es/full/all/es2019
117615109
ns/iter (± 459442
)120886051
ns/iter (± 1643074
)0.97
es/full/all/es2020
112370864
ns/iter (± 1082614
)116367373
ns/iter (± 1376361
)0.97
es/full/parser
530874
ns/iter (± 7863
)541588
ns/iter (± 7687
)0.98
es/full/base/fixer
21742
ns/iter (± 61
)22266
ns/iter (± 40
)0.98
es/full/base/resolver_and_hygiene
79289
ns/iter (± 99
)79799
ns/iter (± 178
)0.99
serialization of ast node
145
ns/iter (± 0
)145
ns/iter (± 0
)1
serialization of serde
130
ns/iter (± 0
)129
ns/iter (± 0
)1.01
css/minify/libraries/bootstrap
28741770
ns/iter (± 116080
)27784144
ns/iter (± 70407
)1.03
css/visitor/compare/clone
2077779
ns/iter (± 16202
)2044344
ns/iter (± 21104
)1.02
css/visitor/compare/visit_mut_span
2268354
ns/iter (± 18323
)2255976
ns/iter (± 9404
)1.01
css/visitor/compare/visit_mut_span_panic
2320678
ns/iter (± 13467
)2291174
ns/iter (± 4535
)1.01
css/visitor/compare/fold_span
3016520
ns/iter (± 19218
)3042259
ns/iter (± 22444
)0.99
css/visitor/compare/fold_span_panic
3178919
ns/iter (± 16337
)3169527
ns/iter (± 16426
)1.00
css/lexer/bootstrap_5_1_3
5178988
ns/iter (± 39521
)5175356
ns/iter (± 7874
)1.00
css/lexer/foundation_6_7_4
4358701
ns/iter (± 2115
)4346645
ns/iter (± 1062
)1.00
css/lexer/tailwind_3_1_1
825125
ns/iter (± 389
)827865
ns/iter (± 698
)1.00
css/parser/bootstrap_5_1_3
21543243
ns/iter (± 53640
)21541748
ns/iter (± 37949
)1.00
css/parser/foundation_6_7_4
17227954
ns/iter (± 23947
)17234952
ns/iter (± 19564
)1.00
css/parser/tailwind_3_1_1
3314565
ns/iter (± 9968
)3320197
ns/iter (± 3392
)1.00
es/codegen/colors
342982
ns/iter (± 190432
)333957
ns/iter (± 185971
)1.03
es/codegen/large
1178147
ns/iter (± 604680
)1195267
ns/iter (± 603067
)0.99
es/codegen/with-parser/colors
49034
ns/iter (± 428
)48816
ns/iter (± 611
)1.00
es/codegen/with-parser/large
535245
ns/iter (± 2249
)536975
ns/iter (± 901
)1.00
es/minify/libraries/antd
1491228097
ns/iter (± 46485336
)1484395715
ns/iter (± 35712197
)1.00
es/minify/libraries/d3
277804916
ns/iter (± 14773888
)249546710
ns/iter (± 7816901
)1.11
es/minify/libraries/echarts
1128606675
ns/iter (± 19235502
)1107616059
ns/iter (± 19150725
)1.02
es/minify/libraries/jquery
77955901
ns/iter (± 796024
)77964967
ns/iter (± 970778
)1.00
es/minify/libraries/lodash
95347723
ns/iter (± 1217015
)94835303
ns/iter (± 1346567
)1.01
es/minify/libraries/moment
45832459
ns/iter (± 230165
)45699776
ns/iter (± 724477
)1.00
es/minify/libraries/react
16921387
ns/iter (± 66769
)17065892
ns/iter (± 207745
)0.99
es/minify/libraries/terser
209223687
ns/iter (± 1639451
)218694150
ns/iter (± 5395643
)0.96
es/minify/libraries/three
371286156
ns/iter (± 14958176
)414150589
ns/iter (± 28586603
)0.90
es/minify/libraries/typescript
2733650228
ns/iter (± 22385150
)2798500630
ns/iter (± 31168072
)0.98
es/minify/libraries/victory
573551461
ns/iter (± 16916156
)605112117
ns/iter (± 17534551
)0.95
es/minify/libraries/vue
116301425
ns/iter (± 1176696
)119519259
ns/iter (± 2295847
)0.97
es/visitor/compare/clone
2397160
ns/iter (± 2271
)2392669
ns/iter (± 28008
)1.00
es/visitor/compare/visit_mut_span
2780296
ns/iter (± 6515
)2768821
ns/iter (± 4272
)1.00
es/visitor/compare/visit_mut_span_panic
2817583
ns/iter (± 14854
)2824949
ns/iter (± 6127
)1.00
es/visitor/compare/fold_span
3895674
ns/iter (± 4712
)3953867
ns/iter (± 20775
)0.99
es/visitor/compare/fold_span_panic
4233520
ns/iter (± 79690
)4104881
ns/iter (± 15902
)1.03
es/lexer/colors
17294
ns/iter (± 113
)17211
ns/iter (± 4
)1.00
es/lexer/angular
8276056
ns/iter (± 4399
)8248286
ns/iter (± 5745
)1.00
es/lexer/backbone
1083408
ns/iter (± 459
)1078069
ns/iter (± 364
)1.00
es/lexer/jquery
5988284
ns/iter (± 865
)5964112
ns/iter (± 1937
)1.00
es/lexer/jquery mobile
9236220
ns/iter (± 70167
)9210186
ns/iter (± 8822
)1.00
es/lexer/mootools
4693371
ns/iter (± 2700
)4670837
ns/iter (± 5924
)1.00
es/lexer/underscore
905069
ns/iter (± 356
)898599
ns/iter (± 305
)1.01
es/lexer/three
28127832
ns/iter (± 28768
)27969090
ns/iter (± 21304
)1.01
es/lexer/yui
5071789
ns/iter (± 2452
)5046272
ns/iter (± 1202
)1.01
es/parser/colors
31004
ns/iter (± 133
)31042
ns/iter (± 142
)1.00
es/parser/angular
16485455
ns/iter (± 231062
)15791870
ns/iter (± 222657
)1.04
es/parser/backbone
2352941
ns/iter (± 13750
)2348126
ns/iter (± 9130
)1.00
es/parser/jquery
13071436
ns/iter (± 115310
)12681005
ns/iter (± 93289
)1.03
es/parser/jquery mobile
21548639
ns/iter (± 352683
)19954730
ns/iter (± 591955
)1.08
es/parser/mootools
10098583
ns/iter (± 199062
)9688800
ns/iter (± 22569
)1.04
es/parser/underscore
1987343
ns/iter (± 10198
)1982540
ns/iter (± 12973
)1.00
es/parser/three
59748286
ns/iter (± 1739294
)59920268
ns/iter (± 1382470
)1.00
es/parser/yui
9606975
ns/iter (± 94406
)9640992
ns/iter (± 87145
)1.00
es/preset-env/usage/builtin_type
140338
ns/iter (± 32088
)140481
ns/iter (± 31474
)1.00
es/preset-env/usage/property
21550
ns/iter (± 90
)21987
ns/iter (± 62
)0.98
es/resolver/typescript
125227431
ns/iter (± 4204517
)119216796
ns/iter (± 1714393
)1.05
es/fixer/typescript
98540694
ns/iter (± 4053826
)94241182
ns/iter (± 1690940
)1.05
es/hygiene/typescript
203697427
ns/iter (± 3965394
)200271782
ns/iter (± 2469436
)1.02
es/resolver_with_hygiene/typescript
341019916
ns/iter (± 2061048
)338899141
ns/iter (± 5760799
)1.01
es/visitor/base-perf/module_clone
75476
ns/iter (± 907
)75065
ns/iter (± 1405
)1.01
es/visitor/base-perf/fold_empty
85552
ns/iter (± 1986
)85216
ns/iter (± 2169
)1.00
es/visitor/base-perf/fold_noop_impl_all
85895
ns/iter (± 1990
)86372
ns/iter (± 1947
)0.99
es/visitor/base-perf/fold_noop_impl_vec
85233
ns/iter (± 1003
)87015
ns/iter (± 1604
)0.98
es/visitor/base-perf/boxing_boxed_clone
56
ns/iter (± 0
)55
ns/iter (± 0
)1.02
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
)102
ns/iter (± 0
)1.01
es/visitor/base-perf/boxing_unboxed
104
ns/iter (± 0
)104
ns/iter (± 0
)1
es/visitor/base-perf/visit_contains_this
3417
ns/iter (± 71
)3437
ns/iter (± 92
)0.99
es/base/parallel/resolver/typescript
5296607499
ns/iter (± 464011954
)5150120026
ns/iter (± 473726908
)1.03
es/base/parallel/hygiene/typescript
2380448850
ns/iter (± 27800768
)2402141318
ns/iter (± 51083476
)0.99
misc/visitors/time-complexity/time 5
92
ns/iter (± 0
)92
ns/iter (± 0
)1
misc/visitors/time-complexity/time 10
323
ns/iter (± 11
)312
ns/iter (± 0
)1.04
misc/visitors/time-complexity/time 15
607
ns/iter (± 7
)600
ns/iter (± 3
)1.01
misc/visitors/time-complexity/time 20
1141
ns/iter (± 17
)1122
ns/iter (± 0
)1.02
misc/visitors/time-complexity/time 40
6026
ns/iter (± 95
)6038
ns/iter (± 72
)1.00
misc/visitors/time-complexity/time 60
15215
ns/iter (± 35
)15192
ns/iter (± 57
)1.00
es/full-target/es2016
188066
ns/iter (± 849
)188058
ns/iter (± 459
)1.00
es/full-target/es2017
181862
ns/iter (± 531
)182711
ns/iter (± 581
)1.00
es/full-target/es2018
171567
ns/iter (± 440
)172673
ns/iter (± 441
)0.99
es2020_nullish_coalescing
66655
ns/iter (± 100
)67248
ns/iter (± 101
)0.99
es2020_optional_chaining
95573
ns/iter (± 290
)104533
ns/iter (± 9584
)0.91
es2022_class_properties
93361
ns/iter (± 127
)93493
ns/iter (± 202
)1.00
es2018_object_rest_spread
71475
ns/iter (± 81
)71970
ns/iter (± 103
)0.99
es2019_optional_catch_binding
61145
ns/iter (± 87
)61553
ns/iter (± 76
)0.99
es2017_async_to_generator
61414
ns/iter (± 127
)62064
ns/iter (± 130
)0.99
es2016_exponentiation
64786
ns/iter (± 129
)65845
ns/iter (± 203
)0.98
es2015_arrow
69895
ns/iter (± 245
)70574
ns/iter (± 257
)0.99
es2015_block_scoped_fn
66268
ns/iter (± 130
)66711
ns/iter (± 162
)0.99
es2015_block_scoping
158556
ns/iter (± 8878
)159559
ns/iter (± 11132
)0.99
es2015_classes
116643
ns/iter (± 476
)117163
ns/iter (± 348
)1.00
es2015_computed_props
61249
ns/iter (± 57
)61695
ns/iter (± 176
)0.99
es2015_destructuring
115011
ns/iter (± 315
)115959
ns/iter (± 285
)0.99
es2015_duplicate_keys
63307
ns/iter (± 60
)63950
ns/iter (± 136
)0.99
es2015_parameters
79155
ns/iter (± 113
)80024
ns/iter (± 222
)0.99
es2015_fn_name
66177
ns/iter (± 464
)67018
ns/iter (± 427
)0.99
es2015_for_of
64193
ns/iter (± 75
)64755
ns/iter (± 80
)0.99
es2015_instanceof
62793
ns/iter (± 61
)63389
ns/iter (± 101
)0.99
es2015_shorthand_property
60694
ns/iter (± 36
)61440
ns/iter (± 137
)0.99
es2015_spread
60946
ns/iter (± 101
)61534
ns/iter (± 92
)0.99
es2015_sticky_regex
62057
ns/iter (± 90
)62943
ns/iter (± 106
)0.99
es2015_typeof_symbol
61951
ns/iter (± 95
)62998
ns/iter (± 104
)0.98
es/transform/baseline/base
51616
ns/iter (± 160
)52354
ns/iter (± 93
)0.99
es/transform/baseline/common_reserved_word
62335
ns/iter (± 58
)63404
ns/iter (± 150
)0.98
es/transform/baseline/common_typescript
145088
ns/iter (± 3039
)168974
ns/iter (± 218
)0.86
es/target/es3
168882
ns/iter (± 196
)169908
ns/iter (± 323
)0.99
es/target/es2015
625284
ns/iter (± 1088
)631232
ns/iter (± 1493
)0.99
es/target/es2016
64927
ns/iter (± 103
)65965
ns/iter (± 100
)0.98
es/target/es2017
61569
ns/iter (± 80
)62163
ns/iter (± 101
)0.99
es/target/es2018
81887
ns/iter (± 134
)82517
ns/iter (± 121
)0.99
es/target/es2020
131908
ns/iter (± 323
)132705
ns/iter (± 181
)0.99
babelify-only
671208
ns/iter (± 1499
)677891
ns/iter (± 4704
)0.99
parse_and_babelify_angular
45445699
ns/iter (± 1046262
)45783442
ns/iter (± 1043874
)0.99
parse_and_babelify_backbone
5398427
ns/iter (± 34997
)5438737
ns/iter (± 93810
)0.99
parse_and_babelify_jquery
32214522
ns/iter (± 259826
)33353744
ns/iter (± 919262
)0.97
parse_and_babelify_jquery_mobile
55285190
ns/iter (± 1110985
)56289671
ns/iter (± 703720
)0.98
parse_and_babelify_mootools
32928334
ns/iter (± 786262
)35505019
ns/iter (± 696914
)0.93
parse_and_babelify_underscore
4381821
ns/iter (± 21276
)4433673
ns/iter (± 79227
)0.99
parse_and_babelify_yui
33281503
ns/iter (± 763993
)33678938
ns/iter (± 524357
)0.99
html/minify/document/css_spec
41470575
ns/iter (± 119667
)42191367
ns/iter (± 665097
)0.98
html/minify/document/github
17448280
ns/iter (± 24379
)17606807
ns/iter (± 47419
)0.99
html/minify/document/stackoverflow
15687755
ns/iter (± 25222
)15756590
ns/iter (± 92278
)1.00
html/minify/document_fragment/css_spec
39516606
ns/iter (± 237124
)40550779
ns/iter (± 252070
)0.97
html/minify/document_fragment/github
16845271
ns/iter (± 22264
)16897434
ns/iter (± 32071
)1.00
html/minify/document_fragment/stackoverflow
15313887
ns/iter (± 24618
)15523951
ns/iter (± 127887
)0.99
html/document/visitor/compare/clone
338027
ns/iter (± 1932
)337399
ns/iter (± 1954
)1.00
html/document/visitor/compare/visit_mut_span
366537
ns/iter (± 1267
)366446
ns/iter (± 1948
)1.00
html/document/visitor/compare/visit_mut_span_panic
373973
ns/iter (± 1332
)372046
ns/iter (± 1913
)1.01
html/document/visitor/compare/fold_span
401277
ns/iter (± 1487
)401462
ns/iter (± 1549
)1.00
html/document/visitor/compare/fold_span_panic
462570
ns/iter (± 2308
)460486
ns/iter (± 1698
)1.00
html/document_fragment/visitor/compare/clone
342141
ns/iter (± 1737
)338027
ns/iter (± 2419
)1.01
html/document_fragment/visitor/compare/visit_mut_span
369402
ns/iter (± 2208
)365831
ns/iter (± 2084
)1.01
html/document_fragment/visitor/compare/visit_mut_span_panic
380078
ns/iter (± 2541
)376275
ns/iter (± 1837
)1.01
html/document_fragment/visitor/compare/fold_span
407366
ns/iter (± 2385
)406182
ns/iter (± 1303
)1.00
html/document_fragment/visitor/compare/fold_span_panic
455644
ns/iter (± 2271
)461453
ns/iter (± 2194
)0.99
html/lexer/css_2021_spec
15662011
ns/iter (± 12170
)15558049
ns/iter (± 12346
)1.01
html/lexer/github_com_17_05_2022
6033115
ns/iter (± 3036
)6027918
ns/iter (± 1963
)1.00
html/lexer/stackoverflow_com_17_05_2022
5655201
ns/iter (± 1778
)5638412
ns/iter (± 2341
)1.00
html/parser/parser_document/css_2021_spec
25187780
ns/iter (± 88386
)26166601
ns/iter (± 394197
)0.96
html/parser/parser_document/github_com_17_05_2022
8713111
ns/iter (± 4857
)8754306
ns/iter (± 6683
)1.00
html/parser/parser_document/stackoverflow_com_17_05_2022
7712166
ns/iter (± 8186
)7704959
ns/iter (± 16564
)1.00
html/parser/parser_document_fragment/css_2021_spec
25353904
ns/iter (± 113697
)25950702
ns/iter (± 333872
)0.98
html/parser/parser_document_fragment/github_com_17_05_2022
8728311
ns/iter (± 19730
)8741806
ns/iter (± 10340
)1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7721929
ns/iter (± 10976
)7697667
ns/iter (± 4958
)1.00
This comment was automatically generated by workflow using github-action-benchmark.