Skip to content

Don't slice whitespace in jsdoc parser unless needed #53121

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

sandersn
Copy link
Member

@sandersn sandersn commented Mar 6, 2023

It's only needed when there's an indentation relative to the margin, which is rare and usually doesn't last for the entire comment text. The common case is to skip the whitespace.

Edit: I also included the code to scan the initial * indent as whitespace just in case two slightly-slow things combined might be faster together 🤷🏼

Works on #52959, based on a suggestion from @DanielRosenwasser in #53081

It's only needed when there's an indentation relative to the margin,
which is rare. The common case is to skip the whitespace.
@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Mar 6, 2023
@sandersn
Copy link
Member Author

sandersn commented Mar 6, 2023

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 6, 2023

Heya @sandersn, I've started to run the perf test suite on this PR at 000f7a5. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@sandersn
The results of the perf run you requested are in!

Here they are:

Compiler

Comparison Report - main..53121
Metric main 53121 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 359,785k (± 0.02%) 359,755k (± 0.01%) ~ 359,682k 359,809k p=0.471 n=6
Parse Time 3.49s (± 0.84%) 3.50s (± 0.51%) ~ 3.47s 3.52s p=0.418 n=6
Bind Time 1.13s (± 1.22%) 1.13s (± 0.49%) ~ 1.12s 1.13s p=0.663 n=6
Check Time 8.63s (± 0.28%) 8.62s (± 0.56%) ~ 8.55s 8.70s p=0.687 n=6
Emit Time 7.45s (± 0.65%) 7.46s (± 0.99%) ~ 7.38s 7.57s p=0.809 n=6
Total Time 20.69s (± 0.28%) 20.71s (± 0.52%) ~ 20.58s 20.85s p=1.000 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 192,646k (± 1.51%) 192,608k (± 1.50%) ~ 190,715k 196,377k p=0.378 n=6
Parse Time 1.48s (± 0.35%) 1.50s (± 0.91%) +0.03s (+ 1.92%) 1.49s 1.52s p=0.004 n=6
Bind Time 0.77s (± 0.53%) 0.77s (± 0.82%) ~ 0.76s 0.78s p=0.673 n=6
Check Time 9.35s (± 0.64%) 9.45s (± 0.77%) +0.09s (+ 1.00%) 9.34s 9.55s p=0.044 n=6
Emit Time 2.73s (± 0.78%) 2.73s (± 0.55%) ~ 2.70s 2.74s p=1.000 n=6
Total Time 14.33s (± 0.51%) 14.45s (± 0.52%) +0.11s (+ 0.80%) 14.33s 14.54s p=0.022 n=6
Monaco - node (v18.10.0, x64)
Memory used 343,843k (± 0.01%) 343,842k (± 0.02%) ~ 343,754k 343,906k p=0.936 n=6
Parse Time 2.62s (± 1.44%) 2.62s (± 0.98%) ~ 2.58s 2.65s p=1.000 n=6
Bind Time 1.01s (± 0.81%) 1.01s (± 0.75%) ~ 1.00s 1.02s p=0.729 n=6
Check Time 7.01s (± 0.55%) 6.99s (± 0.25%) ~ 6.97s 7.01s p=0.464 n=6
Emit Time 4.22s (± 0.77%) 4.22s (± 0.49%) ~ 4.18s 4.24s p=0.420 n=6
Total Time 14.86s (± 0.56%) 14.83s (± 0.22%) ~ 14.77s 14.86s p=0.627 n=6
TFS - node (v18.10.0, x64)
Memory used 299,859k (± 0.01%) 299,868k (± 0.01%) ~ 299,835k 299,906k p=0.810 n=6
Parse Time 2.04s (± 1.52%) 2.04s (± 1.38%) ~ 2.00s 2.07s p=0.872 n=6
Bind Time 1.14s (± 0.55%) 1.13s (± 0.36%) -0.01s (- 0.73%) 1.13s 1.14s p=0.033 n=6
Check Time 6.52s (± 0.46%) 6.49s (± 0.38%) ~ 6.46s 6.51s p=0.102 n=6
Emit Time 3.86s (± 0.69%) 3.84s (± 0.71%) ~ 3.81s 3.88s p=0.291 n=6
Total Time 13.56s (± 0.51%) 13.50s (± 0.40%) ~ 13.41s 13.55s p=0.146 n=6
material-ui - node (v18.10.0, x64)
Memory used 476,429k (± 0.01%) 476,448k (± 0.01%) ~ 476,401k 476,483k p=0.199 n=6
Parse Time 3.12s (± 0.80%) 3.11s (± 1.00%) ~ 3.07s 3.15s p=0.871 n=6
Bind Time 0.91s (± 0.45%) 0.92s (± 1.74%) ~ 0.91s 0.95s p=0.115 n=6
Check Time 17.14s (± 0.65%) 17.09s (± 0.54%) ~ 16.96s 17.17s p=0.297 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 21.17s (± 0.62%) 21.12s (± 0.56%) ~ 20.95s 21.23s p=0.297 n=6
xstate - node (v18.10.0, x64)
Memory used 548,943k (± 0.03%) 548,956k (± 0.02%) ~ 548,845k 549,074k p=0.575 n=6
Parse Time 4.07s (± 0.66%) 4.09s (± 0.18%) ~ 4.08s 4.10s p=0.054 n=6
Bind Time 1.68s (± 0.45%) 1.68s (± 0.72%) ~ 1.66s 1.69s p=0.503 n=6
Check Time 2.76s (± 1.34%) 2.76s (± 0.50%) ~ 2.74s 2.78s p=0.464 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=1.000 n=6
Total Time 8.59s (± 0.75%) 8.61s (± 0.21%) ~ 8.59s 8.63s p=0.806 n=6
Angular - node (v16.17.1, x64)
Memory used 359,083k (± 0.00%) 359,083k (± 0.01%) ~ 359,045k 359,101k p=0.936 n=6
Parse Time 3.71s (± 0.44%) 3.70s (± 0.43%) ~ 3.68s 3.72s p=0.465 n=6
Bind Time 1.19s (± 0.53%) 1.19s (± 0.63%) ~ 1.18s 1.20s p=0.718 n=6
Check Time 9.47s (± 0.57%) 9.40s (± 0.33%) -0.07s (- 0.69%) 9.35s 9.43s p=0.037 n=6
Emit Time 7.91s (± 0.91%) 7.87s (± 0.46%) ~ 7.81s 7.92s p=0.568 n=6
Total Time 22.27s (± 0.51%) 22.16s (± 0.21%) ~ 22.08s 22.20s p=0.064 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 192,902k (± 0.70%) 192,757k (± 0.54%) ~ 192,317k 194,900k p=0.689 n=6
Parse Time 1.56s (± 1.43%) 1.58s (± 0.77%) ~ 1.56s 1.59s p=0.121 n=6
Bind Time 0.82s (± 0.77%) 0.82s (± 0.50%) ~ 0.81s 0.82s p=0.673 n=6
Check Time 10.10s (± 0.59%) 10.10s (± 0.92%) ~ 9.97s 10.21s p=1.000 n=6
Emit Time 2.98s (± 0.47%) 2.99s (± 0.52%) ~ 2.97s 3.01s p=0.324 n=6
Total Time 15.46s (± 0.40%) 15.48s (± 0.58%) ~ 15.35s 15.58s p=0.748 n=6
Monaco - node (v16.17.1, x64)
Memory used 343,113k (± 0.01%) 343,114k (± 0.01%) ~ 343,083k 343,155k p=0.747 n=6
Parse Time 2.79s (± 0.84%) 2.81s (± 0.83%) ~ 2.78s 2.84s p=0.076 n=6
Bind Time 1.08s (± 0.59%) 1.08s (± 0.70%) ~ 1.07s 1.09s p=0.718 n=6
Check Time 7.66s (± 0.25%) 7.68s (± 0.45%) ~ 7.63s 7.73s p=0.295 n=6
Emit Time 4.47s (± 0.36%) 4.43s (± 0.69%) -0.04s (- 1.01%) 4.38s 4.47s p=0.019 n=6
Total Time 16.00s (± 0.27%) 16.01s (± 0.35%) ~ 15.93s 16.07s p=0.936 n=6
TFS - node (v16.17.1, x64)
Memory used 299,236k (± 0.01%) 299,253k (± 0.00%) ~ 299,237k 299,267k p=0.109 n=6
Parse Time 2.15s (± 0.68%) 2.15s (± 0.56%) ~ 2.13s 2.16s p=0.564 n=6
Bind Time 1.25s (± 1.28%) 1.25s (± 0.41%) ~ 1.24s 1.25s p=0.504 n=6
Check Time 7.17s (± 0.34%) 7.18s (± 0.39%) ~ 7.14s 7.22s p=0.808 n=6
Emit Time 4.34s (± 0.74%) 4.33s (± 0.24%) ~ 4.31s 4.34s p=0.624 n=6
Total Time 14.91s (± 0.29%) 14.90s (± 0.13%) ~ 14.88s 14.93s p=0.935 n=6
material-ui - node (v16.17.1, x64)
Memory used 475,678k (± 0.01%) 475,674k (± 0.01%) ~ 475,630k 475,708k p=0.936 n=6
Parse Time 3.28s (± 0.42%) 3.28s (± 0.19%) ~ 3.27s 3.29s p=1.000 n=6
Bind Time 0.96s (± 0.43%) 0.96s (± 0.43%) ~ 0.95s 0.96s p=1.000 n=6
Check Time 18.05s (± 0.76%) 18.02s (± 0.27%) ~ 17.96s 18.10s p=0.936 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.29s (± 0.68%) 22.26s (± 0.23%) ~ 22.20s 22.35s p=0.936 n=6
xstate - node (v16.17.1, x64)
Memory used 546,430k (± 0.01%) 546,441k (± 0.01%) ~ 546,352k 546,542k p=0.936 n=6
Parse Time 4.26s (± 0.62%) 4.26s (± 0.38%) ~ 4.23s 4.27s p=0.622 n=6
Bind Time 1.77s (± 0.23%) 1.75s (± 0.47%) -0.02s (- 0.85%) 1.74s 1.76s p=0.007 n=6
Check Time 2.97s (± 0.25%) 2.98s (± 0.58%) ~ 2.96s 3.00s p=0.209 n=6
Emit Time 0.09s (± 5.53%) 0.09s (± 5.53%) ~ 0.09s 0.10s p=1.000 n=6
Total Time 9.10s (± 0.22%) 9.09s (± 0.32%) ~ 9.05s 9.12s p=0.684 n=6
Angular - node (v14.15.1, x64)
Memory used 352,875k (± 0.01%) 352,868k (± 0.00%) ~ 352,860k 352,888k p=0.572 n=6
Parse Time 3.70s (± 0.55%) 3.70s (± 0.68%) ~ 3.68s 3.74s p=0.871 n=6
Bind Time 1.24s (± 0.41%) 1.24s (± 0.33%) ~ 1.24s 1.25s p=0.595 n=6
Check Time 9.75s (± 0.49%) 9.75s (± 0.73%) ~ 9.66s 9.84s p=1.000 n=6
Emit Time 8.33s (± 1.02%) 8.34s (± 0.54%) ~ 8.28s 8.39s p=1.000 n=6
Total Time 23.03s (± 0.56%) 23.03s (± 0.58%) ~ 22.89s 23.20s p=1.000 n=6
Compiler-Unions - node (v14.15.1, x64)
Memory used 187,623k (± 0.01%) 187,621k (± 0.01%) ~ 187,598k 187,639k p=1.000 n=6
Parse Time 1.57s (± 0.40%) 1.57s (± 0.35%) ~ 1.56s 1.57s p=0.201 n=6
Bind Time 0.84s (± 0.48%) 0.84s (± 0.48%) ~ 0.84s 0.85s p=1.000 n=6
Check Time 10.15s (± 0.47%) 10.14s (± 0.63%) ~ 10.06s 10.25s p=0.628 n=6
Emit Time 3.12s (± 0.75%) 3.12s (± 0.78%) ~ 3.08s 3.14s p=0.870 n=6
Total Time 15.68s (± 0.36%) 15.66s (± 0.52%) ~ 15.56s 15.80s p=0.470 n=6
Monaco - node (v14.15.1, x64)
Memory used 338,116k (± 0.00%) 338,130k (± 0.01%) ~ 338,089k 338,168k p=0.378 n=6
Parse Time 2.88s (± 0.72%) 2.88s (± 0.29%) ~ 2.87s 2.89s p=1.000 n=6
Bind Time 1.10s (± 0.47%) 1.10s (± 0.00%) ~ 1.10s 1.10s p=0.174 n=6
Check Time 8.10s (± 0.39%) 8.04s (± 0.24%) -0.06s (- 0.76%) 8.01s 8.06s p=0.008 n=6
Emit Time 4.70s (± 1.03%) 4.68s (± 0.57%) ~ 4.65s 4.72s p=1.000 n=6
Total Time 16.77s (± 0.42%) 16.70s (± 0.16%) ~ 16.67s 16.74s p=0.065 n=6
TFS - node (v14.15.1, x64)
Memory used 294,295k (± 0.00%) 294,297k (± 0.00%) ~ 294,279k 294,318k p=0.873 n=6
Parse Time 2.39s (± 1.24%) 2.37s (± 0.53%) ~ 2.36s 2.39s p=0.416 n=6
Bind Time 1.06s (± 0.38%) 1.07s (± 0.76%) ~ 1.06s 1.08s p=0.248 n=6
Check Time 7.46s (± 0.38%) 7.47s (± 0.50%) ~ 7.42s 7.52s p=0.470 n=6
Emit Time 4.32s (± 0.89%) 4.26s (± 0.79%) ~ 4.23s 4.32s p=0.053 n=6
Total Time 15.22s (± 0.46%) 15.18s (± 0.48%) ~ 15.08s 15.25s p=0.296 n=6
material-ui - node (v14.15.1, x64)
Memory used 471,362k (± 0.01%) 471,356k (± 0.00%) ~ 471,330k 471,370k p=0.936 n=6
Parse Time 3.45s (± 0.65%) 3.49s (± 0.53%) +0.04s (+ 1.16%) 3.47s 3.51s p=0.029 n=6
Bind Time 1.00s (± 1.17%) 1.00s (± 0.41%) ~ 0.99s 1.00s p=0.787 n=6
Check Time 18.99s (± 0.44%) 18.93s (± 0.52%) ~ 18.83s 19.07s p=0.261 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 23.44s (± 0.40%) 23.41s (± 0.45%) ~ 23.30s 23.53s p=0.575 n=6
xstate - node (v14.15.1, x64)
Memory used 535,187k (± 0.00%) 535,212k (± 0.00%) ~ 535,190k 535,237k p=0.092 n=6
Parse Time 4.45s (± 0.39%) 4.46s (± 0.32%) ~ 4.44s 4.48s p=0.222 n=6
Bind Time 1.79s (± 0.47%) 1.81s (± 0.42%) +0.01s (+ 0.74%) 1.80s 1.82s p=0.030 n=6
Check Time 3.16s (± 0.84%) 3.18s (± 0.43%) ~ 3.16s 3.19s p=0.170 n=6
Emit Time 0.09s (± 4.45%) 0.09s (± 4.45%) ~ 0.09s 0.10s p=1.000 n=6
Total Time 9.49s (± 0.45%) 9.55s (± 0.18%) ~ 9.52s 9.57s p=0.054 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 53121 6
Baseline main 6

TSServer

Comparison Report - main..53121
Metric main 53121 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,365ms (± 0.54%) 2,360ms (± 0.55%) ~ 2,344ms 2,381ms p=0.574 n=6
Req 2 - geterr 5,352ms (± 0.64%) 5,314ms (± 0.51%) ~ 5,274ms 5,354ms p=0.128 n=6
Req 3 - references 326ms (± 0.86%) 323ms (± 0.53%) ~ 321ms 325ms p=0.194 n=6
Req 4 - navto 286ms (± 0.98%) 286ms (± 0.65%) ~ 284ms 289ms p=0.413 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 81ms (± 5.12%) 79ms (± 0.66%) ~ 78ms 79ms p=0.242 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,506ms (± 1.05%) 2,519ms (± 0.99%) ~ 2,472ms 2,546ms p=0.378 n=6
Req 2 - geterr 4,016ms (± 0.58%) 4,003ms (± 0.57%) ~ 3,974ms 4,037ms p=0.298 n=6
Req 3 - references 346ms (± 0.77%) 346ms (± 0.58%) ~ 343ms 348ms p=0.871 n=6
Req 4 - navto 292ms (± 0.37%) 292ms (± 0.41%) ~ 291ms 294ms p=0.677 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 70ms (± 4.88%) 71ms (± 4.50%) ~ 68ms 75ms p=0.868 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,155ms (± 0.45%) 3,172ms (± 0.68%) ~ 3,139ms 3,193ms p=0.128 n=6
Req 2 - geterr 1,594ms (± 1.08%) 1,598ms (± 1.07%) ~ 1,578ms 1,618ms p=0.689 n=6
Req 3 - references 103ms (± 1.23%) 105ms (± 1.17%) ~ 103ms 106ms p=0.081 n=6
Req 4 - navto 359ms (± 0.63%) 360ms (± 0.77%) ~ 356ms 362ms p=0.506 n=6
Req 5 - completionInfo count 3,136 (± 0.00%) 3,136 (± 0.00%) ~ 3,136 3,136 p=1.000 n=6
Req 5 - completionInfo 426ms (± 1.80%) 426ms (± 1.35%) ~ 414ms 429ms p=0.739 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,480ms (± 1.39%) 2,486ms (± 2.10%) ~ 2,448ms 2,558ms p=0.810 n=6
Req 2 - geterr 5,753ms (± 0.38%) 5,707ms (± 0.32%) -45ms (- 0.79%) 5,682ms 5,733ms p=0.013 n=6
Req 3 - references 343ms (± 0.62%) 343ms (± 0.63%) ~ 340ms 346ms p=0.746 n=6
Req 4 - navto 278ms (± 1.65%) 276ms (± 0.48%) ~ 274ms 278ms p=0.807 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 93ms (± 2.92%) 92ms (± 2.75%) ~ 90ms 96ms p=0.368 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,670ms (± 0.41%) 2,675ms (± 0.47%) ~ 2,653ms 2,688ms p=0.423 n=6
Req 2 - geterr 4,367ms (± 0.31%) 4,368ms (± 0.23%) ~ 4,355ms 4,382ms p=0.810 n=6
Req 3 - references 360ms (± 0.65%) 359ms (± 0.41%) ~ 357ms 361ms p=0.742 n=6
Req 4 - navto 289ms (± 0.57%) 289ms (± 0.44%) ~ 288ms 291ms p=0.806 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 76ms (± 3.16%) 75ms (± 3.86%) ~ 73ms 80ms p=0.676 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,343ms (± 0.88%) 3,350ms (± 0.42%) ~ 3,329ms 3,364ms p=0.336 n=6
Req 2 - geterr 1,735ms (± 0.56%) 1,822ms (± 5.15%) ~ 1,727ms 1,931ms p=0.108 n=6
Req 3 - references 112ms (± 1.49%) 112ms (± 1.36%) ~ 109ms 113ms p=0.869 n=6
Req 4 - navto 346ms (± 2.11%) 340ms (± 1.17%) ~ 333ms 344ms p=0.258 n=6
Req 5 - completionInfo count 3,136 (± 0.00%) 3,136 (± 0.00%) ~ 3,136 3,136 p=1.000 n=6
Req 5 - completionInfo 436ms (± 0.72%) 434ms (± 0.37%) ~ 432ms 436ms p=0.328 n=6
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,573ms (± 0.29%) 2,560ms (± 0.59%) ~ 2,538ms 2,578ms p=0.106 n=6
Req 2 - geterr 6,084ms (± 0.45%) 6,052ms (± 0.30%) -32ms (- 0.53%) 6,023ms 6,071ms p=0.030 n=6
Req 3 - references 358ms (± 0.68%) 356ms (± 0.59%) ~ 353ms 359ms p=0.332 n=6
Req 4 - navto 275ms (± 0.38%) 276ms (± 1.51%) ~ 272ms 284ms p=1.000 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 101ms (± 1.92%) 100ms (± 5.85%) ~ 88ms 103ms p=0.451 n=6
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,812ms (± 0.46%) 2,772ms (± 0.84%) -40ms (- 1.43%) 2,750ms 2,805ms p=0.020 n=6
Req 2 - geterr 4,472ms (± 1.96%) 4,438ms (± 0.29%) ~ 4,418ms 4,455ms p=0.810 n=6
Req 3 - references 385ms (± 5.76%) 366ms (± 0.53%) 🟩-19ms (- 4.85%) 364ms 369ms p=0.012 n=6
Req 4 - navto 292ms (± 1.57%) 294ms (± 0.40%) ~ 293ms 296ms p=0.626 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 94ms (± 8.67%) 99ms (± 7.02%) ~ 85ms 103ms p=0.050 n=6
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,675ms (± 0.63%) 3,643ms (± 0.58%) ~ 3,623ms 3,669ms p=0.065 n=6
Req 2 - geterr 1,849ms (± 0.48%) 1,843ms (± 0.75%) ~ 1,827ms 1,862ms p=0.520 n=6
Req 3 - references 129ms (± 2.19%) 131ms (± 2.40%) ~ 126ms 135ms p=0.466 n=6
Req 4 - navto 375ms (± 1.03%) 374ms (± 0.31%) ~ 372ms 375ms p=0.684 n=6
Req 5 - completionInfo count 3,136 (± 0.00%) 3,136 (± 0.00%) ~ 3,136 3,136 p=1.000 n=6
Req 5 - completionInfo 451ms (± 2.90%) 455ms (± 2.80%) ~ 433ms 471ms p=0.520 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 53121 6
Baseline main 6

Startup

Comparison Report - main..53121
Metric main 53121 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 140.90ms (± 0.18%) 141.27ms (± 0.20%) +0.37ms (+ 0.26%) 140.50ms 146.49ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 225.19ms (± 0.16%) 225.84ms (± 0.17%) +0.65ms (+ 0.29%) 224.87ms 231.83ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 227.26ms (± 0.15%) 227.99ms (± 0.19%) +0.73ms (+ 0.32%) 226.87ms 232.89ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 208.23ms (± 0.19%) 208.69ms (± 0.18%) +0.46ms (+ 0.22%) 207.70ms 214.42ms p=0.000 n=600
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 53121 6
Baseline main 6

Developer Information:

Download Benchmark

if (margin !== undefined && indent + whitespace.length > margin) {
comments.push(whitespace.slice(margin - indent));
if (margin !== undefined && indent + whitespaceLength > margin) {
comments.push(scanner.getTokenText().slice(margin - indent));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I would've said not to do the double-substring/slice - but at this point I'm skeptical that it will affect perf much.

By the way, what is this logic trying to model?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When you write

/**
 * Some comments here
 *     Blockquote here
 *     And here
 * Back to original indentation
 */

The two blockquoted lines need to include 4 of the 5 spaces after the asterisk. Conversely, the first and last lines should skip the 1 space after the asterisk.

Needing to slice additional whitespace for the margin is uncommon, so putting the slice only in that branch should have improved performance noticeably. I'm not sure why it didn't.

@sandersn
Copy link
Member Author

sandersn commented Mar 7, 2023

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 7, 2023

Heya @sandersn, I've started to run the perf test suite on this PR at 794b0f3. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@sandersn
The results of the perf run you requested are in!

Here they are:

Compiler

Comparison Report - main..53121
Metric main 53121 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 359,801k (± 0.01%) 359,763k (± 0.01%) ~ 359,716k 359,815k p=0.128 n=6
Parse Time 3.49s (± 0.47%) 3.46s (± 0.69%) ~ 3.44s 3.50s p=0.105 n=6
Bind Time 1.13s (± 0.74%) 1.12s (± 0.88%) ~ 1.11s 1.13s p=0.256 n=6
Check Time 8.63s (± 0.47%) 8.60s (± 0.38%) ~ 8.56s 8.65s p=0.368 n=6
Emit Time 7.43s (± 0.89%) 7.43s (± 0.41%) ~ 7.39s 7.47s p=0.747 n=6
Total Time 20.67s (± 0.53%) 20.62s (± 0.16%) ~ 20.58s 20.67s p=0.573 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 191,689k (± 1.18%) 193,542k (± 1.64%) ~ 190,566k 196,522k p=0.689 n=6
Parse Time 1.47s (± 0.83%) 1.51s (± 0.91%) +0.04s (+ 2.71%) 1.50s 1.53s p=0.005 n=6
Bind Time 0.77s (± 0.53%) 0.77s (± 0.53%) ~ 0.77s 0.78s p=1.000 n=6
Check Time 9.31s (± 0.36%) 9.43s (± 0.90%) +0.12s (+ 1.31%) 9.31s 9.51s p=0.029 n=6
Emit Time 2.73s (± 0.61%) 2.74s (± 0.85%) ~ 2.72s 2.78s p=0.373 n=6
Total Time 14.28s (± 0.28%) 14.46s (± 0.60%) +0.18s (+ 1.26%) 14.34s 14.55s p=0.005 n=6
Monaco - node (v18.10.0, x64)
Memory used 343,848k (± 0.01%) 343,849k (± 0.02%) ~ 343,762k 343,953k p=1.000 n=6
Parse Time 2.61s (± 1.02%) 2.62s (± 0.98%) ~ 2.58s 2.64s p=0.807 n=6
Bind Time 1.00s (± 0.83%) 1.01s (± 1.84%) ~ 1.00s 1.05s p=0.652 n=6
Check Time 7.01s (± 0.49%) 7.01s (± 0.30%) ~ 6.98s 7.04s p=0.936 n=6
Emit Time 4.20s (± 0.61%) 4.25s (± 1.07%) ~ 4.18s 4.31s p=0.053 n=6
Total Time 14.83s (± 0.45%) 14.89s (± 0.54%) ~ 14.78s 14.99s p=0.109 n=6
TFS - node (v18.10.0, x64)
Memory used 299,851k (± 0.01%) 299,878k (± 0.00%) ~ 299,857k 299,894k p=0.066 n=6
Parse Time 2.03s (± 1.05%) 2.04s (± 1.58%) ~ 1.99s 2.07s p=0.573 n=6
Bind Time 1.13s (± 0.36%) 1.13s (± 0.36%) ~ 1.13s 1.14s p=1.000 n=6
Check Time 6.48s (± 0.39%) 6.52s (± 0.61%) ~ 6.46s 6.58s p=0.096 n=6
Emit Time 3.84s (± 1.10%) 3.85s (± 0.67%) ~ 3.80s 3.87s p=0.872 n=6
Total Time 13.49s (± 0.46%) 13.53s (± 0.45%) ~ 13.47s 13.60s p=0.228 n=6
material-ui - node (v18.10.0, x64)
Memory used 476,444k (± 0.00%) 476,442k (± 0.00%) ~ 476,416k 476,465k p=1.000 n=6
Parse Time 3.11s (± 0.59%) 3.13s (± 0.75%) ~ 3.10s 3.16s p=0.106 n=6
Bind Time 0.90s (± 0.83%) 0.91s (± 0.00%) +0.01s (+ 0.92%) 0.91s 0.91s p=0.027 n=6
Check Time 17.04s (± 0.38%) 17.13s (± 0.72%) ~ 16.99s 17.34s p=0.173 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 21.05s (± 0.35%) 21.17s (± 0.55%) ~ 21.05s 21.35s p=0.128 n=6
xstate - node (v18.10.0, x64)
Memory used 548,992k (± 0.03%) 548,989k (± 0.03%) ~ 548,779k 549,204k p=1.000 n=6
Parse Time 4.06s (± 0.48%) 4.08s (± 0.52%) ~ 4.05s 4.11s p=0.090 n=6
Bind Time 1.67s (± 0.63%) 1.70s (± 0.61%) +0.03s (+ 1.90%) 1.68s 1.71s p=0.006 n=6
Check Time 2.74s (± 0.75%) 2.76s (± 0.68%) ~ 2.74s 2.79s p=0.745 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=1.000 n=6
Total Time 8.55s (± 0.34%) 8.61s (± 0.37%) +0.06s (+ 0.70%) 8.55s 8.64s p=0.020 n=6
Angular - node (v16.17.1, x64)
Memory used 359,086k (± 0.01%) 359,116k (± 0.00%) +30k (+ 0.01%) 359,101k 359,128k p=0.045 n=6
Parse Time 3.70s (± 0.32%) 3.67s (± 0.93%) ~ 3.63s 3.72s p=0.145 n=6
Bind Time 1.19s (± 0.75%) 1.19s (± 0.63%) ~ 1.18s 1.20s p=0.798 n=6
Check Time 9.42s (± 0.43%) 9.45s (± 0.50%) ~ 9.39s 9.53s p=0.628 n=6
Emit Time 7.89s (± 0.26%) 7.87s (± 0.32%) ~ 7.84s 7.90s p=0.118 n=6
Total Time 22.20s (± 0.20%) 22.18s (± 0.38%) ~ 22.08s 22.31s p=0.375 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 192,871k (± 0.65%) 192,367k (± 0.03%) ~ 192,317k 192,448k p=0.936 n=6
Parse Time 1.56s (± 0.75%) 1.59s (± 1.32%) +0.03s (+ 2.03%) 1.56s 1.61s p=0.028 n=6
Bind Time 0.82s (± 0.77%) 0.82s (± 1.27%) ~ 0.81s 0.84s p=0.388 n=6
Check Time 10.13s (± 0.57%) 10.15s (± 0.55%) ~ 10.10s 10.23s p=0.377 n=6
Emit Time 2.98s (± 0.91%) 3.00s (± 0.88%) ~ 2.96s 3.03s p=0.257 n=6
Total Time 15.48s (± 0.55%) 15.56s (± 0.53%) ~ 15.44s 15.66s p=0.149 n=6
Monaco - node (v16.17.1, x64)
Memory used 343,102k (± 0.01%) 343,119k (± 0.00%) ~ 343,097k 343,132k p=0.078 n=6
Parse Time 2.79s (± 0.59%) 2.77s (± 0.59%) ~ 2.75s 2.79s p=0.071 n=6
Bind Time 1.08s (± 0.59%) 1.08s (± 0.70%) ~ 1.07s 1.09s p=0.718 n=6
Check Time 7.66s (± 0.35%) 7.67s (± 0.19%) ~ 7.65s 7.69s p=0.416 n=6
Emit Time 4.43s (± 0.32%) 4.44s (± 0.47%) ~ 4.41s 4.46s p=0.373 n=6
Total Time 15.96s (± 0.25%) 15.96s (± 0.20%) ~ 15.90s 15.99s p=0.808 n=6
TFS - node (v16.17.1, x64)
Memory used 299,242k (± 0.00%) 299,233k (± 0.01%) ~ 299,200k 299,266k p=0.471 n=6
Parse Time 2.15s (± 0.39%) 2.15s (± 0.35%) ~ 2.14s 2.16s p=0.652 n=6
Bind Time 1.24s (± 1.10%) 1.23s (± 1.40%) ~ 1.21s 1.25s p=0.282 n=6
Check Time 7.15s (± 0.45%) 7.18s (± 0.41%) ~ 7.14s 7.21s p=0.124 n=6
Emit Time 4.32s (± 0.62%) 4.35s (± 0.70%) ~ 4.32s 4.40s p=0.225 n=6
Total Time 14.86s (± 0.39%) 14.90s (± 0.34%) ~ 14.85s 14.99s p=0.173 n=6
material-ui - node (v16.17.1, x64)
Memory used 475,670k (± 0.00%) 475,676k (± 0.01%) ~ 475,633k 475,717k p=0.630 n=6
Parse Time 3.27s (± 0.19%) 3.27s (± 0.37%) ~ 3.26s 3.29s p=0.673 n=6
Bind Time 0.96s (± 0.43%) 0.96s (± 0.00%) ~ 0.96s 0.96s p=0.405 n=6
Check Time 18.09s (± 0.54%) 18.00s (± 0.31%) ~ 17.94s 18.08s p=0.107 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.32s (± 0.45%) 22.23s (± 0.22%) ~ 22.18s 22.30s p=0.128 n=6
xstate - node (v16.17.1, x64)
Memory used 546,507k (± 0.03%) 546,566k (± 0.01%) ~ 546,477k 546,684k p=0.128 n=6
Parse Time 4.26s (± 0.55%) 4.26s (± 0.43%) ~ 4.24s 4.29s p=0.803 n=6
Bind Time 1.75s (± 0.31%) 1.76s (± 0.56%) ~ 1.75s 1.77s p=0.232 n=6
Check Time 2.96s (± 0.41%) 2.97s (± 0.72%) ~ 2.95s 3.00s p=0.807 n=6
Emit Time 0.09s (± 5.76%) 0.10s (± 5.76%) ~ 0.09s 0.10s p=1.000 n=6
Total Time 9.07s (± 0.31%) 9.08s (± 0.22%) ~ 9.06s 9.10s p=0.805 n=6
Angular - node (v14.15.1, x64)
Memory used 352,869k (± 0.00%) 352,879k (± 0.00%) ~ 352,861k 352,891k p=0.199 n=6
Parse Time 3.70s (± 0.45%) 3.70s (± 0.33%) ~ 3.69s 3.72s p=0.546 n=6
Bind Time 1.24s (± 0.41%) 1.24s (± 0.00%) ~ 1.24s 1.24s p=0.174 n=6
Check Time 9.69s (± 0.35%) 9.74s (± 0.55%) +0.06s (+ 0.60%) 9.64s 9.78s p=0.045 n=6
Emit Time 8.27s (± 0.50%) 8.30s (± 0.83%) ~ 8.19s 8.36s p=0.229 n=6
Total Time 22.90s (± 0.35%) 22.99s (± 0.32%) ~ 22.89s 23.08s p=0.065 n=6
Compiler-Unions - node (v14.15.1, x64)
Memory used 187,626k (± 0.00%) 187,627k (± 0.01%) ~ 187,593k 187,651k p=0.748 n=6
Parse Time 1.56s (± 0.52%) 1.57s (± 0.52%) ~ 1.57s 1.59s p=0.056 n=6
Bind Time 0.84s (± 0.75%) 0.85s (± 0.99%) ~ 0.84s 0.86s p=0.340 n=6
Check Time 10.13s (± 0.41%) 10.19s (± 0.49%) ~ 10.10s 10.24s p=0.077 n=6
Emit Time 3.15s (± 1.40%) 3.14s (± 1.02%) ~ 3.08s 3.17s p=0.936 n=6
Total Time 15.68s (± 0.47%) 15.75s (± 0.54%) ~ 15.59s 15.84s p=0.226 n=6
Monaco - node (v14.15.1, x64)
Memory used 338,150k (± 0.01%) 338,139k (± 0.01%) ~ 338,114k 338,175k p=0.689 n=6
Parse Time 2.88s (± 0.69%) 2.87s (± 0.52%) ~ 2.86s 2.90s p=0.868 n=6
Bind Time 1.10s (± 0.68%) 1.10s (± 0.99%) ~ 1.09s 1.12s p=1.000 n=6
Check Time 8.08s (± 0.72%) 8.07s (± 0.36%) ~ 8.03s 8.10s p=0.872 n=6
Emit Time 4.67s (± 0.65%) 4.67s (± 0.48%) ~ 4.63s 4.69s p=0.807 n=6
Total Time 16.72s (± 0.34%) 16.71s (± 0.29%) ~ 16.66s 16.80s p=0.748 n=6
TFS - node (v14.15.1, x64)
Memory used 294,290k (± 0.01%) 294,303k (± 0.00%) ~ 294,284k 294,327k p=0.230 n=6
Parse Time 2.38s (± 0.87%) 2.38s (± 0.41%) ~ 2.36s 2.39s p=0.868 n=6
Bind Time 1.06s (± 1.03%) 1.07s (± 0.76%) ~ 1.06s 1.08s p=0.383 n=6
Check Time 7.45s (± 0.59%) 7.47s (± 0.39%) ~ 7.41s 7.49s p=0.870 n=6
Emit Time 4.27s (± 0.70%) 4.29s (± 0.74%) ~ 4.24s 4.32s p=0.520 n=6
Total Time 15.16s (± 0.57%) 15.20s (± 0.33%) ~ 15.14s 15.26s p=0.334 n=6
material-ui - node (v14.15.1, x64)
Memory used 471,381k (± 0.00%) 471,369k (± 0.00%) ~ 471,351k 471,386k p=0.172 n=6
Parse Time 3.44s (± 0.43%) 3.46s (± 0.93%) ~ 3.43s 3.50s p=0.285 n=6
Bind Time 1.00s (± 0.81%) 1.00s (± 0.52%) ~ 0.99s 1.00s p=0.140 n=6
Check Time 18.88s (± 0.37%) 18.97s (± 0.79%) ~ 18.82s 19.21s p=0.423 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 23.32s (± 0.28%) 23.43s (± 0.75%) ~ 23.27s 23.71s p=0.261 n=6
xstate - node (v14.15.1, x64)
Memory used 535,173k (± 0.00%) 535,209k (± 0.01%) ~ 535,162k 535,256k p=0.173 n=6
Parse Time 4.45s (± 0.26%) 4.54s (± 1.60%) +0.09s (+ 1.91%) 4.48s 4.64s p=0.005 n=6
Bind Time 1.79s (± 0.69%) 1.76s (± 4.43%) ~ 1.65s 1.81s p=0.622 n=6
Check Time 3.16s (± 1.11%) 3.17s (± 0.49%) ~ 3.14s 3.18s p=0.517 n=6
Emit Time 0.09s (± 4.45%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=0.405 n=6
Total Time 9.49s (± 0.35%) 9.55s (± 0.29%) +0.06s (+ 0.61%) 9.50s 9.58s p=0.019 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 53121 6
Baseline main 6

TSServer

Comparison Report - main..53121
Metric main 53121 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,363ms (± 0.69%) 2,387ms (± 0.62%) +25ms (+ 1.05%) 2,368ms 2,408ms p=0.030 n=6
Req 2 - geterr 5,367ms (± 0.67%) 5,369ms (± 0.55%) ~ 5,329ms 5,401ms p=0.873 n=6
Req 3 - references 329ms (± 1.38%) 329ms (± 1.05%) ~ 325ms 333ms p=0.935 n=6
Req 4 - navto 284ms (± 0.75%) 284ms (± 1.08%) ~ 279ms 286ms p=0.678 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 81ms (± 5.19%) 82ms (± 5.24%) ~ 78ms 87ms p=0.858 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,511ms (± 0.54%) 2,529ms (± 0.89%) ~ 2,496ms 2,556ms p=0.128 n=6
Req 2 - geterr 4,014ms (± 0.44%) 4,024ms (± 0.45%) ~ 3,991ms 4,041ms p=0.423 n=6
Req 3 - references 348ms (± 1.03%) 348ms (± 0.56%) ~ 346ms 351ms p=0.685 n=6
Req 4 - navto 292ms (± 0.60%) 293ms (± 0.82%) ~ 291ms 298ms p=0.213 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 75ms (± 7.94%) 72ms (± 7.55%) ~ 67ms 80ms p=0.376 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,156ms (± 0.60%) 3,235ms (± 0.66%) +79ms (+ 2.50%) 3,201ms 3,256ms p=0.005 n=6
Req 2 - geterr 1,589ms (± 0.87%) 1,597ms (± 1.16%) ~ 1,571ms 1,615ms p=0.378 n=6
Req 3 - references 103ms (± 0.87%) 104ms (± 1.59%) ~ 102ms 106ms p=0.803 n=6
Req 4 - navto 360ms (± 2.19%) 361ms (± 0.77%) ~ 358ms 365ms p=0.148 n=6
Req 5 - completionInfo count 3,136 (± 0.00%) 3,136 (± 0.00%) ~ 3,136 3,136 p=1.000 n=6
Req 5 - completionInfo 430ms (± 1.04%) 428ms (± 1.44%) ~ 421ms 439ms p=0.465 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,450ms (± 0.48%) 2,524ms (± 2.14%) +75ms (+ 3.05%) 2,462ms 2,577ms p=0.008 n=6
Req 2 - geterr 5,729ms (± 0.39%) 5,739ms (± 0.64%) ~ 5,703ms 5,797ms p=0.688 n=6
Req 3 - references 342ms (± 0.63%) 342ms (± 0.54%) ~ 339ms 344ms p=1.000 n=6
Req 4 - navto 279ms (± 0.94%) 278ms (± 1.01%) ~ 274ms 281ms p=0.466 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 90ms (± 5.62%) 92ms (± 4.34%) ~ 85ms 96ms p=0.568 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,674ms (± 0.73%) 2,692ms (± 0.70%) ~ 2,656ms 2,711ms p=0.199 n=6
Req 2 - geterr 4,354ms (± 0.74%) 4,375ms (± 0.56%) ~ 4,330ms 4,401ms p=0.230 n=6
Req 3 - references 358ms (± 0.65%) 361ms (± 0.72%) ~ 358ms 364ms p=0.145 n=6
Req 4 - navto 289ms (± 0.65%) 289ms (± 0.68%) ~ 287ms 292ms p=0.517 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 76ms (± 3.22%) 76ms (± 3.72%) ~ 72ms 78ms p=1.000 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,338ms (± 0.61%) 3,382ms (± 0.44%) +44ms (+ 1.33%) 3,364ms 3,401ms p=0.005 n=6
Req 2 - geterr 1,777ms (± 4.06%) 1,787ms (± 3.52%) ~ 1,736ms 1,901ms p=0.575 n=6
Req 3 - references 112ms (± 2.23%) 112ms (± 1.45%) ~ 110ms 114ms p=0.871 n=6
Req 4 - navto 346ms (± 1.52%) 342ms (± 1.63%) ~ 335ms 352ms p=0.572 n=6
Req 5 - completionInfo count 3,136 (± 0.00%) 3,136 (± 0.00%) ~ 3,136 3,136 p=1.000 n=6
Req 5 - completionInfo 434ms (± 1.06%) 434ms (± 0.32%) ~ 431ms 435ms p=0.374 n=6
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,567ms (± 0.57%) 2,591ms (± 0.50%) +25ms (+ 0.95%) 2,570ms 2,605ms p=0.037 n=6
Req 2 - geterr 6,067ms (± 0.52%) 6,104ms (± 0.40%) ~ 6,080ms 6,137ms p=0.093 n=6
Req 3 - references 356ms (± 0.78%) 356ms (± 0.88%) ~ 353ms 360ms p=0.807 n=6
Req 4 - navto 275ms (± 0.36%) 284ms (± 1.98%) +9ms (+ 3.21%) 276ms 288ms p=0.007 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 102ms (± 0.54%) 93ms (± 6.27%) 🟩-9ms (- 8.70%) 89ms 102ms p=0.030 n=6
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,789ms (± 0.63%) 2,822ms (± 0.36%) +33ms (+ 1.18%) 2,810ms 2,833ms p=0.005 n=6
Req 2 - geterr 4,480ms (± 1.72%) 4,527ms (± 2.53%) ~ 4,437ms 4,695ms p=0.377 n=6
Req 3 - references 376ms (± 5.44%) 370ms (± 0.75%) ~ 367ms 374ms p=0.466 n=6
Req 4 - navto 293ms (± 1.17%) 294ms (± 1.30%) ~ 288ms 298ms p=0.464 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 95ms (± 9.87%) 95ms (±10.43%) ~ 82ms 102ms p=1.000 n=6
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,637ms (± 0.43%) 3,674ms (± 0.50%) +36ms (+ 0.99%) 3,656ms 3,701ms p=0.020 n=6
Req 2 - geterr 1,835ms (± 0.48%) 1,846ms (± 0.62%) ~ 1,829ms 1,861ms p=0.092 n=6
Req 3 - references 128ms (± 2.28%) 131ms (± 0.64%) ~ 130ms 132ms p=0.123 n=6
Req 4 - navto 376ms (± 1.00%) 376ms (± 0.55%) ~ 373ms 378ms p=1.000 n=6
Req 5 - completionInfo count 3,136 (± 0.00%) 3,136 (± 0.00%) ~ 3,136 3,136 p=1.000 n=6
Req 5 - completionInfo 460ms (± 2.64%) 460ms (± 2.15%) ~ 450ms 475ms p=1.000 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 53121 6
Baseline main 6

Startup

Comparison Report - main..53121
Metric main 53121 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 141.09ms (± 0.20%) 141.59ms (± 0.24%) +0.50ms (+ 0.36%) 140.58ms 145.03ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 225.65ms (± 0.19%) 226.58ms (± 0.24%) +0.93ms (+ 0.41%) 224.89ms 231.72ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 227.63ms (± 0.16%) 229.89ms (± 0.36%) +2.26ms (+ 0.99%) 227.18ms 236.74ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 208.42ms (± 0.17%) 208.78ms (± 0.20%) +0.36ms (+ 0.17%) 207.71ms 214.71ms p=0.000 n=600
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 53121 6
Baseline main 6

Developer Information:

Download Benchmark

@sandersn
Copy link
Member Author

sandersn commented Mar 8, 2023

Well, two barely slow things together are still barely slow. Oh well.

@sandersn sandersn closed this Mar 8, 2023
@sandersn sandersn deleted the lazy-whitespace-slicing-jsdoc-parser branch March 8, 2023 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants