-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
memchr::memmem
for lexing block comments (#9096)
**Description:** This PR also makes the lexer more CPU-cache friendly.
- Loading branch information
Showing
6 changed files
with
79 additions
and
74 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
1b3672f
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
278677
ns/iter (± 13590
)280128
ns/iter (± 11312
)0.99
es/full/minify/libraries/antd
1820184794
ns/iter (± 101589570
)1814605979
ns/iter (± 91259401
)1.00
es/full/minify/libraries/d3
341174245
ns/iter (± 4180993
)356978574
ns/iter (± 5390144
)0.96
es/full/minify/libraries/echarts
1491089227
ns/iter (± 51276298
)1621180355
ns/iter (± 34712322
)0.92
es/full/minify/libraries/jquery
102531130
ns/iter (± 251151
)104958804
ns/iter (± 687791
)0.98
es/full/minify/libraries/lodash
113094380
ns/iter (± 724134
)115575586
ns/iter (± 1120053
)0.98
es/full/minify/libraries/moment
59688003
ns/iter (± 152755
)60142456
ns/iter (± 772938
)0.99
es/full/minify/libraries/react
18324318
ns/iter (± 16893
)18557644
ns/iter (± 628806
)0.99
es/full/minify/libraries/terser
274302227
ns/iter (± 1067183
)288157598
ns/iter (± 7362672
)0.95
es/full/minify/libraries/three
468823073
ns/iter (± 3561188
)562632840
ns/iter (± 13391285
)0.83
es/full/minify/libraries/typescript
3231052554
ns/iter (± 39287864
)3452066840
ns/iter (± 101954286
)0.94
es/full/minify/libraries/victory
725832463
ns/iter (± 7605929
)948083999
ns/iter (± 67850762
)0.77
es/full/minify/libraries/vue
145543264
ns/iter (± 892376
)152253009
ns/iter (± 1746183
)0.96
es/full/codegen/es3
60499
ns/iter (± 748
)59214
ns/iter (± 468
)1.02
es/full/codegen/es5
60289
ns/iter (± 199
)59041
ns/iter (± 191
)1.02
es/full/codegen/es2015
60034
ns/iter (± 244
)58683
ns/iter (± 358
)1.02
es/full/codegen/es2016
60068
ns/iter (± 171
)58583
ns/iter (± 328
)1.03
es/full/codegen/es2017
60094
ns/iter (± 200
)58501
ns/iter (± 345
)1.03
es/full/codegen/es2018
59974
ns/iter (± 724
)58790
ns/iter (± 339
)1.02
es/full/codegen/es2019
60046
ns/iter (± 246
)58943
ns/iter (± 504
)1.02
es/full/codegen/es2020
60391
ns/iter (± 559
)59525
ns/iter (± 298
)1.01
es/full/all/es3
159506952
ns/iter (± 1362440
)161217561
ns/iter (± 1188802
)0.99
es/full/all/es5
153217511
ns/iter (± 1075266
)155956771
ns/iter (± 625402
)0.98
es/full/all/es2015
113621532
ns/iter (± 465503
)115404889
ns/iter (± 1421571
)0.98
es/full/all/es2016
113283861
ns/iter (± 1121094
)114565701
ns/iter (± 879051
)0.99
es/full/all/es2017
111982898
ns/iter (± 802830
)113843984
ns/iter (± 846711
)0.98
es/full/all/es2018
110568198
ns/iter (± 1278361
)112483797
ns/iter (± 383430
)0.98
es/full/all/es2019
109491676
ns/iter (± 705503
)111920543
ns/iter (± 1379397
)0.98
es/full/all/es2020
105309878
ns/iter (± 594037
)107585315
ns/iter (± 856909
)0.98
es/full/parser
434629
ns/iter (± 2051
)456634
ns/iter (± 4945
)0.95
es/full/base/fixer
15477
ns/iter (± 88
)15607
ns/iter (± 175
)0.99
es/full/base/resolver_and_hygiene
80850
ns/iter (± 226
)80867
ns/iter (± 199
)1.00
serialization of serde
270
ns/iter (± 3
)253
ns/iter (± 14
)1.07
css/minify/libraries/bootstrap
22714148
ns/iter (± 333469
)22484391
ns/iter (± 24441
)1.01
css/visitor/compare/clone
1390265
ns/iter (± 13588
)1385986
ns/iter (± 7719
)1.00
css/visitor/compare/visit_mut_span
1499558
ns/iter (± 13116
)1523383
ns/iter (± 5463
)0.98
css/visitor/compare/visit_mut_span_panic
1503150
ns/iter (± 29656
)1519056
ns/iter (± 49528
)0.99
css/visitor/compare/fold_span
2008399
ns/iter (± 4296
)2013294
ns/iter (± 10270
)1.00
css/visitor/compare/fold_span_panic
2151870
ns/iter (± 10233
)2143962
ns/iter (± 8486
)1.00
css/lexer/bootstrap_5_1_3
3452695
ns/iter (± 3171
)3417361
ns/iter (± 17814
)1.01
css/lexer/foundation_6_7_4
2806728
ns/iter (± 1690
)2784920
ns/iter (± 5235
)1.01
css/lexer/tailwind_3_1_1
539871
ns/iter (± 526
)534914
ns/iter (± 456
)1.01
css/parser/bootstrap_5_1_3
15889291
ns/iter (± 25939
)16050841
ns/iter (± 44592
)0.99
css/parser/foundation_6_7_4
12755541
ns/iter (± 22364
)12929625
ns/iter (± 71231
)0.99
css/parser/tailwind_3_1_1
2503287
ns/iter (± 2436
)2530535
ns/iter (± 12199
)0.99
es/codegen/colors
724910
ns/iter (± 395452
)719597
ns/iter (± 393002
)1.01
es/codegen/large
3008258
ns/iter (± 1575014
)2998485
ns/iter (± 1589675
)1.00
es/codegen/with-parser/colors
41292
ns/iter (± 481
)40928
ns/iter (± 325
)1.01
es/codegen/with-parser/large
456468
ns/iter (± 7632
)446289
ns/iter (± 1689
)1.02
es/minify/libraries/antd
1417463953
ns/iter (± 18521530
)1587222150
ns/iter (± 28547102
)0.89
es/minify/libraries/d3
279656781
ns/iter (± 3556801
)313521662
ns/iter (± 13624773
)0.89
es/minify/libraries/echarts
1155178171
ns/iter (± 14053928
)1307224586
ns/iter (± 11015485
)0.88
es/minify/libraries/jquery
81986005
ns/iter (± 586493
)84000654
ns/iter (± 542522
)0.98
es/minify/libraries/lodash
104052089
ns/iter (± 572945
)106180351
ns/iter (± 572025
)0.98
es/minify/libraries/moment
48088952
ns/iter (± 140788
)48737943
ns/iter (± 138540
)0.99
es/minify/libraries/react
16251610
ns/iter (± 34046
)16270350
ns/iter (± 37891
)1.00
es/minify/libraries/terser
219285187
ns/iter (± 1020236
)228630901
ns/iter (± 4013670
)0.96
es/minify/libraries/three
364693951
ns/iter (± 6140104
)416203469
ns/iter (± 8111425
)0.88
es/minify/libraries/typescript
2719288092
ns/iter (± 21004237
)2836908740
ns/iter (± 30077103
)0.96
es/minify/libraries/victory
564903250
ns/iter (± 7272229
)721691731
ns/iter (± 11374711
)0.78
es/minify/libraries/vue
120948594
ns/iter (± 560143
)125155645
ns/iter (± 1364135
)0.97
es/visitor/compare/clone
1750259
ns/iter (± 28917
)1738382
ns/iter (± 5624
)1.01
es/visitor/compare/visit_mut_span
2115387
ns/iter (± 13565
)2091807
ns/iter (± 13332
)1.01
es/visitor/compare/visit_mut_span_panic
2073535
ns/iter (± 49256
)2106764
ns/iter (± 51276
)0.98
es/visitor/compare/fold_span
2790460
ns/iter (± 7141
)2823525
ns/iter (± 5562
)0.99
es/visitor/compare/fold_span_panic
2853219
ns/iter (± 28885
)2825188
ns/iter (± 3424
)1.01
es/lexer/colors
8373
ns/iter (± 14
)9384
ns/iter (± 60
)0.89
es/lexer/angular
4158709
ns/iter (± 12180
)4782205
ns/iter (± 15025
)0.87
es/lexer/backbone
616266
ns/iter (± 2836
)625010
ns/iter (± 1126
)0.99
es/lexer/jquery
3455426
ns/iter (± 6645
)3494356
ns/iter (± 1578
)0.99
es/lexer/jquery mobile
5309512
ns/iter (± 24826
)5222975
ns/iter (± 91661
)1.02
es/lexer/mootools
2782634
ns/iter (± 7003
)2770033
ns/iter (± 3254
)1.00
es/lexer/underscore
520133
ns/iter (± 4675
)523583
ns/iter (± 1414
)0.99
es/lexer/three
15779409
ns/iter (± 35796
)15592132
ns/iter (± 24383
)1.01
es/lexer/yui
2705292
ns/iter (± 11803
)2883268
ns/iter (± 14659
)0.94
es/lexer/cal-com
12820957
ns/iter (± 20429
)12936074
ns/iter (± 65786
)0.99
es/lexer/typescript
90549878
ns/iter (± 906145
)89088456
ns/iter (± 597979
)1.02
es/parser/colors
23787
ns/iter (± 93
)24480
ns/iter (± 191
)0.97
es/parser/angular
12072369
ns/iter (± 171964
)12597855
ns/iter (± 77634
)0.96
es/parser/backbone
1852487
ns/iter (± 8040
)1844179
ns/iter (± 11801
)1.00
es/parser/jquery
10207941
ns/iter (± 85642
)10123807
ns/iter (± 137773
)1.01
es/parser/jquery mobile
15472637
ns/iter (± 154475
)15286534
ns/iter (± 204237
)1.01
es/parser/mootools
7932710
ns/iter (± 47477
)7901402
ns/iter (± 23680
)1.00
es/parser/underscore
1615191
ns/iter (± 7755
)1605341
ns/iter (± 7807
)1.01
es/parser/three
45493586
ns/iter (± 1014616
)44337019
ns/iter (± 363388
)1.03
es/parser/yui
7359760
ns/iter (± 65717
)7506875
ns/iter (± 29955
)0.98
es/parser/cal-com
44795115
ns/iter (± 1334279
)41139392
ns/iter (± 566479
)1.09
es/parser/typescript
282977767
ns/iter (± 3487291
)273433005
ns/iter (± 1159632
)1.03
es/preset-env/usage/builtin_type
135210
ns/iter (± 34165
)137525
ns/iter (± 33401
)0.98
es/preset-env/usage/property
16579
ns/iter (± 64
)16720
ns/iter (± 67
)0.99
es/resolver/typescript
103233328
ns/iter (± 2194552
)102299082
ns/iter (± 2422811
)1.01
es/fixer/typescript
85185104
ns/iter (± 1916305
)83074792
ns/iter (± 2252623
)1.03
es/hygiene/typescript
183731218
ns/iter (± 3436743
)187852266
ns/iter (± 3757205
)0.98
es/resolver_with_hygiene/typescript
317718778
ns/iter (± 2474040
)305400494
ns/iter (± 3136043
)1.04
es/visitor/base-perf/module_clone
55409
ns/iter (± 404
)57196
ns/iter (± 2051
)0.97
es/visitor/base-perf/fold_empty
59705
ns/iter (± 792
)60091
ns/iter (± 284
)0.99
es/visitor/base-perf/fold_noop_impl_all
59144
ns/iter (± 415
)60406
ns/iter (± 781
)0.98
es/visitor/base-perf/fold_noop_impl_vec
59048
ns/iter (± 431
)60565
ns/iter (± 322
)0.97
es/visitor/base-perf/boxing_boxed_clone
60
ns/iter (± 0
)61
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed_clone
47
ns/iter (± 0
)48
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_boxed
115
ns/iter (± 0
)106
ns/iter (± 0
)1.08
es/visitor/base-perf/boxing_unboxed
91
ns/iter (± 1
)80
ns/iter (± 0
)1.14
es/visitor/base-perf/visit_contains_this
2575
ns/iter (± 14
)2632
ns/iter (± 7
)0.98
es/base/parallel/resolver/typescript
2326683336
ns/iter (± 175689592
)2439055544
ns/iter (± 101297118
)0.95
es/base/parallel/hygiene/typescript
3351422847
ns/iter (± 36812784
)3167905463
ns/iter (± 39682484
)1.06
babelify-only
501984
ns/iter (± 5591
)491506
ns/iter (± 6006
)1.02
parse_and_babelify_angular
37933848
ns/iter (± 2268682
)37585933
ns/iter (± 642079
)1.01
parse_and_babelify_backbone
4332144
ns/iter (± 123080
)4368395
ns/iter (± 167897
)0.99
parse_and_babelify_jquery
29308196
ns/iter (± 263922
)28213743
ns/iter (± 243608
)1.04
parse_and_babelify_jquery_mobile
50763698
ns/iter (± 628124
)47806341
ns/iter (± 352167
)1.06
parse_and_babelify_mootools
26215683
ns/iter (± 842818
)25653770
ns/iter (± 360516
)1.02
parse_and_babelify_underscore
3673797
ns/iter (± 15777
)3688556
ns/iter (± 50573
)1.00
parse_and_babelify_yui
27885390
ns/iter (± 1566041
)23187746
ns/iter (± 242594
)1.20
html/minify/document/css_spec
44785507
ns/iter (± 207495
)45585278
ns/iter (± 822413
)0.98
html/minify/document/github
17917511
ns/iter (± 142704
)18039504
ns/iter (± 68072
)0.99
html/minify/document/stackoverflow
16394904
ns/iter (± 37588
)16574552
ns/iter (± 198827
)0.99
html/minify/document_fragment/css_spec
44055978
ns/iter (± 88044
)46377499
ns/iter (± 89836
)0.95
html/minify/document_fragment/github
17728181
ns/iter (± 23240
)18193101
ns/iter (± 37972
)0.97
html/minify/document_fragment/stackoverflow
16329543
ns/iter (± 16385
)16807836
ns/iter (± 59904
)0.97
html/document/visitor/compare/clone
166986
ns/iter (± 2188
)165358
ns/iter (± 1701
)1.01
html/document/visitor/compare/visit_mut_span
182236
ns/iter (± 4364
)183819
ns/iter (± 3131
)0.99
html/document/visitor/compare/visit_mut_span_panic
188345
ns/iter (± 9874
)187502
ns/iter (± 4477
)1.00
html/document/visitor/compare/fold_span
227742
ns/iter (± 1736
)232326
ns/iter (± 1361
)0.98
html/document/visitor/compare/fold_span_panic
280231
ns/iter (± 806
)277525
ns/iter (± 1160
)1.01
html/document_fragment/visitor/compare/clone
165654
ns/iter (± 1238
)167786
ns/iter (± 1740
)0.99
html/document_fragment/visitor/compare/visit_mut_span
182012
ns/iter (± 453
)184275
ns/iter (± 1190
)0.99
html/document_fragment/visitor/compare/visit_mut_span_panic
189414
ns/iter (± 1394
)188111
ns/iter (± 1882
)1.01
html/document_fragment/visitor/compare/fold_span
228495
ns/iter (± 2444
)230997
ns/iter (± 747
)0.99
html/document_fragment/visitor/compare/fold_span_panic
280148
ns/iter (± 1414
)278838
ns/iter (± 1152
)1.00
html/lexer/css_2021_spec
13089179
ns/iter (± 14114
)12987880
ns/iter (± 227254
)1.01
html/lexer/github_com_17_05_2022
5020861
ns/iter (± 7344
)4972229
ns/iter (± 10277
)1.01
html/lexer/stackoverflow_com_17_05_2022
4770467
ns/iter (± 24385
)4742602
ns/iter (± 16796
)1.01
html/parser/parser_document/css_2021_spec
25834424
ns/iter (± 137858
)25671949
ns/iter (± 42757
)1.01
html/parser/parser_document/github_com_17_05_2022
8593591
ns/iter (± 80881
)8557577
ns/iter (± 15365
)1.00
html/parser/parser_document/stackoverflow_com_17_05_2022
7541105
ns/iter (± 40222
)7421931
ns/iter (± 12056
)1.02
html/parser/parser_document_fragment/css_2021_spec
25535233
ns/iter (± 74406
)25278327
ns/iter (± 40852
)1.01
html/parser/parser_document_fragment/github_com_17_05_2022
8558217
ns/iter (± 10035
)8485562
ns/iter (± 16759
)1.01
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7547656
ns/iter (± 68019
)7388785
ns/iter (± 16347
)1.02
This comment was automatically generated by workflow using github-action-benchmark.