File tree 2 files changed +20
-1
lines changed
swc_ecma_transforms_optimization/src/simplify/expr
2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -10931,3 +10931,22 @@ fn issue_6914_3() {
10931
10931
false ,
10932
10932
) ;
10933
10933
}
10934
+
10935
+ #[ test]
10936
+ fn issue_7274 ( ) {
10937
+ run_default_exec_test (
10938
+ r###"
10939
+ if (
10940
+ // incorrect:
10941
+ "😋📋👌".length === 3
10942
+
10943
+ // correct:
10944
+ // "😋📋👌".length === 6
10945
+ ) {
10946
+ // side effect
10947
+ new Response(123);
10948
+ }
10949
+ console.log('PASS');
10950
+ "### ,
10951
+ ) ;
10952
+ }
Original file line number Diff line number Diff line change @@ -154,7 +154,7 @@ impl SimplifyExpr {
154
154
self . changed = true ;
155
155
156
156
* expr = Expr :: Lit ( Lit :: Num ( Number {
157
- value : value. chars ( ) . count ( ) as f64 ,
157
+ value : value. chars ( ) . map ( |c| c . len_utf16 ( ) ) . sum :: < usize > ( ) as _ ,
158
158
span : * span,
159
159
raw : None ,
160
160
} ) ) ;
You can’t perform that action at this time.
1 commit comments
github-actions[bot] commentedon Apr 15, 2023
Benchmark
es/full/bugs-1
317534
ns/iter (± 8169
)305689
ns/iter (± 9668
)1.04
es/full/minify/libraries/antd
1698620871
ns/iter (± 27015444
)1572733818
ns/iter (± 15680329
)1.08
es/full/minify/libraries/d3
324941152
ns/iter (± 9781325
)308444654
ns/iter (± 7186388
)1.05
es/full/minify/libraries/echarts
1321397348
ns/iter (± 13604325
)1212875863
ns/iter (± 14262629
)1.09
es/full/minify/libraries/jquery
93265598
ns/iter (± 926061
)90871678
ns/iter (± 2521241
)1.03
es/full/minify/libraries/lodash
108660264
ns/iter (± 2236613
)107262861
ns/iter (± 1995755
)1.01
es/full/minify/libraries/moment
54096475
ns/iter (± 788997
)52626594
ns/iter (± 761505
)1.03
es/full/minify/libraries/react
20006728
ns/iter (± 253946
)19419554
ns/iter (± 212158
)1.03
es/full/minify/libraries/terser
266285355
ns/iter (± 5438567
)247362205
ns/iter (± 4918511
)1.08
es/full/minify/libraries/three
482784766
ns/iter (± 9855111
)436692300
ns/iter (± 7192564
)1.11
es/full/minify/libraries/typescript
3200186176
ns/iter (± 18287997
)2971286136
ns/iter (± 10526906
)1.08
es/full/minify/libraries/victory
736968670
ns/iter (± 11007267
)682585029
ns/iter (± 18207000
)1.08
es/full/minify/libraries/vue
140241992
ns/iter (± 1519149
)131944693
ns/iter (± 1593162
)1.06
es/full/codegen/es3
28786
ns/iter (± 59
)28289
ns/iter (± 49
)1.02
es/full/codegen/es5
28931
ns/iter (± 46
)28344
ns/iter (± 90
)1.02
es/full/codegen/es2015
28906
ns/iter (± 66
)28386
ns/iter (± 102
)1.02
es/full/codegen/es2016
28842
ns/iter (± 48
)28372
ns/iter (± 56
)1.02
es/full/codegen/es2017
28920
ns/iter (± 62
)28359
ns/iter (± 44
)1.02
es/full/codegen/es2018
28935
ns/iter (± 196
)28381
ns/iter (± 54
)1.02
es/full/codegen/es2019
28893
ns/iter (± 60
)28355
ns/iter (± 35
)1.02
es/full/codegen/es2020
28896
ns/iter (± 53
)28365
ns/iter (± 61
)1.02
es/full/all/es3
181588554
ns/iter (± 2727377
)182815831
ns/iter (± 4431270
)0.99
es/full/all/es5
176416680
ns/iter (± 2713280
)177493325
ns/iter (± 1664611
)0.99
es/full/all/es2015
136149022
ns/iter (± 2917783
)138921872
ns/iter (± 2659713
)0.98
es/full/all/es2016
135042229
ns/iter (± 1252560
)136347011
ns/iter (± 2541760
)0.99
es/full/all/es2017
133900097
ns/iter (± 3067306
)134950337
ns/iter (± 1037423
)0.99
es/full/all/es2018
128291978
ns/iter (± 1488561
)132555667
ns/iter (± 4035538
)0.97
es/full/all/es2019
126885720
ns/iter (± 1743163
)129913245
ns/iter (± 2643128
)0.98
es/full/all/es2020
120346629
ns/iter (± 863639
)123008132
ns/iter (± 2420393
)0.98
es/full/parser
523086
ns/iter (± 10399
)520987
ns/iter (± 8700
)1.00
es/full/base/fixer
22630
ns/iter (± 61
)22584
ns/iter (± 20
)1.00
es/full/base/resolver_and_hygiene
83820
ns/iter (± 76
)85555
ns/iter (± 141
)0.98
serialization of serde
121
ns/iter (± 0
)121
ns/iter (± 0
)1
css/minify/libraries/bootstrap
28345153
ns/iter (± 224989
)27703320
ns/iter (± 134292
)1.02
css/visitor/compare/clone
2112079
ns/iter (± 14469
)2104166
ns/iter (± 7881
)1.00
css/visitor/compare/visit_mut_span
2301077
ns/iter (± 11858
)2303190
ns/iter (± 11088
)1.00
css/visitor/compare/visit_mut_span_panic
2353396
ns/iter (± 6726
)2372394
ns/iter (± 5850
)0.99
css/visitor/compare/fold_span
3075967
ns/iter (± 15573
)3056266
ns/iter (± 16790
)1.01
css/visitor/compare/fold_span_panic
3249161
ns/iter (± 34747
)3244957
ns/iter (± 9457
)1.00
css/lexer/bootstrap_5_1_3
5140872
ns/iter (± 16931
)5130744
ns/iter (± 3083
)1.00
css/lexer/foundation_6_7_4
4407123
ns/iter (± 1340
)4317062
ns/iter (± 2575
)1.02
css/lexer/tailwind_3_1_1
838633
ns/iter (± 133
)821373
ns/iter (± 1035
)1.02
css/parser/bootstrap_5_1_3
21792515
ns/iter (± 200418
)21181451
ns/iter (± 210496
)1.03
css/parser/foundation_6_7_4
17329677
ns/iter (± 194146
)16751865
ns/iter (± 56476
)1.03
css/parser/tailwind_3_1_1
3230792
ns/iter (± 16508
)3236131
ns/iter (± 4534
)1.00
es/codegen/colors
317384
ns/iter (± 179143
)328025
ns/iter (± 185556
)0.97
es/codegen/large
1110732
ns/iter (± 556156
)1255711
ns/iter (± 656354
)0.88
es/codegen/with-parser/colors
47677
ns/iter (± 329
)47183
ns/iter (± 79
)1.01
es/codegen/with-parser/large
510078
ns/iter (± 1807
)510936
ns/iter (± 1240
)1.00
es/minify/libraries/antd
1516309789
ns/iter (± 25069412
)1365555157
ns/iter (± 12059985
)1.11
es/minify/libraries/d3
273754591
ns/iter (± 5318527
)255543578
ns/iter (± 6639054
)1.07
es/minify/libraries/echarts
1134299068
ns/iter (± 11037409
)1055406990
ns/iter (± 10079491
)1.07
es/minify/libraries/jquery
80895543
ns/iter (± 751322
)79190822
ns/iter (± 785402
)1.02
es/minify/libraries/lodash
98514069
ns/iter (± 2147712
)94964237
ns/iter (± 1992956
)1.04
es/minify/libraries/moment
46632007
ns/iter (± 444133
)46275969
ns/iter (± 721768
)1.01
es/minify/libraries/react
17836596
ns/iter (± 306210
)17194665
ns/iter (± 176163
)1.04
es/minify/libraries/terser
227773639
ns/iter (± 5408125
)212298296
ns/iter (± 4151749
)1.07
es/minify/libraries/three
391907376
ns/iter (± 4996466
)367960829
ns/iter (± 7917346
)1.07
es/minify/libraries/typescript
2697766931
ns/iter (± 24735433
)2511243666
ns/iter (± 10327499
)1.07
es/minify/libraries/victory
614666262
ns/iter (± 13258080
)554119922
ns/iter (± 17684286
)1.11
es/minify/libraries/vue
120605464
ns/iter (± 3378199
)118576240
ns/iter (± 2580675
)1.02
es/visitor/compare/clone
2345119
ns/iter (± 12533
)2336970
ns/iter (± 5709
)1.00
es/visitor/compare/visit_mut_span
2730192
ns/iter (± 22748
)2707210
ns/iter (± 3943
)1.01
es/visitor/compare/visit_mut_span_panic
2801438
ns/iter (± 33264
)2764138
ns/iter (± 7774
)1.01
es/visitor/compare/fold_span
3864667
ns/iter (± 48121
)3826267
ns/iter (± 20426
)1.01
es/visitor/compare/fold_span_panic
3963652
ns/iter (± 28310
)3930127
ns/iter (± 24138
)1.01
es/lexer/colors
13179
ns/iter (± 84
)13343
ns/iter (± 14
)0.99
es/lexer/angular
6341877
ns/iter (± 3139
)6358396
ns/iter (± 3785
)1.00
es/lexer/backbone
784276
ns/iter (± 255
)788057
ns/iter (± 566
)1.00
es/lexer/jquery
4402704
ns/iter (± 2266
)4411482
ns/iter (± 3961
)1.00
es/lexer/jquery mobile
6856969
ns/iter (± 3877
)6871994
ns/iter (± 7399
)1.00
es/lexer/mootools
3448373
ns/iter (± 12895
)3456517
ns/iter (± 2963
)1.00
es/lexer/underscore
648331
ns/iter (± 216
)651635
ns/iter (± 514
)0.99
es/lexer/three
20715519
ns/iter (± 17040
)20741831
ns/iter (± 13796
)1.00
es/lexer/yui
3848409
ns/iter (± 1455
)3863553
ns/iter (± 3033
)1.00
es/parser/colors
29149
ns/iter (± 101
)28688
ns/iter (± 58
)1.02
es/parser/angular
15594658
ns/iter (± 235760
)15005754
ns/iter (± 233418
)1.04
es/parser/backbone
2176726
ns/iter (± 9614
)2167994
ns/iter (± 12889
)1.00
es/parser/jquery
12086654
ns/iter (± 236745
)11739164
ns/iter (± 98268
)1.03
es/parser/jquery mobile
19446462
ns/iter (± 453111
)18646986
ns/iter (± 485187
)1.04
es/parser/mootools
9088185
ns/iter (± 66404
)8956758
ns/iter (± 36911
)1.01
es/parser/underscore
1834779
ns/iter (± 9450
)1827924
ns/iter (± 10418
)1.00
es/parser/three
56411369
ns/iter (± 261547
)53957761
ns/iter (± 325690
)1.05
es/parser/yui
9222358
ns/iter (± 71371
)9026880
ns/iter (± 76554
)1.02
es/preset-env/usage/builtin_type
142263
ns/iter (± 35279
)143032
ns/iter (± 34356
)0.99
es/preset-env/usage/property
19456
ns/iter (± 117
)19641
ns/iter (± 128
)0.99
es/resolver/typescript
119911636
ns/iter (± 1652240
)113345108
ns/iter (± 1615902
)1.06
es/fixer/typescript
87639762
ns/iter (± 339142
)80632124
ns/iter (± 1550815
)1.09
es/hygiene/typescript
192829556
ns/iter (± 2255810
)170827945
ns/iter (± 2009835
)1.13
es/resolver_with_hygiene/typescript
334131215
ns/iter (± 3062838
)303889945
ns/iter (± 3314800
)1.10
es/visitor/base-perf/module_clone
80972
ns/iter (± 672
)80933
ns/iter (± 515
)1.00
es/visitor/base-perf/fold_empty
90869
ns/iter (± 486
)90359
ns/iter (± 395
)1.01
es/visitor/base-perf/fold_noop_impl_all
91270
ns/iter (± 454
)91096
ns/iter (± 587
)1.00
es/visitor/base-perf/fold_noop_impl_vec
91357
ns/iter (± 322
)91167
ns/iter (± 264
)1.00
es/visitor/base-perf/boxing_boxed_clone
56
ns/iter (± 0
)57
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed_clone
41
ns/iter (± 0
)41
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
102
ns/iter (± 0
)102
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed
79
ns/iter (± 0
)78
ns/iter (± 0
)1.01
es/visitor/base-perf/visit_contains_this
3561
ns/iter (± 67
)3608
ns/iter (± 87
)0.99
es/base/parallel/resolver/typescript
6630248908
ns/iter (± 463237642
)5686593617
ns/iter (± 367879848
)1.17
es/base/parallel/hygiene/typescript
2180321177
ns/iter (± 27388979
)1990149418
ns/iter (± 25726580
)1.10
misc/visitors/time-complexity/time 5
105
ns/iter (± 0
)106
ns/iter (± 0
)0.99
misc/visitors/time-complexity/time 10
340
ns/iter (± 1
)339
ns/iter (± 1
)1.00
misc/visitors/time-complexity/time 15
658
ns/iter (± 5
)659
ns/iter (± 0
)1.00
misc/visitors/time-complexity/time 20
1220
ns/iter (± 0
)1222
ns/iter (± 2
)1.00
misc/visitors/time-complexity/time 40
6200
ns/iter (± 18
)6268
ns/iter (± 27
)0.99
misc/visitors/time-complexity/time 60
15595
ns/iter (± 63
)15598
ns/iter (± 10
)1.00
es/full-target/es2016
254338
ns/iter (± 1146
)253299
ns/iter (± 790
)1.00
es/full-target/es2017
246613
ns/iter (± 694
)247060
ns/iter (± 421
)1.00
es/full-target/es2018
235389
ns/iter (± 333
)235604
ns/iter (± 437
)1.00
es2020_nullish_coalescing
93311
ns/iter (± 339
)93172
ns/iter (± 226
)1.00
es2020_optional_chaining
125285
ns/iter (± 414
)124544
ns/iter (± 152
)1.01
es2022_class_properties
149601
ns/iter (± 369
)149425
ns/iter (± 353
)1.00
es2018_object_rest_spread
96100
ns/iter (± 237
)95463
ns/iter (± 222
)1.01
es2019_optional_catch_binding
85402
ns/iter (± 137
)85218
ns/iter (± 172
)1.00
es2017_async_to_generator
85731
ns/iter (± 227
)85854
ns/iter (± 174
)1.00
es2016_exponentiation
90046
ns/iter (± 246
)90371
ns/iter (± 270
)1.00
es2015_arrow
94147
ns/iter (± 264
)94155
ns/iter (± 137
)1.00
es2015_block_scoped_fn
92121
ns/iter (± 188
)91812
ns/iter (± 239
)1.00
es2015_block_scoping
170056
ns/iter (± 316
)170239
ns/iter (± 251
)1.00
This comment was automatically generated by workflow using github-action-benchmark.