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): Use jump table for
read_token
(#7058)
- Loading branch information
Showing
2 changed files
with
265 additions
and
169 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
Oops, something went wrong.
9beefaa
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
316228
ns/iter (± 8679
)301755
ns/iter (± 7533
)1.05
es/full/minify/libraries/antd
1589467448
ns/iter (± 21828492
)1439697968
ns/iter (± 30162675
)1.10
es/full/minify/libraries/d3
303569507
ns/iter (± 8096583
)283195212
ns/iter (± 5600633
)1.07
es/full/minify/libraries/echarts
1232522903
ns/iter (± 13889498
)1116629304
ns/iter (± 25024911
)1.10
es/full/minify/libraries/jquery
91945402
ns/iter (± 640136
)86571867
ns/iter (± 1150905
)1.06
es/full/minify/libraries/lodash
106431008
ns/iter (± 1089162
)100583171
ns/iter (± 1316174
)1.06
es/full/minify/libraries/moment
52847404
ns/iter (± 548584
)49933985
ns/iter (± 593495
)1.06
es/full/minify/libraries/react
19420114
ns/iter (± 256531
)18501213
ns/iter (± 88764
)1.05
es/full/minify/libraries/terser
250062904
ns/iter (± 4420099
)229445993
ns/iter (± 4158921
)1.09
es/full/minify/libraries/three
442376180
ns/iter (± 13549322
)402659824
ns/iter (± 8750555
)1.10
es/full/minify/libraries/typescript
2988207883
ns/iter (± 21239955
)2763199193
ns/iter (± 16208770
)1.08
es/full/minify/libraries/victory
669356674
ns/iter (± 8720596
)584791192
ns/iter (± 5894515
)1.14
es/full/minify/libraries/vue
132808567
ns/iter (± 949060
)122080456
ns/iter (± 765656
)1.09
es/full/codegen/es3
26178
ns/iter (± 64
)25206
ns/iter (± 171
)1.04
es/full/codegen/es5
26292
ns/iter (± 51
)25518
ns/iter (± 127
)1.03
es/full/codegen/es2015
26259
ns/iter (± 59
)25089
ns/iter (± 134
)1.05
es/full/codegen/es2016
26272
ns/iter (± 67
)25179
ns/iter (± 241
)1.04
es/full/codegen/es2017
26243
ns/iter (± 31
)25450
ns/iter (± 373
)1.03
es/full/codegen/es2018
26286
ns/iter (± 58
)25319
ns/iter (± 93
)1.04
es/full/codegen/es2019
26224
ns/iter (± 64
)25863
ns/iter (± 513
)1.01
es/full/codegen/es2020
26261
ns/iter (± 63
)25107
ns/iter (± 284
)1.05
es/full/all/es3
174990710
ns/iter (± 2833298
)171971839
ns/iter (± 2680310
)1.02
es/full/all/es5
162172676
ns/iter (± 2623244
)165102512
ns/iter (± 3839537
)0.98
es/full/all/es2015
128334540
ns/iter (± 1987942
)125162076
ns/iter (± 2283377
)1.03
es/full/all/es2016
126678101
ns/iter (± 3093983
)123676380
ns/iter (± 1167597
)1.02
es/full/all/es2017
125185410
ns/iter (± 1206712
)122823662
ns/iter (± 1900584
)1.02
es/full/all/es2018
121617412
ns/iter (± 1232328
)120727024
ns/iter (± 1032090
)1.01
es/full/all/es2019
121599783
ns/iter (± 1140294
)120284375
ns/iter (± 1492429
)1.01
es/full/all/es2020
115930081
ns/iter (± 584043
)115529217
ns/iter (± 1798364
)1.00
es/full/parser
534538
ns/iter (± 8419
)522469
ns/iter (± 9554
)1.02
es/full/base/fixer
23614
ns/iter (± 45
)21363
ns/iter (± 164
)1.11
es/full/base/resolver_and_hygiene
82260
ns/iter (± 91
)78622
ns/iter (± 749
)1.05
serialization of ast node
124
ns/iter (± 0
)119
ns/iter (± 0
)1.04
serialization of serde
126
ns/iter (± 0
)123
ns/iter (± 0
)1.02
css/minify/libraries/bootstrap
28599230
ns/iter (± 151909
)27695250
ns/iter (± 322663
)1.03
css/visitor/compare/clone
2107060
ns/iter (± 18885
)2110859
ns/iter (± 21857
)1.00
css/visitor/compare/visit_mut_span
2291270
ns/iter (± 10869
)2249743
ns/iter (± 12837
)1.02
css/visitor/compare/visit_mut_span_panic
2374367
ns/iter (± 5203
)2322964
ns/iter (± 23638
)1.02
css/visitor/compare/fold_span
3080608
ns/iter (± 16478
)3063436
ns/iter (± 16103
)1.01
css/visitor/compare/fold_span_panic
3213037
ns/iter (± 19028
)3169562
ns/iter (± 47112
)1.01
css/lexer/bootstrap_5_1_3
5135469
ns/iter (± 1255
)5165683
ns/iter (± 43708
)0.99
css/lexer/foundation_6_7_4
4331026
ns/iter (± 1100
)4233098
ns/iter (± 21344
)1.02
css/lexer/tailwind_3_1_1
821897
ns/iter (± 531
)823517
ns/iter (± 4364
)1.00
css/parser/bootstrap_5_1_3
21850933
ns/iter (± 111987
)21614102
ns/iter (± 183708
)1.01
css/parser/foundation_6_7_4
17418079
ns/iter (± 59395
)17354493
ns/iter (± 81720
)1.00
css/parser/tailwind_3_1_1
3301752
ns/iter (± 2145
)3292173
ns/iter (± 20875
)1.00
es/codegen/colors
328906
ns/iter (± 183818
)334876
ns/iter (± 187466
)0.98
es/codegen/large
1182128
ns/iter (± 606884
)1260923
ns/iter (± 649697
)0.94
es/codegen/with-parser/colors
46063
ns/iter (± 140
)47338
ns/iter (± 550
)0.97
es/codegen/with-parser/large
510543
ns/iter (± 1324
)506480
ns/iter (± 7444
)1.01
es/minify/libraries/antd
1407877136
ns/iter (± 18223088
)1308346788
ns/iter (± 37056659
)1.08
es/minify/libraries/d3
267531585
ns/iter (± 4594788
)253544270
ns/iter (± 7167016
)1.06
es/minify/libraries/echarts
1062463529
ns/iter (± 11283751
)975686658
ns/iter (± 19471774
)1.09
es/minify/libraries/jquery
79279509
ns/iter (± 560489
)78095048
ns/iter (± 1342854
)1.02
es/minify/libraries/lodash
95332236
ns/iter (± 1925771
)92175044
ns/iter (± 1473067
)1.03
es/minify/libraries/moment
45949792
ns/iter (± 547707
)45025337
ns/iter (± 503998
)1.02
es/minify/libraries/react
17331041
ns/iter (± 172540
)16723110
ns/iter (± 149500
)1.04
es/minify/libraries/terser
214215014
ns/iter (± 4203195
)202347090
ns/iter (± 6722573
)1.06
es/minify/libraries/three
372614304
ns/iter (± 5314341
)337958233
ns/iter (± 8756811
)1.10
es/minify/libraries/typescript
2537385870
ns/iter (± 13659169
)2390063095
ns/iter (± 27458678
)1.06
es/minify/libraries/victory
589826174
ns/iter (± 9282944
)497346367
ns/iter (± 7076740
)1.19
es/minify/libraries/vue
117657732
ns/iter (± 1371028
)112739356
ns/iter (± 1680631
)1.04
es/visitor/compare/clone
2361780
ns/iter (± 13175
)2328368
ns/iter (± 15785
)1.01
es/visitor/compare/visit_mut_span
2754217
ns/iter (± 13258
)2634718
ns/iter (± 30114
)1.05
es/visitor/compare/visit_mut_span_panic
2792585
ns/iter (± 10967
)2699391
ns/iter (± 54090
)1.03
es/visitor/compare/fold_span
3843113
ns/iter (± 15907
)3728847
ns/iter (± 51797
)1.03
es/visitor/compare/fold_span_panic
4035049
ns/iter (± 27840
)3960995
ns/iter (± 21178
)1.02
es/lexer/colors
15429
ns/iter (± 13
)14977
ns/iter (± 118
)1.03
es/lexer/angular
7643427
ns/iter (± 3834
)7407273
ns/iter (± 70148
)1.03
es/lexer/backbone
982072
ns/iter (± 589
)974806
ns/iter (± 4205
)1.01
es/lexer/jquery
5485861
ns/iter (± 4034
)5410234
ns/iter (± 61918
)1.01
es/lexer/jquery mobile
8469190
ns/iter (± 5569
)8284175
ns/iter (± 56548
)1.02
es/lexer/mootools
4333424
ns/iter (± 2523
)4311684
ns/iter (± 52276
)1.01
es/lexer/underscore
824414
ns/iter (± 354
)805008
ns/iter (± 4782
)1.02
es/lexer/three
25647840
ns/iter (± 48152
)25082903
ns/iter (± 124981
)1.02
es/lexer/yui
4666269
ns/iter (± 1074
)4485420
ns/iter (± 29126
)1.04
es/parser/colors
29634
ns/iter (± 54
)29414
ns/iter (± 331
)1.01
es/parser/angular
15783425
ns/iter (± 118111
)14632438
ns/iter (± 154745
)1.08
es/parser/backbone
2250593
ns/iter (± 13205
)2188248
ns/iter (± 22795
)1.03
es/parser/jquery
12359690
ns/iter (± 99401
)11873945
ns/iter (± 89400
)1.04
es/parser/jquery mobile
19733513
ns/iter (± 253806
)18917672
ns/iter (± 248849
)1.04
es/parser/mootools
9414575
ns/iter (± 55518
)9285180
ns/iter (± 52602
)1.01
es/parser/underscore
1907420
ns/iter (± 10022
)1900956
ns/iter (± 9577
)1.00
es/parser/three
56711521
ns/iter (± 427598
)51258673
ns/iter (± 1278805
)1.11
es/parser/yui
9373301
ns/iter (± 76081
)8986198
ns/iter (± 91181
)1.04
es/preset-env/usage/builtin_type
141203
ns/iter (± 32803
)139824
ns/iter (± 32816
)1.01
es/preset-env/usage/property
21639
ns/iter (± 30
)20031
ns/iter (± 119
)1.08
es/resolver/typescript
107183732
ns/iter (± 1737405
)101347449
ns/iter (± 4068104
)1.06
es/fixer/typescript
78433217
ns/iter (± 241401
)76697188
ns/iter (± 2443291
)1.02
es/hygiene/typescript
169307006
ns/iter (± 2691387
)163268032
ns/iter (± 906797
)1.04
es/resolver_with_hygiene/typescript
306203131
ns/iter (± 2350724
)295353438
ns/iter (± 3697021
)1.04
es/visitor/base-perf/module_clone
77763
ns/iter (± 1796
)75376
ns/iter (± 1905
)1.03
es/visitor/base-perf/fold_empty
86861
ns/iter (± 1523
)85143
ns/iter (± 1684
)1.02
es/visitor/base-perf/fold_noop_impl_all
87699
ns/iter (± 1710
)84882
ns/iter (± 1332
)1.03
es/visitor/base-perf/fold_noop_impl_vec
88077
ns/iter (± 1833
)86988
ns/iter (± 1757
)1.01
es/visitor/base-perf/boxing_boxed_clone
57
ns/iter (± 0
)56
ns/iter (± 0
)1.02
es/visitor/base-perf/boxing_unboxed_clone
54
ns/iter (± 0
)54
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
103
ns/iter (± 0
)98
ns/iter (± 0
)1.05
es/visitor/base-perf/boxing_unboxed
97
ns/iter (± 0
)96
ns/iter (± 0
)1.01
es/visitor/base-perf/visit_contains_this
3477
ns/iter (± 90
)3493
ns/iter (± 37
)1.00
es/base/parallel/resolver/typescript
4864635544
ns/iter (± 375078788
)5285036182
ns/iter (± 495612630
)0.92
es/base/parallel/hygiene/typescript
1981060742
ns/iter (± 27958056
)1951284413
ns/iter (± 11682399
)1.02
misc/visitors/time-complexity/time 5
97
ns/iter (± 0
)102
ns/iter (± 0
)0.95
misc/visitors/time-complexity/time 10
329
ns/iter (± 0
)335
ns/iter (± 11
)0.98
misc/visitors/time-complexity/time 15
657
ns/iter (± 0
)692
ns/iter (± 22
)0.95
misc/visitors/time-complexity/time 20
1229
ns/iter (± 13
)1267
ns/iter (± 6
)0.97
misc/visitors/time-complexity/time 40
6192
ns/iter (± 2
)6749
ns/iter (± 30
)0.92
misc/visitors/time-complexity/time 60
15569
ns/iter (± 7
)17205
ns/iter (± 150
)0.90
es/full-target/es2016
189258
ns/iter (± 314
)188035
ns/iter (± 560
)1.01
es/full-target/es2017
184628
ns/iter (± 592
)182187
ns/iter (± 603
)1.01
es/full-target/es2018
173668
ns/iter (± 652
)171780
ns/iter (± 840
)1.01
es2020_nullish_coalescing
67593
ns/iter (± 127
)67021
ns/iter (± 169
)1.01
es2020_optional_chaining
96624
ns/iter (± 333
)96386
ns/iter (± 8451
)1.00
es2022_class_properties
94474
ns/iter (± 246
)93230
ns/iter (± 305
)1.01
es2018_object_rest_spread
71958
ns/iter (± 135
)71516
ns/iter (± 141
)1.01
es2019_optional_catch_binding
62357
ns/iter (± 134
)61114
ns/iter (± 208
)1.02
es2017_async_to_generator
62369
ns/iter (± 107
)61594
ns/iter (± 198
)1.01
es2016_exponentiation
66283
ns/iter (± 105
)65317
ns/iter (± 267
)1.01
es2015_arrow
70101
ns/iter (± 78
)69635
ns/iter (± 238
)1.01
es2015_block_scoped_fn
67288
ns/iter (± 156
)66181
ns/iter (± 315
)1.02
es2015_block_scoping
139444
ns/iter (± 6583
)137303
ns/iter (± 685
)1.02
es2015_classes
118229
ns/iter (± 466
)116872
ns/iter (± 301
)1.01
es2015_computed_props
62214
ns/iter (± 90
)61288
ns/iter (± 171
)1.02
es2015_destructuring
117163
ns/iter (± 389
)117451
ns/iter (± 555
)1.00
es2015_duplicate_keys
64661
ns/iter (± 124
)63499
ns/iter (± 235
)1.02
es2015_parameters
80902
ns/iter (± 122
)79652
ns/iter (± 330
)1.02
es2015_fn_name
67422
ns/iter (± 399
)66404
ns/iter (± 647
)1.02
es2015_for_of
65266
ns/iter (± 117
)64039
ns/iter (± 449
)1.02
es2015_instanceof
64445
ns/iter (± 86
)63256
ns/iter (± 221
)1.02
es2015_shorthand_property
61761
ns/iter (± 91
)60917
ns/iter (± 365
)1.01
es2015_spread
61917
ns/iter (± 77
)60938
ns/iter (± 137
)1.02
es2015_sticky_regex
63461
ns/iter (± 96
)62374
ns/iter (± 191
)1.02
es2015_typeof_symbol
63173
ns/iter (± 95
)62364
ns/iter (± 84
)1.01
es/transform/baseline/base
52620
ns/iter (± 56
)51490
ns/iter (± 227
)1.02
es/transform/baseline/common_reserved_word
63636
ns/iter (± 110
)63052
ns/iter (± 131
)1.01
es/transform/baseline/common_typescript
142833
ns/iter (± 354
)167511
ns/iter (± 397
)0.85
es/target/es3
170781
ns/iter (± 170
)169466
ns/iter (± 285
)1.01
es/target/es2015
632274
ns/iter (± 1191
)627546
ns/iter (± 2234
)1.01
es/target/es2016
66253
ns/iter (± 109
)65400
ns/iter (± 163
)1.01
es/target/es2017
62444
ns/iter (± 147
)61785
ns/iter (± 367
)1.01
es/target/es2018
82170
ns/iter (± 141
)81636
ns/iter (± 217
)1.01
es/target/es2020
133675
ns/iter (± 210
)133294
ns/iter (± 417
)1.00
babelify-only
679401
ns/iter (± 9207
)668885
ns/iter (± 4490
)1.02
parse_and_babelify_angular
45672767
ns/iter (± 1243075
)44735247
ns/iter (± 738614
)1.02
parse_and_babelify_backbone
5511518
ns/iter (± 60785
)5399517
ns/iter (± 66577
)1.02
parse_and_babelify_jquery
32518643
ns/iter (± 919592
)31077300
ns/iter (± 382571
)1.05
parse_and_babelify_jquery_mobile
56371754
ns/iter (± 956671
)52337561
ns/iter (± 717690
)1.08
parse_and_babelify_mootools
33829593
ns/iter (± 518571
)32392512
ns/iter (± 495018
)1.04
parse_and_babelify_underscore
4360509
ns/iter (± 46527
)4265521
ns/iter (± 29769
)1.02
parse_and_babelify_yui
33886593
ns/iter (± 737284
)31785304
ns/iter (± 525010
)1.07
html/minify/document/css_spec
43791040
ns/iter (± 483221
)42045594
ns/iter (± 416011
)1.04
html/minify/document/github
17835001
ns/iter (± 101535
)17478857
ns/iter (± 56266
)1.02
html/minify/document/stackoverflow
15951789
ns/iter (± 104233
)15692889
ns/iter (± 52735
)1.02
html/minify/document_fragment/css_spec
41867335
ns/iter (± 333076
)39733949
ns/iter (± 223939
)1.05
html/minify/document_fragment/github
17003483
ns/iter (± 51360
)16688373
ns/iter (± 54698
)1.02
html/minify/document_fragment/stackoverflow
15387097
ns/iter (± 77696
)15255229
ns/iter (± 60271
)1.01
html/document/visitor/compare/clone
343577
ns/iter (± 1781
)341115
ns/iter (± 2009
)1.01
html/document/visitor/compare/visit_mut_span
370500
ns/iter (± 1826
)366030
ns/iter (± 2195
)1.01
html/document/visitor/compare/visit_mut_span_panic
379342
ns/iter (± 2273
)376164
ns/iter (± 1699
)1.01
html/document/visitor/compare/fold_span
408078
ns/iter (± 1686
)402728
ns/iter (± 2135
)1.01
html/document/visitor/compare/fold_span_panic
465350
ns/iter (± 1205
)459246
ns/iter (± 1837
)1.01
html/document_fragment/visitor/compare/clone
342910
ns/iter (± 2287
)337988
ns/iter (± 1682
)1.01
html/document_fragment/visitor/compare/visit_mut_span
367800
ns/iter (± 1863
)366475
ns/iter (± 7125
)1.00
html/document_fragment/visitor/compare/visit_mut_span_panic
381867
ns/iter (± 2771
)372245
ns/iter (± 2255
)1.03
html/document_fragment/visitor/compare/fold_span
411443
ns/iter (± 1939
)404601
ns/iter (± 2331
)1.02
html/document_fragment/visitor/compare/fold_span_panic
462120
ns/iter (± 2466
)460167
ns/iter (± 2630
)1.00
html/lexer/css_2021_spec
15490740
ns/iter (± 6781
)15433036
ns/iter (± 54800
)1.00
html/lexer/github_com_17_05_2022
5973797
ns/iter (± 2137
)5921030
ns/iter (± 9670
)1.01
html/lexer/stackoverflow_com_17_05_2022
5576863
ns/iter (± 1092
)5553368
ns/iter (± 9251
)1.00
html/parser/parser_document/css_2021_spec
26620179
ns/iter (± 398884
)26118689
ns/iter (± 409858
)1.02
html/parser/parser_document/github_com_17_05_2022
8794393
ns/iter (± 16904
)8756527
ns/iter (± 16702
)1.00
html/parser/parser_document/stackoverflow_com_17_05_2022
7690204
ns/iter (± 7991
)7671563
ns/iter (± 15954
)1.00
html/parser/parser_document_fragment/css_2021_spec
26831307
ns/iter (± 225186
)25949001
ns/iter (± 134062
)1.03
html/parser/parser_document_fragment/github_com_17_05_2022
8819990
ns/iter (± 60170
)8769966
ns/iter (± 79058
)1.01
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7759943
ns/iter (± 12279
)7670221
ns/iter (± 18335
)1.01
This comment was automatically generated by workflow using github-action-benchmark.