Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/minifier): Bailout regex optimization on invalid flags (#7020)
- Loading branch information
Showing
3 changed files
with
56 additions
and
53 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
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 |
---|---|---|
@@ -1,4 +1,4 @@ | ||
bar(RegExp("")); | ||
bar(RegExp("", "u")); | ||
bar(/a/); | ||
bar(/a/u); | ||
bar(RegExp("a", "u")); |
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 |
---|---|---|
|
@@ -2,4 +2,4 @@ | |
/bar/gi; | ||
RegExp(foo); | ||
RegExp("bar", ig); | ||
/should/afil; | ||
RegExp("should", "fail"); |
1318afe
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
306623
ns/iter (± 11631
)308512
ns/iter (± 16467
)0.99
es/full/minify/libraries/antd
1638608675
ns/iter (± 21909079
)1698889544
ns/iter (± 47815608
)0.96
es/full/minify/libraries/d3
289195906
ns/iter (± 10648115
)299333971
ns/iter (± 6510919
)0.97
es/full/minify/libraries/echarts
1241589547
ns/iter (± 10768243
)1294526287
ns/iter (± 6372761
)0.96
es/full/minify/libraries/jquery
89922862
ns/iter (± 570943
)91782327
ns/iter (± 620736
)0.98
es/full/minify/libraries/lodash
106286057
ns/iter (± 1058628
)107124435
ns/iter (± 908734
)0.99
es/full/minify/libraries/moment
51916926
ns/iter (± 383381
)53586749
ns/iter (± 392695
)0.97
es/full/minify/libraries/react
19059611
ns/iter (± 88890
)19328083
ns/iter (± 216182
)0.99
es/full/minify/libraries/terser
240904371
ns/iter (± 3288501
)250846627
ns/iter (± 2110540
)0.96
es/full/minify/libraries/three
431118030
ns/iter (± 2848130
)454585088
ns/iter (± 2705487
)0.95
es/full/minify/libraries/typescript
3130041728
ns/iter (± 26289235
)3183843026
ns/iter (± 16713740
)0.98
es/full/minify/libraries/victory
655384265
ns/iter (± 8368443
)691745115
ns/iter (± 10438722
)0.95
es/full/minify/libraries/vue
128664545
ns/iter (± 1034484
)131947705
ns/iter (± 791050
)0.98
es/full/codegen/es3
25712
ns/iter (± 180
)25933
ns/iter (± 95
)0.99
es/full/codegen/es5
26044
ns/iter (± 76
)25928
ns/iter (± 67
)1.00
es/full/codegen/es2015
25776
ns/iter (± 116
)25918
ns/iter (± 91
)0.99
es/full/codegen/es2016
25618
ns/iter (± 114
)25906
ns/iter (± 83
)0.99
es/full/codegen/es2017
25658
ns/iter (± 111
)25950
ns/iter (± 49
)0.99
es/full/codegen/es2018
26111
ns/iter (± 174
)25882
ns/iter (± 71
)1.01
es/full/codegen/es2019
26294
ns/iter (± 86
)25925
ns/iter (± 69
)1.01
es/full/codegen/es2020
26219
ns/iter (± 71
)25970
ns/iter (± 61
)1.01
es/full/all/es3
172236773
ns/iter (± 2787063
)172096916
ns/iter (± 2410540
)1.00
es/full/all/es5
164580444
ns/iter (± 2534544
)162634617
ns/iter (± 3688496
)1.01
es/full/all/es2015
125573663
ns/iter (± 1951023
)127293594
ns/iter (± 1940186
)0.99
es/full/all/es2016
125142746
ns/iter (± 2364566
)124362984
ns/iter (± 1249527
)1.01
es/full/all/es2017
123687102
ns/iter (± 961224
)123603167
ns/iter (± 1414451
)1.00
es/full/all/es2018
121372851
ns/iter (± 785666
)121159810
ns/iter (± 998187
)1.00
es/full/all/es2019
119369526
ns/iter (± 560845
)120695835
ns/iter (± 871178
)0.99
es/full/all/es2020
114985316
ns/iter (± 853334
)115004404
ns/iter (± 1481342
)1.00
es/full/parser
538738
ns/iter (± 8837
)544741
ns/iter (± 7707
)0.99
es/full/base/fixer
22016
ns/iter (± 44
)21943
ns/iter (± 36
)1.00
es/full/base/resolver_and_hygiene
80905
ns/iter (± 344
)81178
ns/iter (± 96
)1.00
serialization of ast node
143
ns/iter (± 1
)144
ns/iter (± 0
)0.99
serialization of serde
132
ns/iter (± 0
)134
ns/iter (± 0
)0.99
css/minify/libraries/bootstrap
27523456
ns/iter (± 113597
)28559366
ns/iter (± 139487
)0.96
css/visitor/compare/clone
2054303
ns/iter (± 13423
)2062789
ns/iter (± 22041
)1.00
css/visitor/compare/visit_mut_span
2241906
ns/iter (± 5767
)2241179
ns/iter (± 5228
)1.00
css/visitor/compare/visit_mut_span_panic
2304037
ns/iter (± 37748
)2337288
ns/iter (± 4783
)0.99
css/visitor/compare/fold_span
3006363
ns/iter (± 21519
)3055345
ns/iter (± 17080
)0.98
css/visitor/compare/fold_span_panic
3105584
ns/iter (± 20907
)3211476
ns/iter (± 22719
)0.97
css/lexer/bootstrap_5_1_3
5114115
ns/iter (± 45331
)5190110
ns/iter (± 40728
)0.99
css/lexer/foundation_6_7_4
4298407
ns/iter (± 11536
)4367995
ns/iter (± 1250
)0.98
css/lexer/tailwind_3_1_1
817917
ns/iter (± 6016
)830767
ns/iter (± 346
)0.98
css/parser/bootstrap_5_1_3
21198577
ns/iter (± 107422
)21648849
ns/iter (± 42791
)0.98
css/parser/foundation_6_7_4
16968142
ns/iter (± 129154
)17369467
ns/iter (± 149930
)0.98
css/parser/tailwind_3_1_1
3269098
ns/iter (± 25905
)3322294
ns/iter (± 6170
)0.98
es/codegen/colors
334090
ns/iter (± 189034
)327453
ns/iter (± 184398
)1.02
es/codegen/large
1220180
ns/iter (± 620932
)1233084
ns/iter (± 647532
)0.99
es/codegen/with-parser/colors
47061
ns/iter (± 477
)47908
ns/iter (± 306
)0.98
es/codegen/with-parser/large
514841
ns/iter (± 2797
)522545
ns/iter (± 1360
)0.99
es/minify/libraries/antd
1459294261
ns/iter (± 21997822
)1584220496
ns/iter (± 36704098
)0.92
es/minify/libraries/d3
249811570
ns/iter (± 1969325
)268325926
ns/iter (± 6003704
)0.93
es/minify/libraries/echarts
1067928249
ns/iter (± 8429624
)1141545573
ns/iter (± 41306503
)0.94
es/minify/libraries/jquery
78658774
ns/iter (± 326003
)80412533
ns/iter (± 519972
)0.98
es/minify/libraries/lodash
95227304
ns/iter (± 1243134
)96066467
ns/iter (± 820916
)0.99
es/minify/libraries/moment
45855746
ns/iter (± 423403
)46344112
ns/iter (± 290693
)0.99
es/minify/libraries/react
17156751
ns/iter (± 83590
)17478601
ns/iter (± 158497
)0.98
es/minify/libraries/terser
207300249
ns/iter (± 1503271
)211989427
ns/iter (± 2547002
)0.98
es/minify/libraries/three
359135378
ns/iter (± 3046387
)386852435
ns/iter (± 10518837
)0.93
es/minify/libraries/typescript
2693183661
ns/iter (± 13237368
)2759088285
ns/iter (± 19310311
)0.98
es/minify/libraries/victory
554536360
ns/iter (± 7315873
)603213959
ns/iter (± 13758514
)0.92
es/minify/libraries/vue
116004541
ns/iter (± 1169784
)118669053
ns/iter (± 1213202
)0.98
es/visitor/compare/clone
2377260
ns/iter (± 9655
)2367455
ns/iter (± 15554
)1.00
es/visitor/compare/visit_mut_span
2731263
ns/iter (± 12467
)2775392
ns/iter (± 11935
)0.98
es/visitor/compare/visit_mut_span_panic
2778131
ns/iter (± 9659
)2808677
ns/iter (± 8473
)0.99
es/visitor/compare/fold_span
3843085
ns/iter (± 25363
)3915282
ns/iter (± 9738
)0.98
es/visitor/compare/fold_span_panic
3965303
ns/iter (± 22039
)4069358
ns/iter (± 6456
)0.97
es/lexer/colors
15873
ns/iter (± 84
)16293
ns/iter (± 9
)0.97
es/lexer/angular
7679320
ns/iter (± 33044
)7837291
ns/iter (± 10852
)0.98
es/lexer/backbone
984615
ns/iter (± 3539
)1008471
ns/iter (± 437
)0.98
es/lexer/jquery
5480618
ns/iter (± 19211
)5603377
ns/iter (± 3521
)0.98
es/lexer/jquery mobile
8403405
ns/iter (± 47252
)8628674
ns/iter (± 14759
)0.97
es/lexer/mootools
4318290
ns/iter (± 26486
)4419170
ns/iter (± 4227
)0.98
es/lexer/underscore
821620
ns/iter (± 7006
)847354
ns/iter (± 595
)0.97
es/lexer/three
25683874
ns/iter (± 149592
)26114967
ns/iter (± 21737
)0.98
es/lexer/yui
4682680
ns/iter (± 18286
)4808084
ns/iter (± 2131
)0.97
es/parser/colors
29971
ns/iter (± 169
)30605
ns/iter (± 52
)0.98
es/parser/angular
15363694
ns/iter (± 113564
)15906574
ns/iter (± 221987
)0.97
es/parser/backbone
2236527
ns/iter (± 13170
)2296129
ns/iter (± 14288
)0.97
es/parser/jquery
12047238
ns/iter (± 60318
)12428305
ns/iter (± 58640
)0.97
es/parser/jquery mobile
18746576
ns/iter (± 196817
)19837722
ns/iter (± 403291
)0.94
es/parser/mootools
9251061
ns/iter (± 38197
)9498688
ns/iter (± 27105
)0.97
es/parser/underscore
1900729
ns/iter (± 17271
)1948748
ns/iter (± 14028
)0.98
es/parser/three
55091860
ns/iter (± 765119
)58864421
ns/iter (± 414255
)0.94
es/parser/yui
9308875
ns/iter (± 67560
)9550234
ns/iter (± 48865
)0.97
es/preset-env/usage/builtin_type
150654
ns/iter (± 34272
)143510
ns/iter (± 33705
)1.05
es/preset-env/usage/property
20716
ns/iter (± 121
)21065
ns/iter (± 97
)0.98
es/resolver/typescript
120981493
ns/iter (± 2239173
)126740377
ns/iter (± 3268328
)0.95
es/fixer/typescript
93800788
ns/iter (± 1409206
)98060722
ns/iter (± 1654646
)0.96
es/hygiene/typescript
196841859
ns/iter (± 1239643
)206197040
ns/iter (± 1472388
)0.95
es/resolver_with_hygiene/typescript
326753982
ns/iter (± 1658531
)343357500
ns/iter (± 1832561
)0.95
es/visitor/base-perf/module_clone
75010
ns/iter (± 2151
)76554
ns/iter (± 1800
)0.98
es/visitor/base-perf/fold_empty
84242
ns/iter (± 1749
)86241
ns/iter (± 812
)0.98
es/visitor/base-perf/fold_noop_impl_all
85766
ns/iter (± 2174
)86620
ns/iter (± 1593
)0.99
es/visitor/base-perf/fold_noop_impl_vec
85056
ns/iter (± 1143
)86852
ns/iter (± 1787
)0.98
es/visitor/base-perf/boxing_boxed_clone
54
ns/iter (± 0
)56
ns/iter (± 0
)0.96
es/visitor/base-perf/boxing_unboxed_clone
58
ns/iter (± 0
)59
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_boxed
100
ns/iter (± 0
)103
ns/iter (± 0
)0.97
es/visitor/base-perf/boxing_unboxed
101
ns/iter (± 0
)102
ns/iter (± 0
)0.99
es/visitor/base-perf/visit_contains_this
3492
ns/iter (± 62
)3410
ns/iter (± 39
)1.02
es/base/parallel/resolver/typescript
5398868439
ns/iter (± 556093230
)5699382005
ns/iter (± 445201509
)0.95
es/base/parallel/hygiene/typescript
2372514527
ns/iter (± 20716514
)2384874644
ns/iter (± 34197988
)0.99
misc/visitors/time-complexity/time 5
100
ns/iter (± 0
)101
ns/iter (± 0
)0.99
misc/visitors/time-complexity/time 10
327
ns/iter (± 4
)335
ns/iter (± 2
)0.98
misc/visitors/time-complexity/time 15
632
ns/iter (± 3
)643
ns/iter (± 0
)0.98
misc/visitors/time-complexity/time 20
1190
ns/iter (± 4
)1205
ns/iter (± 0
)0.99
misc/visitors/time-complexity/time 40
6550
ns/iter (± 110
)6567
ns/iter (± 1
)1.00
misc/visitors/time-complexity/time 60
16597
ns/iter (± 53
)17340
ns/iter (± 56
)0.96
es/full-target/es2016
184297
ns/iter (± 1590
)187686
ns/iter (± 385
)0.98
es/full-target/es2017
178344
ns/iter (± 663
)182499
ns/iter (± 359
)0.98
es/full-target/es2018
168179
ns/iter (± 770
)172019
ns/iter (± 364
)0.98
es2020_nullish_coalescing
65034
ns/iter (± 254
)66903
ns/iter (± 106
)0.97
es2020_optional_chaining
94039
ns/iter (± 1014
)95651
ns/iter (± 198
)0.98
es2022_class_properties
91288
ns/iter (± 350
)93966
ns/iter (± 159
)0.97
es2018_object_rest_spread
69608
ns/iter (± 301
)71360
ns/iter (± 141
)0.98
es2019_optional_catch_binding
59838
ns/iter (± 501
)61036
ns/iter (± 103
)0.98
es2017_async_to_generator
59951
ns/iter (± 294
)61272
ns/iter (± 82
)0.98
es2016_exponentiation
63523
ns/iter (± 276
)64885
ns/iter (± 175
)0.98
es2015_arrow
68984
ns/iter (± 362
)69868
ns/iter (± 198
)0.99
es2015_block_scoped_fn
64584
ns/iter (± 329
)66110
ns/iter (± 134
)0.98
es2015_block_scoping
146137
ns/iter (± 9885
)138655
ns/iter (± 10559
)1.05
es2015_classes
114574
ns/iter (± 982
)116819
ns/iter (± 354
)0.98
es2015_computed_props
59795
ns/iter (± 202
)60862
ns/iter (± 105
)0.98
es2015_destructuring
113484
ns/iter (± 855
)116801
ns/iter (± 317
)0.97
es2015_duplicate_keys
61766
ns/iter (± 383
)63464
ns/iter (± 98
)0.97
es2015_parameters
77848
ns/iter (± 626
)79549
ns/iter (± 91
)0.98
es2015_fn_name
64488
ns/iter (± 601
)65914
ns/iter (± 461
)0.98
es2015_for_of
62307
ns/iter (± 261
)63693
ns/iter (± 102
)0.98
es2015_instanceof
61529
ns/iter (± 243
)63205
ns/iter (± 81
)0.97
es2015_shorthand_property
59400
ns/iter (± 290
)60875
ns/iter (± 102
)0.98
es2015_spread
59611
ns/iter (± 226
)60817
ns/iter (± 110
)0.98
es2015_sticky_regex
60896
ns/iter (± 355
)61901
ns/iter (± 100
)0.98
es2015_typeof_symbol
60823
ns/iter (± 395
)61862
ns/iter (± 119
)0.98
es/transform/baseline/base
50471
ns/iter (± 316
)51602
ns/iter (± 89
)0.98
es/transform/baseline/common_reserved_word
61191
ns/iter (± 391
)62424
ns/iter (± 62
)0.98
es/transform/baseline/common_typescript
139462
ns/iter (± 2301
)146267
ns/iter (± 6844
)0.95
es/target/es3
165642
ns/iter (± 574
)168800
ns/iter (± 310
)0.98
es/target/es2015
615039
ns/iter (± 3193
)630689
ns/iter (± 1246
)0.98
es/target/es2016
63187
ns/iter (± 321
)65071
ns/iter (± 146
)0.97
es/target/es2017
60409
ns/iter (± 338
)61590
ns/iter (± 95
)0.98
es/target/es2018
79375
ns/iter (± 359
)81190
ns/iter (± 155
)0.98
es/target/es2020
129891
ns/iter (± 1431
)133573
ns/iter (± 225
)0.97
babelify-only
666566
ns/iter (± 4757
)672149
ns/iter (± 2947
)0.99
parse_and_babelify_angular
44399236
ns/iter (± 1551092
)43635241
ns/iter (± 768030
)1.02
parse_and_babelify_backbone
5406443
ns/iter (± 51944
)5433333
ns/iter (± 48175
)1.00
parse_and_babelify_jquery
31811105
ns/iter (± 378589
)31879412
ns/iter (± 371668
)1.00
parse_and_babelify_jquery_mobile
53955900
ns/iter (± 543758
)54801296
ns/iter (± 907102
)0.98
parse_and_babelify_mootools
32559543
ns/iter (± 420308
)33711719
ns/iter (± 535098
)0.97
parse_and_babelify_underscore
4370569
ns/iter (± 24451
)4380415
ns/iter (± 18023
)1.00
parse_and_babelify_yui
31992824
ns/iter (± 590817
)33790605
ns/iter (± 1164240
)0.95
html/minify/document/css_spec
41096955
ns/iter (± 265723
)41781665
ns/iter (± 229039
)0.98
html/minify/document/github
17072498
ns/iter (± 108565
)17567649
ns/iter (± 21973
)0.97
html/minify/document/stackoverflow
15456247
ns/iter (± 99794
)15812270
ns/iter (± 19721
)0.98
html/minify/document_fragment/css_spec
38964693
ns/iter (± 285521
)39797378
ns/iter (± 194123
)0.98
html/minify/document_fragment/github
16439108
ns/iter (± 118583
)16809864
ns/iter (± 22805
)0.98
html/minify/document_fragment/stackoverflow
14990990
ns/iter (± 218337
)15301310
ns/iter (± 17921
)0.98
html/document/visitor/compare/clone
336506
ns/iter (± 3967
)337734
ns/iter (± 2252
)1.00
html/document/visitor/compare/visit_mut_span
353405
ns/iter (± 2543
)366220
ns/iter (± 1790
)0.97
html/document/visitor/compare/visit_mut_span_panic
369534
ns/iter (± 2736
)375962
ns/iter (± 1369
)0.98
html/document/visitor/compare/fold_span
395575
ns/iter (± 2503
)403090
ns/iter (± 2090
)0.98
html/document/visitor/compare/fold_span_panic
453371
ns/iter (± 3350
)460241
ns/iter (± 1948
)0.99
html/document_fragment/visitor/compare/clone
329706
ns/iter (± 2954
)332370
ns/iter (± 1540
)0.99
html/document_fragment/visitor/compare/visit_mut_span
362759
ns/iter (± 2601
)365473
ns/iter (± 2213
)0.99
html/document_fragment/visitor/compare/visit_mut_span_panic
372985
ns/iter (± 3349
)374530
ns/iter (± 1356
)1.00
html/document_fragment/visitor/compare/fold_span
396244
ns/iter (± 1965
)403198
ns/iter (± 2063
)0.98
html/document_fragment/visitor/compare/fold_span_panic
451818
ns/iter (± 3859
)462535
ns/iter (± 965
)0.98
html/lexer/css_2021_spec
15213265
ns/iter (± 126788
)15523506
ns/iter (± 20604
)0.98
html/lexer/github_com_17_05_2022
5890318
ns/iter (± 22596
)6023180
ns/iter (± 3784
)0.98
html/lexer/stackoverflow_com_17_05_2022
5505420
ns/iter (± 29460
)5629210
ns/iter (± 4048
)0.98
html/parser/parser_document/css_2021_spec
25002613
ns/iter (± 232460
)25567545
ns/iter (± 275362
)0.98
html/parser/parser_document/github_com_17_05_2022
8511434
ns/iter (± 30740
)8737190
ns/iter (± 15296
)0.97
html/parser/parser_document/stackoverflow_com_17_05_2022
7507888
ns/iter (± 24117
)7687277
ns/iter (± 15318
)0.98
html/parser/parser_document_fragment/css_2021_spec
24962807
ns/iter (± 163821
)25494844
ns/iter (± 152034
)0.98
html/parser/parser_document_fragment/github_com_17_05_2022
8555079
ns/iter (± 33360
)8755638
ns/iter (± 12359
)0.98
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7536663
ns/iter (± 40898
)7702084
ns/iter (± 10420
)0.98
This comment was automatically generated by workflow using github-action-benchmark.