Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
perf(es/lexer): Make lexer faster (#7052)
- Loading branch information
Showing
5 changed files
with
44 additions
and
32 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
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
d1d0607
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
303570
ns/iter (± 4221
)302247
ns/iter (± 4165
)1.00
es/full/minify/libraries/antd
1528390384
ns/iter (± 21207897
)1675944773
ns/iter (± 26443839
)0.91
es/full/minify/libraries/d3
293399345
ns/iter (± 4460407
)306235617
ns/iter (± 6948163
)0.96
es/full/minify/libraries/echarts
1180605201
ns/iter (± 8394167
)1289144969
ns/iter (± 12675977
)0.92
es/full/minify/libraries/jquery
90322566
ns/iter (± 494140
)92168251
ns/iter (± 877921
)0.98
es/full/minify/libraries/lodash
104485776
ns/iter (± 907990
)107819589
ns/iter (± 1087051
)0.97
es/full/minify/libraries/moment
51878084
ns/iter (± 403467
)53113998
ns/iter (± 435567
)0.98
es/full/minify/libraries/react
18929741
ns/iter (± 112830
)19253277
ns/iter (± 216999
)0.98
es/full/minify/libraries/terser
239407236
ns/iter (± 2345685
)253497336
ns/iter (± 2028841
)0.94
es/full/minify/libraries/three
420757315
ns/iter (± 4123932
)455219110
ns/iter (± 3486951
)0.92
es/full/minify/libraries/typescript
2921583690
ns/iter (± 16431581
)3150634297
ns/iter (± 27470649
)0.93
es/full/minify/libraries/victory
645045260
ns/iter (± 8360843
)697611672
ns/iter (± 9277887
)0.92
es/full/minify/libraries/vue
128708267
ns/iter (± 773589
)135335730
ns/iter (± 1666325
)0.95
es/full/codegen/es3
26117
ns/iter (± 55
)26097
ns/iter (± 53
)1.00
es/full/codegen/es5
26145
ns/iter (± 44
)26108
ns/iter (± 47
)1.00
es/full/codegen/es2015
26154
ns/iter (± 51
)26079
ns/iter (± 39
)1.00
es/full/codegen/es2016
26144
ns/iter (± 61
)26096
ns/iter (± 52
)1.00
es/full/codegen/es2017
26114
ns/iter (± 46
)26132
ns/iter (± 69
)1.00
es/full/codegen/es2018
26170
ns/iter (± 70
)26105
ns/iter (± 52
)1.00
es/full/codegen/es2019
26228
ns/iter (± 72
)26134
ns/iter (± 51
)1.00
es/full/codegen/es2020
26143
ns/iter (± 77
)26139
ns/iter (± 36
)1.00
es/full/all/es3
171117386
ns/iter (± 3480011
)176446227
ns/iter (± 1494365
)0.97
es/full/all/es5
164468442
ns/iter (± 2084823
)166962751
ns/iter (± 2622794
)0.99
es/full/all/es2015
125725181
ns/iter (± 732342
)130397342
ns/iter (± 1423648
)0.96
es/full/all/es2016
124562940
ns/iter (± 747598
)129346180
ns/iter (± 1543540
)0.96
es/full/all/es2017
124004072
ns/iter (± 1799448
)127283176
ns/iter (± 1808526
)0.97
es/full/all/es2018
120995583
ns/iter (± 868384
)123741928
ns/iter (± 1090418
)0.98
es/full/all/es2019
119837523
ns/iter (± 709717
)123283178
ns/iter (± 1112594
)0.97
es/full/all/es2020
115716637
ns/iter (± 747124
)117367688
ns/iter (± 1269289
)0.99
es/full/parser
543626
ns/iter (± 7260
)551627
ns/iter (± 10374
)0.99
es/full/base/fixer
22718
ns/iter (± 168
)24480
ns/iter (± 187
)0.93
es/full/base/resolver_and_hygiene
83386
ns/iter (± 89
)84075
ns/iter (± 484
)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
27947360
ns/iter (± 88766
)28207148
ns/iter (± 83981
)0.99
css/visitor/compare/clone
2074807
ns/iter (± 14407
)2078707
ns/iter (± 8078
)1.00
css/visitor/compare/visit_mut_span
2276210
ns/iter (± 4939
)2272204
ns/iter (± 8109
)1.00
css/visitor/compare/visit_mut_span_panic
2337443
ns/iter (± 3938
)2341264
ns/iter (± 3443
)1.00
css/visitor/compare/fold_span
3048013
ns/iter (± 17480
)3064676
ns/iter (± 11951
)0.99
css/visitor/compare/fold_span_panic
3174584
ns/iter (± 19603
)3201329
ns/iter (± 22681
)0.99
css/lexer/bootstrap_5_1_3
5174853
ns/iter (± 3322
)5212484
ns/iter (± 3820
)0.99
css/lexer/foundation_6_7_4
4349482
ns/iter (± 3028
)4394026
ns/iter (± 2635
)0.99
css/lexer/tailwind_3_1_1
828024
ns/iter (± 864
)831796
ns/iter (± 1101
)1.00
css/parser/bootstrap_5_1_3
21651860
ns/iter (± 23056
)22027154
ns/iter (± 61491
)0.98
css/parser/foundation_6_7_4
17294421
ns/iter (± 30515
)17560859
ns/iter (± 57520
)0.98
css/parser/tailwind_3_1_1
3319591
ns/iter (± 3372
)3363354
ns/iter (± 5418
)0.99
es/codegen/colors
330948
ns/iter (± 186758
)326920
ns/iter (± 184601
)1.01
es/codegen/large
1228303
ns/iter (± 630903
)1193621
ns/iter (± 615405
)1.03
es/codegen/with-parser/colors
46773
ns/iter (± 263
)48534
ns/iter (± 122
)0.96
es/codegen/with-parser/large
519035
ns/iter (± 2061
)522692
ns/iter (± 966
)0.99
es/minify/libraries/antd
1318193012
ns/iter (± 13539145
)1453148666
ns/iter (± 23088570
)0.91
es/minify/libraries/d3
246957550
ns/iter (± 1224024
)258717419
ns/iter (± 3000984
)0.95
es/minify/libraries/echarts
1010161312
ns/iter (± 7241867
)1099571728
ns/iter (± 8912178
)0.92
es/minify/libraries/jquery
77998191
ns/iter (± 406033
)79421625
ns/iter (± 709378
)0.98
es/minify/libraries/lodash
93565337
ns/iter (± 815656
)95524244
ns/iter (± 1077030
)0.98
es/minify/libraries/moment
45333254
ns/iter (± 202974
)46264185
ns/iter (± 627819
)0.98
es/minify/libraries/react
16840153
ns/iter (± 147773
)17267938
ns/iter (± 109311
)0.98
es/minify/libraries/terser
202746264
ns/iter (± 1543236
)213481566
ns/iter (± 3098327
)0.95
es/minify/libraries/three
344416604
ns/iter (± 2544277
)373112317
ns/iter (± 4919587
)0.92
es/minify/libraries/typescript
2456113649
ns/iter (± 12506549
)2647228549
ns/iter (± 11993951
)0.93
es/minify/libraries/victory
538921663
ns/iter (± 5467010
)577141571
ns/iter (± 15027667
)0.93
es/minify/libraries/vue
114893286
ns/iter (± 886418
)117808165
ns/iter (± 2302882
)0.98
es/visitor/compare/clone
2305130
ns/iter (± 7235
)2299558
ns/iter (± 11822
)1.00
es/visitor/compare/visit_mut_span
2680703
ns/iter (± 21495
)2673825
ns/iter (± 4111
)1.00
es/visitor/compare/visit_mut_span_panic
2701650
ns/iter (± 20948
)2729224
ns/iter (± 7749
)0.99
es/visitor/compare/fold_span
3756619
ns/iter (± 13339
)3775575
ns/iter (± 9587
)0.99
es/visitor/compare/fold_span_panic
3914006
ns/iter (± 12952
)3968660
ns/iter (± 18999
)0.99
es/lexer/colors
15566
ns/iter (± 15
)16575
ns/iter (± 19
)0.94
es/lexer/angular
7727194
ns/iter (± 3738
)8155002
ns/iter (± 8107
)0.95
es/lexer/backbone
1001352
ns/iter (± 608
)1015438
ns/iter (± 646
)0.99
es/lexer/jquery
5577146
ns/iter (± 3556
)5714234
ns/iter (± 2405
)0.98
es/lexer/jquery mobile
8593082
ns/iter (± 5198
)8788367
ns/iter (± 6346
)0.98
es/lexer/mootools
4405240
ns/iter (± 8672
)4496694
ns/iter (± 3929
)0.98
es/lexer/underscore
833141
ns/iter (± 642
)849238
ns/iter (± 1286
)0.98
es/lexer/three
26016949
ns/iter (± 14813
)26557876
ns/iter (± 28284
)0.98
es/lexer/yui
4733569
ns/iter (± 8061
)4938061
ns/iter (± 3986
)0.96
es/parser/colors
30002
ns/iter (± 75
)30500
ns/iter (± 134
)0.98
es/parser/angular
15533474
ns/iter (± 133681
)15821532
ns/iter (± 104381
)0.98
es/parser/backbone
2244443
ns/iter (± 10707
)2276344
ns/iter (± 12901
)0.99
es/parser/jquery
12215784
ns/iter (± 77606
)12350068
ns/iter (± 85668
)0.99
es/parser/jquery mobile
18942899
ns/iter (± 198732
)19468476
ns/iter (± 402394
)0.97
es/parser/mootools
9344819
ns/iter (± 27081
)9419493
ns/iter (± 23880
)0.99
es/parser/underscore
1907189
ns/iter (± 10243
)1926613
ns/iter (± 11444
)0.99
es/parser/three
54297186
ns/iter (± 475476
)57699306
ns/iter (± 380893
)0.94
es/parser/yui
9397280
ns/iter (± 48272
)9576844
ns/iter (± 61832
)0.98
es/preset-env/usage/builtin_type
141469
ns/iter (± 33111
)141063
ns/iter (± 32716
)1.00
es/preset-env/usage/property
21724
ns/iter (± 116
)21013
ns/iter (± 83
)1.03
es/resolver/typescript
106413068
ns/iter (± 2415127
)113832645
ns/iter (± 1737902
)0.93
es/fixer/typescript
76925493
ns/iter (± 605608
)82508044
ns/iter (± 513308
)0.93
es/hygiene/typescript
162697352
ns/iter (± 1367100
)180308139
ns/iter (± 1167495
)0.90
es/resolver_with_hygiene/typescript
287771661
ns/iter (± 2797680
)312336544
ns/iter (± 2955298
)0.92
es/visitor/base-perf/module_clone
76316
ns/iter (± 1291
)81263
ns/iter (± 2010
)0.94
es/visitor/base-perf/fold_empty
87604
ns/iter (± 1398
)90752
ns/iter (± 1840
)0.97
es/visitor/base-perf/fold_noop_impl_all
88082
ns/iter (± 1464
)92340
ns/iter (± 1903
)0.95
es/visitor/base-perf/fold_noop_impl_vec
89835
ns/iter (± 2521
)91843
ns/iter (± 898
)0.98
es/visitor/base-perf/boxing_boxed_clone
56
ns/iter (± 0
)56
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed_clone
54
ns/iter (± 0
)54
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
102
ns/iter (± 0
)101
ns/iter (± 0
)1.01
es/visitor/base-perf/boxing_unboxed
95
ns/iter (± 0
)96
ns/iter (± 0
)0.99
es/visitor/base-perf/visit_contains_this
3455
ns/iter (± 59
)3549
ns/iter (± 64
)0.97
es/base/parallel/resolver/typescript
5125697138
ns/iter (± 327801498
)5436935148
ns/iter (± 517238431
)0.94
es/base/parallel/hygiene/typescript
1949807160
ns/iter (± 26114563
)2118307390
ns/iter (± 36435393
)0.92
misc/visitors/time-complexity/time 5
101
ns/iter (± 0
)101
ns/iter (± 0
)1
misc/visitors/time-complexity/time 10
342
ns/iter (± 0
)343
ns/iter (± 1
)1.00
misc/visitors/time-complexity/time 15
666
ns/iter (± 0
)666
ns/iter (± 2
)1
misc/visitors/time-complexity/time 20
1241
ns/iter (± 2
)1241
ns/iter (± 1
)1
misc/visitors/time-complexity/time 40
6695
ns/iter (± 32
)6749
ns/iter (± 18
)0.99
misc/visitors/time-complexity/time 60
17135
ns/iter (± 38
)17258
ns/iter (± 52
)0.99
es/full-target/es2016
188356
ns/iter (± 441
)188036
ns/iter (± 562
)1.00
es/full-target/es2017
183606
ns/iter (± 630
)182840
ns/iter (± 599
)1.00
es/full-target/es2018
172289
ns/iter (± 471
)171992
ns/iter (± 353
)1.00
es2020_nullish_coalescing
66819
ns/iter (± 110
)66854
ns/iter (± 166
)1.00
es2020_optional_chaining
95209
ns/iter (± 265
)95676
ns/iter (± 309
)1.00
es2022_class_properties
93185
ns/iter (± 249
)93528
ns/iter (± 222
)1.00
es2018_object_rest_spread
71945
ns/iter (± 435
)72084
ns/iter (± 157
)1.00
es2019_optional_catch_binding
61176
ns/iter (± 212
)61487
ns/iter (± 188
)0.99
es2017_async_to_generator
61655
ns/iter (± 130
)61715
ns/iter (± 96
)1.00
es2016_exponentiation
65656
ns/iter (± 59
)65328
ns/iter (± 187
)1.01
es2015_arrow
70241
ns/iter (± 102
)69991
ns/iter (± 107
)1.00
es2015_block_scoped_fn
66611
ns/iter (± 132
)66804
ns/iter (± 152
)1.00
es2015_block_scoping
137674
ns/iter (± 5174
)153476
ns/iter (± 11257
)0.90
es2015_classes
117046
ns/iter (± 216
)117826
ns/iter (± 466
)0.99
es2015_computed_props
61162
ns/iter (± 127
)61634
ns/iter (± 616
)0.99
es2015_destructuring
118460
ns/iter (± 385
)118343
ns/iter (± 351
)1.00
es2015_duplicate_keys
63569
ns/iter (± 100
)63949
ns/iter (± 181
)0.99
es2015_parameters
79977
ns/iter (± 195
)80732
ns/iter (± 332
)0.99
es2015_fn_name
66118
ns/iter (± 407
)66110
ns/iter (± 570
)1.00
es2015_for_of
64321
ns/iter (± 74
)64616
ns/iter (± 128
)1.00
es2015_instanceof
63488
ns/iter (± 73
)63441
ns/iter (± 178
)1.00
es2015_shorthand_property
61420
ns/iter (± 117
)61464
ns/iter (± 137
)1.00
es2015_spread
60777
ns/iter (± 112
)61348
ns/iter (± 212
)0.99
es2015_sticky_regex
62310
ns/iter (± 100
)62525
ns/iter (± 228
)1.00
es2015_typeof_symbol
62142
ns/iter (± 207
)62799
ns/iter (± 144
)0.99
es/transform/baseline/base
51850
ns/iter (± 69
)51871
ns/iter (± 154
)1.00
es/transform/baseline/common_reserved_word
62928
ns/iter (± 111
)63048
ns/iter (± 129
)1.00
es/transform/baseline/common_typescript
143908
ns/iter (± 3597
)167378
ns/iter (± 180
)0.86
es/target/es3
168098
ns/iter (± 201
)169147
ns/iter (± 362
)0.99
es/target/es2015
628811
ns/iter (± 1239
)628729
ns/iter (± 941
)1.00
es/target/es2016
65439
ns/iter (± 130
)65233
ns/iter (± 154
)1.00
es/target/es2017
61725
ns/iter (± 119
)61558
ns/iter (± 116
)1.00
es/target/es2018
82054
ns/iter (± 152
)81826
ns/iter (± 103
)1.00
es/target/es2020
132210
ns/iter (± 200
)132258
ns/iter (± 267
)1.00
babelify-only
669948
ns/iter (± 951
)653968
ns/iter (± 12483
)1.02
parse_and_babelify_angular
43409641
ns/iter (± 790701
)46229152
ns/iter (± 822351
)0.94
parse_and_babelify_backbone
5372651
ns/iter (± 28143
)5487889
ns/iter (± 72054
)0.98
parse_and_babelify_jquery
31280916
ns/iter (± 307513
)32956410
ns/iter (± 492715
)0.95
parse_and_babelify_jquery_mobile
53763538
ns/iter (± 752000
)55880119
ns/iter (± 655076
)0.96
parse_and_babelify_mootools
31916647
ns/iter (± 248662
)34565506
ns/iter (± 266315
)0.92
parse_and_babelify_underscore
4278751
ns/iter (± 13811
)4363284
ns/iter (± 20922
)0.98
parse_and_babelify_yui
31569194
ns/iter (± 603101
)34347159
ns/iter (± 314135
)0.92
html/minify/document/css_spec
42217732
ns/iter (± 530803
)43392608
ns/iter (± 337886
)0.97
html/minify/document/github
17591357
ns/iter (± 52645
)17818256
ns/iter (± 55853
)0.99
html/minify/document/stackoverflow
15852824
ns/iter (± 31695
)15838051
ns/iter (± 40071
)1.00
html/minify/document_fragment/css_spec
40266079
ns/iter (± 237094
)41336068
ns/iter (± 203540
)0.97
html/minify/document_fragment/github
16937404
ns/iter (± 164180
)17064234
ns/iter (± 41058
)0.99
html/minify/document_fragment/stackoverflow
15375535
ns/iter (± 34145
)15436453
ns/iter (± 36043
)1.00
html/document/visitor/compare/clone
340532
ns/iter (± 1506
)347181
ns/iter (± 2548
)0.98
html/document/visitor/compare/visit_mut_span
365853
ns/iter (± 2603
)370598
ns/iter (± 2463
)0.99
html/document/visitor/compare/visit_mut_span_panic
376911
ns/iter (± 2155
)380180
ns/iter (± 1141
)0.99
html/document/visitor/compare/fold_span
404938
ns/iter (± 1646
)411505
ns/iter (± 1885
)0.98
html/document/visitor/compare/fold_span_panic
467533
ns/iter (± 2729
)465539
ns/iter (± 1788
)1.00
html/document_fragment/visitor/compare/clone
342732
ns/iter (± 3690
)346981
ns/iter (± 1993
)0.99
html/document_fragment/visitor/compare/visit_mut_span
370175
ns/iter (± 1957
)369035
ns/iter (± 5709
)1.00
html/document_fragment/visitor/compare/visit_mut_span_panic
374226
ns/iter (± 1437
)378722
ns/iter (± 2528
)0.99
html/document_fragment/visitor/compare/fold_span
405515
ns/iter (± 2112
)411989
ns/iter (± 1900
)0.98
html/document_fragment/visitor/compare/fold_span_panic
464577
ns/iter (± 1857
)465383
ns/iter (± 2701
)1.00
html/lexer/css_2021_spec
16038967
ns/iter (± 13071
)15568019
ns/iter (± 23475
)1.03
html/lexer/github_com_17_05_2022
6163567
ns/iter (± 2898
)6051432
ns/iter (± 9776
)1.02
html/lexer/stackoverflow_com_17_05_2022
5840405
ns/iter (± 2368
)5656894
ns/iter (± 6363
)1.03
html/parser/parser_document/css_2021_spec
25568994
ns/iter (± 155119
)26392395
ns/iter (± 128382
)0.97
html/parser/parser_document/github_com_17_05_2022
8804943
ns/iter (± 25235
)8911438
ns/iter (± 15175
)0.99
html/parser/parser_document/stackoverflow_com_17_05_2022
7676744
ns/iter (± 4522
)7787855
ns/iter (± 13919
)0.99
html/parser/parser_document_fragment/css_2021_spec
25786069
ns/iter (± 199829
)26399313
ns/iter (± 195696
)0.98
html/parser/parser_document_fragment/github_com_17_05_2022
8804156
ns/iter (± 7993
)8897385
ns/iter (± 15630
)0.99
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7691753
ns/iter (± 8235
)7837725
ns/iter (± 13006
)0.98
This comment was automatically generated by workflow using github-action-benchmark.