Skip to content
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

Remove some properties from Identifier #52170

Merged
merged 13 commits into from
Jan 12, 2023
Merged

Remove some properties from Identifier #52170

merged 13 commits into from
Jan 12, 2023

Conversation

rbuckton
Copy link
Member

@rbuckton rbuckton commented Jan 9, 2023

This is a WIP investigation into memory utilization after moving a number of properties off of Identifier.

This has some overlap with #51497

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Jan 9, 2023
@rbuckton
Copy link
Member Author

rbuckton commented Jan 9, 2023

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jan 9, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 372,632k (± 0.01%) 361,366k (± 0.01%) 🟩-11,266k (- 3.02%) 361,289k 361,425k
Parse Time 3.95s (± 0.78%) 3.97s (± 0.68%) +0.02s (+ 0.53%) 3.92s 4.00s
Bind Time 1.20s (± 0.64%) 1.20s (± 0.41%) +0.00s (+ 0.21%) 1.20s 1.21s
Check Time 8.63s (± 0.29%) 8.60s (± 0.48%) -0.03s (- 0.38%) 8.55s 8.66s
Emit Time 7.55s (± 0.31%) 7.55s (± 1.05%) -0.00s (- 0.07%) 7.46s 7.66s
Total Time 21.34s (± 0.16%) 21.32s (± 0.47%) -0.02s (- 0.08%) 21.14s 21.46s
Compiler-Unions - node (v18.10.0, x64)
Memory used 202,176k (± 1.46%) 192,914k (± 1.25%) 🟩-9,261k (- 4.58%) 191,648k 197,809k
Parse Time 1.65s (± 1.35%) 1.64s (± 0.75%) -0.02s (- 1.00%) 1.62s 1.65s
Bind Time 0.79s (± 0.69%) 0.79s (± 0.79%) +0.00s (+ 0.32%) 0.79s 0.80s
Check Time 9.49s (± 0.70%) 9.51s (± 0.81%) +0.02s (+ 0.22%) 9.38s 9.61s
Emit Time 2.76s (± 1.28%) 2.88s (± 5.31%) +0.12s (+ 4.17%) 2.74s 3.11s
Total Time 14.70s (± 0.56%) 14.82s (± 1.13%) +0.12s (+ 0.83%) 14.61s 15.05s
Monaco - node (v18.10.0, x64)
Memory used 354,122k (± 0.00%) 345,627k (± 0.01%) -8,495k (- 2.40%) 345,593k 345,661k
Parse Time 2.95s (± 1.05%) 2.91s (± 0.66%) -0.03s (- 1.17%) 2.89s 2.94s
Bind Time 1.04s (± 1.03%) 1.05s (± 0.64%) +0.02s (+ 1.50%) 1.04s 1.06s
Check Time 7.25s (± 0.86%) 7.24s (± 0.97%) -0.01s (- 0.15%) 7.17s 7.35s
Emit Time 4.31s (± 0.64%) 4.28s (± 0.81%) -0.03s (- 0.73%) 4.23s 4.34s
Total Time 15.54s (± 0.64%) 15.49s (± 0.72%) -0.06s (- 0.37%) 15.36s 15.68s
TFS - node (v18.10.0, x64)
Memory used 310,025k (± 0.01%) 300,345k (± 0.01%) 🟩-9,681k (- 3.12%) 300,323k 300,374k
Parse Time 2.24s (± 0.96%) 2.23s (± 1.55%) -0.01s (- 0.63%) 2.18s 2.27s
Bind Time 1.16s (± 0.73%) 1.18s (± 0.59%) +0.02s (+ 1.90%) 1.17s 1.19s
Check Time 6.81s (± 0.35%) 6.81s (± 0.56%) +0.00s (+ 0.01%) 6.79s 6.89s
Emit Time 3.94s (± 0.98%) 3.94s (± 0.76%) +0.00s (+ 0.07%) 3.89s 3.98s
Total Time 14.15s (± 0.48%) 14.16s (± 0.58%) +0.01s (+ 0.08%) 14.11s 14.32s
material-ui - node (v18.10.0, x64)
Memory used 485,265k (± 0.02%) 476,324k (± 0.01%) -8,941k (- 1.84%) 476,271k 476,357k
Parse Time 3.53s (± 0.64%) 3.50s (± 0.41%) -0.03s (- 0.79%) 3.49s 3.53s
Bind Time 0.96s (± 0.59%) 0.96s (± 1.07%) -0.00s (- 0.48%) 0.95s 0.97s
Check Time 16.93s (± 0.76%) 16.81s (± 0.31%) -0.12s (- 0.68%) 16.75s 16.89s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.42s (± 0.64%) 21.27s (± 0.23%) -0.15s (- 0.71%) 21.22s 21.35s
xstate - node (v18.10.0, x64)
Memory used 570,301k (± 0.03%) 546,130k (± 0.02%) 🟩-24,171k (- 4.24%) 546,007k 546,291k
Parse Time 4.41s (± 0.91%) 4.40s (± 0.30%) -0.01s (- 0.33%) 4.38s 4.42s
Bind Time 1.70s (± 0.65%) 1.71s (± 0.41%) +0.01s (+ 0.65%) 1.70s 1.72s
Check Time 2.61s (± 0.77%) 2.61s (± 0.73%) +0.00s (+ 0.16%) 2.59s 2.65s
Emit Time 0.08s (± 0.15%) 0.08s (± 4.89%) +0.00s (+ 2.05%) 0.08s 0.09s
Total Time 8.80s (± 0.40%) 8.80s (± 0.32%) -0.00s (- 0.05%) 8.78s 8.85s
Angular - node (v16.17.1, x64)
Memory used 372,015k (± 0.01%) 360,759k (± 0.01%) 🟩-11,257k (- 3.03%) 360,724k 360,808k
Parse Time 4.14s (± 0.33%) 4.16s (± 0.49%) +0.03s (+ 0.61%) 4.14s 4.20s
Bind Time 1.27s (± 1.30%) 1.27s (± 0.42%) +0.00s (+ 0.23%) 1.27s 1.28s
Check Time 9.32s (± 0.38%) 9.29s (± 0.43%) -0.03s (- 0.37%) 9.23s 9.33s
Emit Time 8.00s (± 0.17%) 7.95s (± 0.85%) -0.04s (- 0.55%) 7.87s 8.07s
Total Time 22.73s (± 0.15%) 22.67s (± 0.41%) -0.05s (- 0.23%) 22.58s 22.83s
Compiler-Unions - node (v16.17.1, x64)
Memory used 200,448k (± 0.68%) 193,705k (± 0.02%) 🟩-6,743k (- 3.36%) 193,658k 193,778k
Parse Time 1.80s (± 1.74%) 1.80s (± 1.14%) +0.00s (+ 0.20%) 1.77s 1.84s
Bind Time 0.84s (± 0.69%) 0.85s (± 0.75%) +0.00s (+ 0.42%) 0.84s 0.85s
Check Time 10.08s (± 1.23%) 10.15s (± 0.87%) +0.07s (+ 0.69%) 10.08s 10.32s
Emit Time 3.10s (± 6.32%) 3.11s (± 4.73%) +0.01s (+ 0.37%) 2.99s 3.39s
Total Time 15.82s (± 1.66%) 15.91s (± 0.99%) +0.09s (+ 0.58%) 15.77s 16.21s
Monaco - node (v16.17.1, x64)
Memory used 353,395k (± 0.01%) 345,038k (± 0.01%) -8,357k (- 2.36%) 345,001k 345,102k
Parse Time 3.16s (± 0.65%) 3.10s (± 1.29%) -0.06s (- 1.89%) 3.07s 3.18s
Bind Time 1.12s (± 0.93%) 1.10s (± 0.35%) -0.01s (- 1.34%) 1.10s 1.11s
Check Time 7.84s (± 0.24%) 7.88s (± 0.37%) +0.04s (+ 0.55%) 7.85s 7.94s
Emit Time 4.46s (± 0.70%) 4.49s (± 0.17%) +0.03s (+ 0.67%) 4.48s 4.50s
Total Time 16.58s (± 0.07%) 16.58s (± 0.25%) -0.00s (- 0.01%) 16.53s 16.64s
TFS - node (v16.17.1, x64)
Memory used 309,380k (± 0.00%) 299,680k (± 0.01%) 🟩-9,700k (- 3.14%) 299,638k 299,720k
Parse Time 2.62s (± 0.57%) 2.41s (± 1.52%) 🟩-0.21s (- 7.84%) 2.37s 2.46s
Bind Time 1.06s (± 1.99%) 1.27s (± 1.14%) +0.21s (+20.29%) 1.24s 1.28s
Check Time 7.42s (± 0.58%) 7.42s (± 0.32%) -0.00s (- 0.01%) 7.40s 7.46s
Emit Time 4.22s (± 0.43%) 4.20s (± 0.58%) -0.02s (- 0.36%) 4.18s 4.24s
Total Time 15.31s (± 0.44%) 15.30s (± 0.32%) -0.01s (- 0.05%) 15.25s 15.36s
material-ui - node (v16.17.1, x64)
Memory used 484,528k (± 0.01%) 475,665k (± 0.01%) -8,863k (- 1.83%) 475,634k 475,729k
Parse Time 3.67s (± 0.24%) 3.66s (± 0.34%) -0.02s (- 0.53%) 3.64s 3.67s
Bind Time 1.01s (± 0.66%) 1.01s (± 1.16%) +0.00s (+ 0.30%) 1.00s 1.03s
Check Time 17.90s (± 0.43%) 17.89s (± 0.27%) -0.01s (- 0.04%) 17.83s 17.95s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.58s (± 0.38%) 22.56s (± 0.27%) -0.02s (- 0.10%) 22.48s 22.62s
xstate - node (v16.17.1, x64)
Memory used 567,842k (± 0.02%) 543,756k (± 0.03%) 🟩-24,086k (- 4.24%) 543,668k 544,079k
Parse Time 4.74s (± 0.51%) 4.59s (± 0.61%) 🟩-0.16s (- 3.29%) 4.56s 4.62s
Bind Time 1.65s (± 0.69%) 1.80s (± 0.62%) +0.16s (+ 9.40%) 1.79s 1.82s
Check Time 2.84s (± 0.38%) 2.84s (± 0.45%) -0.01s (- 0.18%) 2.82s 2.85s
Emit Time 0.09s (± 4.49%) 0.09s (± 0.21%) -0.00s (- 1.88%) 0.09s 0.09s
Total Time 9.32s (± 0.22%) 9.32s (± 0.34%) -0.00s (- 0.03%) 9.28s 9.36s
Angular - node (v14.15.1, x64)
Memory used 365,675k (± 0.00%) 354,444k (± 0.01%) 🟩-11,232k (- 3.07%) 354,418k 354,465k
Parse Time 4.16s (± 0.62%) 4.17s (± 0.25%) +0.01s (+ 0.24%) 4.15s 4.18s
Bind Time 1.30s (± 0.78%) 1.28s (± 0.49%) -0.02s (- 1.22%) 1.27s 1.29s
Check Time 9.70s (± 0.51%) 9.67s (± 0.36%) -0.03s (- 0.27%) 9.61s 9.72s
Emit Time 8.20s (± 0.89%) 8.20s (± 0.63%) +0.01s (+ 0.06%) 8.13s 8.28s
Total Time 23.35s (± 0.29%) 23.32s (± 0.32%) -0.03s (- 0.11%) 23.20s 23.41s
Compiler-Unions - node (v14.15.1, x64)
Memory used 195,167k (± 0.02%) 189,507k (± 0.71%) -5,659k (- 2.90%) 188,929k 192,273k
Parse Time 1.86s (± 0.58%) 1.83s (± 0.71%) -0.03s (- 1.58%) 1.81s 1.85s
Bind Time 0.88s (± 0.74%) 0.88s (± 0.22%) +0.00s (+ 0.03%) 0.87s 0.88s
Check Time 10.13s (± 0.66%) 10.26s (± 0.67%) +0.12s (+ 1.23%) 10.20s 10.38s
Emit Time 3.14s (± 1.05%) 3.17s (± 0.89%) +0.03s (+ 1.09%) 3.11s 3.19s
Total Time 16.01s (± 0.51%) 16.14s (± 0.52%) +0.13s (+ 0.82%) 16.03s 16.28s
Monaco - node (v14.15.1, x64)
Memory used 348,264k (± 0.01%) 339,800k (± 0.01%) -8,464k (- 2.43%) 339,752k 339,838k
Parse Time 3.25s (± 0.99%) 3.24s (± 1.56%) -0.01s (- 0.38%) 3.16s 3.29s
Bind Time 1.11s (± 0.40%) 1.14s (± 0.74%) +0.03s (+ 2.28%) 1.13s 1.15s
Check Time 8.15s (± 0.47%) 8.17s (± 0.34%) +0.02s (+ 0.28%) 8.14s 8.21s
Emit Time 4.71s (± 0.90%) 4.76s (± 0.24%) +0.06s (+ 1.20%) 4.74s 4.77s
Total Time 17.21s (± 0.33%) 17.31s (± 0.42%) +0.10s (+ 0.56%) 17.18s 17.39s
TFS - node (v14.15.1, x64)
Memory used 304,278k (± 0.00%) 294,581k (± 0.01%) 🟩-9,696k (- 3.19%) 294,542k 294,611k
Parse Time 2.70s (± 0.80%) 2.70s (± 0.88%) +0.00s (+ 0.14%) 2.66s 2.72s
Bind Time 1.08s (± 1.05%) 1.11s (± 0.58%) +0.03s (+ 2.35%) 1.10s 1.12s
Check Time 7.72s (± 0.54%) 7.73s (± 0.50%) +0.01s (+ 0.13%) 7.66s 7.78s
Emit Time 4.61s (± 1.45%) 4.58s (± 0.59%) -0.03s (- 0.60%) 4.56s 4.63s
Total Time 16.10s (± 0.66%) 16.12s (± 0.34%) +0.02s (+ 0.11%) 16.04s 16.19s
material-ui - node (v14.15.1, x64)
Memory used 479,982k (± 0.01%) 471,123k (± 0.00%) -8,860k (- 1.85%) 471,100k 471,158k
Parse Time 3.90s (± 0.59%) 3.87s (± 0.40%) -0.03s (- 0.65%) 3.85s 3.89s
Bind Time 1.04s (± 0.52%) 1.03s (± 0.97%) -0.01s (- 0.89%) 1.02s 1.05s
Check Time 18.94s (± 0.46%) 18.87s (± 0.77%) -0.07s (- 0.36%) 18.66s 19.06s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 23.89s (± 0.39%) 23.78s (± 0.63%) -0.11s (- 0.45%) 23.56s 23.94s
xstate - node (v14.15.1, x64)
Memory used 556,231k (± 0.00%) 531,973k (± 0.01%) 🟩-24,258k (- 4.36%) 531,926k 532,013k
Parse Time 5.11s (± 0.81%) 4.97s (± 0.47%) -0.13s (- 2.60%) 4.94s 5.00s
Bind Time 1.59s (± 0.35%) 1.70s (± 0.72%) +0.11s (+ 6.61%) 1.68s 1.71s
Check Time 2.98s (± 0.84%) 2.99s (± 0.60%) +0.00s (+ 0.13%) 2.95s 3.00s
Emit Time 0.10s (± 0.13%) 0.10s (± 5.05%) +0.00s (+ 3.47%) 0.10s 0.11s
Total Time 9.77s (± 0.60%) 9.76s (± 0.37%) -0.02s (- 0.17%) 9.71s 9.80s
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 52170 6
Baseline main 6

TSServer

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,577ms (± 0.59%) 2,513ms (± 5.63%) -64ms (- 2.49%) 2,229ms 2,612ms
Req 2 - geterr 5,424ms (± 1.05%) 5,286ms (± 5.46%) -138ms (- 2.54%) 4,712ms 5,476ms
Req 3 - references 374ms (± 2.29%) 368ms (± 4.82%) -7ms (- 1.79%) 334ms 386ms
Req 4 - navto 289ms (± 2.02%) 283ms (± 5.30%) -6ms (- 2.02%) 255ms 294ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 301ms (± 3.37%) 129ms (±74.75%) 🟩-172ms (-57.02%) 64ms 277ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,763ms (± 1.26%) 2,691ms (± 1.50%) -72ms (- 2.62%) 2,649ms 2,749ms
Req 2 - geterr 3,974ms (± 0.75%) 3,983ms (± 0.86%) +9ms (+ 0.23%) 3,947ms 4,042ms
Req 3 - references 361ms (± 0.90%) 377ms (± 0.69%) +16ms (+ 4.37%) 372ms 380ms
Req 4 - navto 289ms (± 1.14%) 286ms (± 0.59%) -3ms (- 1.14%) 284ms 288ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 68ms (± 5.09%) 84ms (± 0.40%) +16ms (+22.98%) 83ms 84ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,384ms (± 0.54%) 3,346ms (± 0.46%) -38ms (- 1.11%) 3,322ms 3,365ms
Req 2 - geterr 1,524ms (± 1.59%) 1,384ms (± 0.84%) 🟩-140ms (- 9.20%) 1,361ms 1,393ms
Req 3 - references 103ms (± 3.28%) 248ms (± 2.25%) 🔻+145ms (+140.48%) 242ms 258ms
Req 4 - navto 359ms (± 1.23%) 360ms (± 0.88%) +1ms (+ 0.26%) 357ms 364ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 432ms (± 0.94%) 443ms (± 1.45%) +12ms (+ 2.73%) 438ms 455ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,784ms (± 0.26%) 2,685ms (± 4.92%) 🟩-100ms (- 3.59%) 2,415ms 2,751ms
Req 2 - geterr 6,000ms (± 0.57%) 5,656ms (± 5.12%) 🟩-345ms (- 5.75%) 5,069ms 5,842ms
Req 3 - references 363ms (± 0.46%) 365ms (± 5.54%) +2ms (+ 0.54%) 324ms 376ms
Req 4 - navto 283ms (± 1.32%) 267ms (± 5.37%) 🟩-16ms (- 5.70%) 238ms 275ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 93ms (± 3.89%) 226ms (±49.11%) 🔻+133ms (+143.81%) 77ms 300ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,931ms (± 1.20%) 2,883ms (± 0.51%) -48ms (- 1.63%) 2,866ms 2,907ms
Req 2 - geterr 4,317ms (± 0.40%) 4,330ms (± 0.62%) +13ms (+ 0.30%) 4,285ms 4,362ms
Req 3 - references 378ms (± 0.31%) 388ms (± 0.81%) +10ms (+ 2.51%) 382ms 392ms
Req 4 - navto 300ms (± 0.83%) 294ms (± 0.72%) -7ms (- 2.16%) 291ms 297ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 238ms (±54.24%) 79ms (± 1.07%) 🟩-159ms (-66.68%) 78ms 81ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,751ms (± 0.33%) 3,435ms (± 0.49%) 🟩-316ms (- 8.43%) 3,417ms 3,454ms
Req 2 - geterr 1,460ms (± 1.25%) 1,535ms (± 1.95%) +75ms (+ 5.11%) 1,490ms 1,570ms
Req 3 - references 111ms (± 2.00%) 268ms (± 7.48%) 🔻+157ms (+141.90%) 241ms 282ms
Req 4 - navto 344ms (± 0.28%) 332ms (± 0.21%) 🟩-12ms (- 3.46%) 331ms 333ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 472ms (± 0.85%) 483ms (± 1.39%) +11ms (+ 2.34%) 475ms 491ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,888ms (± 0.57%) 2,863ms (± 0.70%) -25ms (- 0.87%) 2,833ms 2,886ms
Req 2 - geterr 6,151ms (± 1.09%) 6,205ms (± 0.66%) +54ms (+ 0.88%) 6,155ms 6,245ms
Req 3 - references 379ms (± 0.76%) 387ms (± 0.75%) +8ms (+ 2.11%) 384ms 391ms
Req 4 - navto 291ms (± 0.63%) 287ms (± 1.24%) -4ms (- 1.47%) 283ms 291ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 88ms (± 3.85%) 89ms (± 6.76%) +1ms (+ 0.74%) 77ms 92ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,028ms (± 1.03%) 3,015ms (± 0.91%) -13ms (- 0.43%) 2,980ms 3,041ms
Req 2 - geterr 4,573ms (± 0.70%) 4,597ms (± 0.72%) +24ms (+ 0.53%) 4,556ms 4,648ms
Req 3 - references 404ms (± 1.16%) 416ms (± 0.69%) +12ms (+ 2.90%) 412ms 419ms
Req 4 - navto 307ms (± 1.15%) 308ms (± 0.75%) +1ms (+ 0.29%) 305ms 311ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 83ms (± 9.33%) 79ms (± 1.04%) 🟩-5ms (- 5.76%) 78ms 80ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,853ms (± 0.69%) 3,809ms (± 0.48%) -44ms (- 1.14%) 3,789ms 3,834ms
Req 2 - geterr 1,470ms (± 0.93%) 1,466ms (± 0.64%) -3ms (- 0.24%) 1,455ms 1,480ms
Req 3 - references 128ms (± 1.92%) 130ms (± 2.18%) +2ms (+ 1.44%) 126ms 133ms
Req 4 - navto 396ms (± 0.81%) 390ms (± 0.73%) -5ms (- 1.32%) 385ms 394ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 495ms (± 1.66%) 505ms (± 0.79%) +10ms (+ 2.01%) 500ms 511ms
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 52170 6
Baseline main 6

Startup

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 139.65ms (± 0.39%) 139.21ms (± 0.22%) -0.44ms (- 0.31%) 138.16ms 142.22ms
tsserver-startup - node (v16.17.1, x64)
Execution time 229.74ms (± 0.25%) 230.85ms (± 0.23%) +1.11ms (+ 0.48%) 228.82ms 239.29ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 232.41ms (± 0.18%) 233.16ms (± 0.18%) +0.74ms (+ 0.32%) 231.89ms 241.11ms
typescript-startup - node (v16.17.1, x64)
Execution time 214.01ms (± 0.18%) 215.15ms (± 0.24%) +1.14ms (+ 0.53%) 213.40ms 221.88ms
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 52170 6
Baseline main 6

Developer Information:

Download Benchmark

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jan 10, 2023

Heya @rbuckton, I've started to run the perf test suite on this PR at 45ebecf. You can monitor the build here.

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jan 11, 2023

Heya @rbuckton, I've started to run the perf test suite on this PR at 45ebecf. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 372,365k (± 0.01%) 361,151k (± 0.01%) 🟩-11,214k (- 3.01%) 361,105k 361,190k
Parse Time 3.93s (± 1.70%) 3.93s (± 0.64%) -0.01s (- 0.23%) 3.89s 3.95s
Bind Time 1.20s (± 1.13%) 1.21s (± 0.59%) +0.01s (+ 0.63%) 1.20s 1.22s
Check Time 8.66s (± 0.40%) 8.73s (± 0.33%) +0.06s (+ 0.74%) 8.70s 8.77s
Emit Time 7.52s (± 0.35%) 7.50s (± 0.74%) -0.02s (- 0.28%) 7.45s 7.59s
Total Time 21.32s (± 0.48%) 21.36s (± 0.27%) +0.04s (+ 0.19%) 21.27s 21.45s
Compiler-Unions - node (v18.10.0, x64)
Memory used 200,328k (± 1.49%) 193,929k (± 1.54%) 🟩-6,400k (- 3.19%) 191,783k 197,839k
Parse Time 1.65s (± 1.38%) 1.65s (± 0.55%) +0.00s (+ 0.17%) 1.64s 1.67s
Bind Time 0.79s (± 0.52%) 0.80s (± 1.27%) +0.01s (+ 0.92%) 0.78s 0.81s
Check Time 9.52s (± 0.47%) 9.52s (± 0.47%) +0.00s (+ 0.02%) 9.46s 9.60s
Emit Time 2.78s (± 0.99%) 2.87s (± 6.22%) +0.09s (+ 3.27%) 2.72s 3.13s
Total Time 14.74s (± 0.37%) 14.83s (± 1.19%) +0.10s (+ 0.66%) 14.64s 15.06s
Monaco - node (v18.10.0, x64)
Memory used 354,135k (± 0.01%) 345,719k (± 0.01%) -8,416k (- 2.38%) 345,677k 345,740k
Parse Time 2.94s (± 0.67%) 2.92s (± 0.52%) -0.02s (- 0.75%) 2.90s 2.94s
Bind Time 1.04s (± 1.09%) 1.05s (± 0.39%) +0.01s (+ 1.22%) 1.05s 1.06s
Check Time 7.23s (± 0.58%) 7.25s (± 0.81%) +0.02s (+ 0.21%) 7.16s 7.32s
Emit Time 4.31s (± 0.90%) 4.31s (± 0.75%) +0.00s (+ 0.02%) 4.27s 4.35s
Total Time 15.53s (± 0.57%) 15.53s (± 0.56%) +0.01s (+ 0.06%) 15.39s 15.65s
TFS - node (v18.10.0, x64)
Memory used 310,213k (± 0.01%) 300,511k (± 0.00%) 🟩-9,702k (- 3.13%) 300,498k 300,529k
Parse Time 2.28s (± 1.70%) 2.26s (± 0.71%) -0.03s (- 1.20%) 2.24s 2.27s
Bind Time 1.16s (± 1.44%) 1.18s (± 0.62%) +0.02s (+ 1.53%) 1.18s 1.19s
Check Time 6.81s (± 0.49%) 6.81s (± 0.42%) -0.00s (- 0.01%) 6.78s 6.86s
Emit Time 3.92s (± 0.40%) 3.93s (± 0.43%) +0.02s (+ 0.39%) 3.91s 3.95s
Total Time 14.18s (± 0.55%) 14.18s (± 0.26%) -0.00s (- 0.02%) 14.13s 14.22s
material-ui - node (v18.10.0, x64)
Memory used 485,231k (± 0.01%) 476,300k (± 0.01%) -8,932k (- 1.84%) 476,235k 476,402k
Parse Time 3.53s (± 0.43%) 3.52s (± 0.22%) -0.01s (- 0.19%) 3.51s 3.53s
Bind Time 0.96s (± 0.82%) 0.98s (± 0.41%) +0.02s (+ 1.73%) 0.98s 0.99s
Check Time 16.94s (± 0.86%) 16.88s (± 0.54%) -0.06s (- 0.37%) 16.74s 17.01s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.43s (± 0.69%) 21.38s (± 0.46%) -0.05s (- 0.25%) 21.22s 21.50s
xstate - node (v18.10.0, x64)
Memory used 570,282k (± 0.01%) 546,231k (± 0.03%) 🟩-24,051k (- 4.22%) 546,105k 546,540k
Parse Time 4.44s (± 0.53%) 4.38s (± 0.39%) -0.06s (- 1.30%) 4.35s 4.40s
Bind Time 1.70s (± 1.04%) 1.71s (± 1.14%) +0.01s (+ 0.72%) 1.69s 1.74s
Check Time 2.60s (± 1.01%) 2.70s (± 1.12%) +0.10s (+ 3.76%) 2.67s 2.73s
Emit Time 0.08s (± 0.21%) 0.08s (± 0.24%) -0.00s (- 0.07%) 0.08s 0.08s
Total Time 8.82s (± 0.38%) 8.88s (± 0.34%) +0.05s (+ 0.59%) 8.85s 8.92s
Angular - node (v16.17.1, x64)
Memory used 371,720k (± 0.01%) 360,528k (± 0.01%) 🟩-11,192k (- 3.01%) 360,472k 360,606k
Parse Time 4.13s (± 0.42%) 4.14s (± 0.33%) +0.01s (+ 0.20%) 4.11s 4.15s
Bind Time 1.26s (± 0.27%) 1.28s (± 1.14%) +0.02s (+ 1.38%) 1.26s 1.30s
Check Time 9.31s (± 0.54%) 9.42s (± 0.26%) +0.11s (+ 1.23%) 9.38s 9.45s
Emit Time 7.96s (± 0.42%) 7.94s (± 0.44%) -0.03s (- 0.32%) 7.88s 7.97s
Total Time 22.67s (± 0.35%) 22.78s (± 0.23%) +0.11s (+ 0.50%) 22.72s 22.83s
Compiler-Unions - node (v16.17.1, x64)
Memory used 200,510k (± 0.65%) 193,846k (± 0.05%) 🟩-6,664k (- 3.32%) 193,712k 193,966k
Parse Time 1.81s (± 0.48%) 1.81s (± 0.63%) -0.01s (- 0.28%) 1.79s 1.83s
Bind Time 0.85s (± 0.90%) 0.85s (± 0.71%) +0.00s (+ 0.10%) 0.84s 0.86s
Check Time 10.08s (± 0.34%) 10.28s (± 0.29%) +0.20s (+ 1.99%) 10.25s 10.32s
Emit Time 3.02s (± 3.44%) 3.05s (± 1.15%) +0.02s (+ 0.72%) 2.98s 3.08s
Total Time 15.76s (± 0.58%) 15.98s (± 0.38%) +0.22s (+ 1.42%) 15.90s 16.05s
Monaco - node (v16.17.1, x64)
Memory used 353,473k (± 0.01%) 345,092k (± 0.00%) -8,381k (- 2.37%) 345,074k 345,102k
Parse Time 3.16s (± 0.43%) 3.11s (± 1.04%) -0.05s (- 1.61%) 3.07s 3.15s
Bind Time 1.11s (± 1.59%) 1.11s (± 0.91%) -0.00s (- 0.04%) 1.10s 1.13s
Check Time 7.85s (± 0.14%) 7.88s (± 0.24%) +0.03s (+ 0.43%) 7.85s 7.90s
Emit Time 4.47s (± 0.93%) 4.52s (± 0.31%) +0.05s (+ 1.16%) 4.50s 4.54s
Total Time 16.59s (± 0.26%) 16.62s (± 0.19%) +0.03s (+ 0.20%) 16.59s 16.67s
TFS - node (v16.17.1, x64)
Memory used 309,555k (± 0.00%) 299,886k (± 0.01%) 🟩-9,668k (- 3.12%) 299,856k 299,908k
Parse Time 2.67s (± 1.67%) 2.43s (± 1.36%) 🟩-0.24s (- 9.09%) 2.37s 2.45s
Bind Time 1.05s (± 1.43%) 1.27s (± 1.30%) +0.22s (+21.15%) 1.25s 1.29s
Check Time 7.41s (± 0.46%) 7.40s (± 0.34%) -0.00s (- 0.07%) 7.37s 7.44s
Emit Time 4.23s (± 0.23%) 4.24s (± 0.75%) +0.01s (+ 0.33%) 4.20s 4.28s
Total Time 15.35s (± 0.33%) 15.34s (± 0.44%) -0.01s (- 0.06%) 15.23s 15.44s
material-ui - node (v16.17.1, x64)
Memory used 484,500k (± 0.00%) 475,647k (± 0.00%) -8,853k (- 1.83%) 475,633k 475,670k
Parse Time 3.68s (± 0.47%) 3.66s (± 0.26%) -0.03s (- 0.71%) 3.65s 3.67s
Bind Time 1.01s (± 0.88%) 1.02s (± 0.20%) +0.00s (+ 0.46%) 1.01s 1.02s
Check Time 17.91s (± 0.33%) 17.88s (± 0.53%) -0.03s (- 0.18%) 17.72s 17.96s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.61s (± 0.30%) 22.55s (± 0.43%) -0.06s (- 0.25%) 22.38s 22.64s
xstate - node (v16.17.1, x64)
Memory used 567,905k (± 0.01%) 543,943k (± 0.02%) 🟩-23,962k (- 4.22%) 543,788k 544,071k
Parse Time 4.77s (± 0.62%) 4.55s (± 0.29%) 🟩-0.22s (- 4.55%) 4.54s 4.57s
Bind Time 1.65s (± 0.79%) 1.79s (± 0.39%) +0.14s (+ 8.43%) 1.79s 1.80s
Check Time 2.83s (± 0.32%) 2.92s (± 0.29%) +0.09s (+ 3.14%) 2.91s 2.93s
Emit Time 0.08s (± 6.32%) 0.08s (± 6.41%) +0.00s (+ 1.79%) 0.08s 0.09s
Total Time 9.35s (± 0.45%) 9.36s (± 0.26%) +0.01s (+ 0.16%) 9.33s 9.39s
Angular - node (v14.15.1, x64)
Memory used 365,414k (± 0.01%) 354,205k (± 0.00%) 🟩-11,209k (- 3.07%) 354,190k 354,225k
Parse Time 4.16s (± 0.52%) 4.16s (± 0.74%) +0.00s (+ 0.09%) 4.13s 4.20s
Bind Time 1.30s (± 0.34%) 1.30s (± 0.42%) -0.00s (- 0.29%) 1.29s 1.30s
Check Time 9.66s (± 0.37%) 9.73s (± 0.51%) +0.07s (+ 0.72%) 9.69s 9.82s
Emit Time 8.22s (± 0.28%) 8.27s (± 0.83%) +0.05s (+ 0.57%) 8.20s 8.38s
Total Time 23.34s (± 0.19%) 23.46s (± 0.45%) +0.12s (+ 0.50%) 23.38s 23.63s
Compiler-Unions - node (v14.15.1, x64)
Memory used 195,777k (± 0.70%) 189,515k (± 0.69%) 🟩-6,262k (- 3.20%) 188,942k 192,191k
Parse Time 1.85s (± 0.64%) 1.83s (± 0.56%) -0.02s (- 1.18%) 1.82s 1.85s
Bind Time 0.88s (± 0.87%) 0.88s (± 0.46%) +0.00s (+ 0.09%) 0.87s 0.88s
Check Time 10.12s (± 0.66%) 10.32s (± 0.76%) +0.20s (+ 1.95%) 10.21s 10.43s
Emit Time 3.14s (± 1.35%) 3.15s (± 1.40%) +0.01s (+ 0.38%) 3.11s 3.22s
Total Time 15.99s (± 0.59%) 16.17s (± 0.76%) +0.19s (+ 1.16%) 16.05s 16.36s
Monaco - node (v14.15.1, x64)
Memory used 348,291k (± 0.01%) 339,847k (± 0.01%) -8,444k (- 2.42%) 339,814k 339,874k
Parse Time 3.25s (± 0.89%) 3.26s (± 0.90%) +0.01s (+ 0.24%) 3.22s 3.29s
Bind Time 1.12s (± 0.36%) 1.13s (± 0.42%) +0.02s (+ 1.72%) 1.13s 1.14s
Check Time 8.17s (± 0.58%) 8.14s (± 0.49%) -0.03s (- 0.35%) 8.09s 8.19s
Emit Time 4.71s (± 1.59%) 4.75s (± 0.44%) +0.05s (+ 0.99%) 4.73s 4.79s
Total Time 17.25s (± 0.52%) 17.29s (± 0.31%) +0.05s (+ 0.27%) 17.24s 17.37s
TFS - node (v14.15.1, x64)
Memory used 304,463k (± 0.00%) 294,781k (± 0.01%) 🟩-9,682k (- 3.18%) 294,742k 294,812k
Parse Time 2.74s (± 1.34%) 2.69s (± 1.17%) -0.05s (- 1.71%) 2.64s 2.73s
Bind Time 1.09s (± 0.71%) 1.11s (± 1.07%) +0.02s (+ 1.39%) 1.10s 1.13s
Check Time 7.73s (± 0.47%) 7.72s (± 0.40%) -0.01s (- 0.13%) 7.69s 7.76s
Emit Time 4.61s (± 0.68%) 4.60s (± 0.84%) -0.02s (- 0.39%) 4.56s 4.67s
Total Time 16.18s (± 0.45%) 16.12s (± 0.26%) -0.06s (- 0.36%) 16.07s 16.19s
material-ui - node (v14.15.1, x64)
Memory used 479,971k (± 0.00%) 471,132k (± 0.00%) -8,839k (- 1.84%) 471,105k 471,161k
Parse Time 3.91s (± 0.79%) 3.84s (± 0.45%) -0.07s (- 1.79%) 3.81s 3.86s
Bind Time 1.05s (± 0.55%) 1.03s (± 0.53%) -0.02s (- 1.55%) 1.02s 1.04s
Check Time 18.99s (± 0.70%) 18.83s (± 0.61%) -0.16s (- 0.82%) 18.69s 19.00s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 23.95s (± 0.48%) 23.71s (± 0.49%) -0.24s (- 1.01%) 23.58s 23.88s
xstate - node (v14.15.1, x64)
Memory used 556,303k (± 0.00%) 532,042k (± 0.00%) 🟩-24,261k (- 4.36%) 532,022k 532,055k
Parse Time 5.11s (± 0.38%) 4.97s (± 0.30%) -0.14s (- 2.83%) 4.95s 4.99s
Bind Time 1.59s (± 0.64%) 1.65s (± 0.47%) +0.06s (+ 3.84%) 1.64s 1.66s
Check Time 2.98s (± 0.60%) 3.07s (± 0.75%) +0.09s (+ 2.93%) 3.04s 3.09s
Emit Time 0.10s (± 0.16%) 0.10s (± 0.10%) -0.00s (- 0.13%) 0.10s 0.10s
Total Time 9.78s (± 0.17%) 9.78s (± 0.25%) +0.00s (+ 0.04%) 9.76s 9.83s
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 52170 6
Baseline main 6

TSServer

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,539ms (± 1.45%) 2,487ms (± 5.97%) -52ms (- 2.03%) 2,186ms 2,573ms
Req 2 - geterr 5,358ms (± 0.78%) 5,264ms (± 5.66%) -94ms (- 1.75%) 4,661ms 5,458ms
Req 3 - references 373ms (± 1.14%) 373ms (± 5.63%) -1ms (- 0.14%) 331ms 385ms
Req 4 - navto 280ms (± 0.70%) 279ms (± 6.70%) -0ms (- 0.07%) 242ms 291ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 310ms (± 2.31%) 101ms (±82.11%) 🟩-209ms (-67.52%) 64ms 269ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,766ms (± 1.22%) 2,670ms (± 2.00%) 🟩-96ms (- 3.47%) 2,581ms 2,729ms
Req 2 - geterr 3,957ms (± 0.54%) 3,978ms (± 0.47%) +21ms (+ 0.53%) 3,960ms 4,010ms
Req 3 - references 360ms (± 1.19%) 374ms (± 0.48%) +14ms (+ 3.95%) 371ms 376ms
Req 4 - navto 296ms (± 0.76%) 290ms (± 0.59%) -6ms (- 1.99%) 288ms 293ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 66ms (± 1.43%) 83ms (± 2.48%) +17ms (+24.99%) 79ms 84ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,392ms (± 0.39%) 3,349ms (± 0.63%) -43ms (- 1.26%) 3,311ms 3,370ms
Req 2 - geterr 1,534ms (± 1.06%) 1,392ms (± 1.07%) 🟩-142ms (- 9.29%) 1,372ms 1,410ms
Req 3 - references 105ms (± 3.17%) 248ms (± 1.39%) 🔻+143ms (+136.79%) 242ms 251ms
Req 4 - navto 359ms (± 0.98%) 359ms (± 0.74%) -0ms (- 0.04%) 354ms 361ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 428ms (± 1.78%) 444ms (± 2.38%) +16ms (+ 3.69%) 426ms 459ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,776ms (± 0.68%) 2,746ms (± 0.52%) -31ms (- 1.11%) 2,719ms 2,759ms
Req 2 - geterr 5,896ms (± 2.02%) 5,782ms (± 0.93%) -114ms (- 1.93%) 5,724ms 5,877ms
Req 3 - references 362ms (± 0.62%) 375ms (± 0.42%) +13ms (+ 3.71%) 373ms 378ms
Req 4 - navto 281ms (± 1.94%) 272ms (± 0.52%) 🟩-9ms (- 3.16%) 271ms 275ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 164ms (±72.41%) 299ms (± 1.17%) 🔻+134ms (+81.83%) 293ms 303ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,923ms (± 0.65%) 2,855ms (± 0.57%) -67ms (- 2.31%) 2,842ms 2,884ms
Req 2 - geterr 4,284ms (± 0.77%) 4,288ms (± 0.46%) +5ms (+ 0.11%) 4,257ms 4,307ms
Req 3 - references 376ms (± 0.65%) 389ms (± 0.56%) +13ms (+ 3.43%) 386ms 392ms
Req 4 - navto 304ms (± 0.47%) 298ms (± 0.60%) -5ms (- 1.78%) 297ms 301ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 313ms (± 0.82%) 79ms (± 1.43%) 🟩-234ms (-74.65%) 78ms 81ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,768ms (± 0.54%) 3,469ms (± 0.52%) 🟩-299ms (- 7.93%) 3,457ms 3,503ms
Req 2 - geterr 1,465ms (± 1.20%) 1,710ms (± 1.17%) +245ms (+16.75%) 1,683ms 1,735ms
Req 3 - references 111ms (± 0.86%) 109ms (± 1.44%) -1ms (- 1.18%) 107ms 111ms
Req 4 - navto 346ms (± 1.57%) 341ms (± 2.01%) -5ms (- 1.46%) 335ms 354ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 478ms (± 1.99%) 478ms (± 1.93%) +0ms (+ 0.10%) 468ms 490ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,729ms (± 8.26%) 2,845ms (± 0.41%) +116ms (+ 4.26%) 2,826ms 2,858ms
Req 2 - geterr 5,823ms (± 8.36%) 6,202ms (± 0.94%) +379ms (+ 6.51%) 6,139ms 6,309ms
Req 3 - references 358ms (± 8.32%) 388ms (± 1.44%) +30ms (+ 8.44%) 382ms 397ms
Req 4 - navto 276ms (± 7.84%) 287ms (± 0.69%) +11ms (+ 3.97%) 283ms 289ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 159ms (±69.64%) 83ms (± 9.80%) 🟩-76ms (-47.85%) 75ms 91ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,764ms (±21.67%) 3,008ms (± 1.09%) +244ms (+ 8.84%) 2,984ms 3,071ms
Req 2 - geterr 4,188ms (±21.64%) 4,589ms (± 0.66%) +401ms (+ 9.58%) 4,554ms 4,634ms
Req 3 - references 371ms (±21.86%) 410ms (± 1.05%) +39ms (+10.61%) 404ms 415ms
Req 4 - navto 282ms (±22.15%) 306ms (± 0.86%) +23ms (+ 8.24%) 302ms 309ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 73ms (±17.85%) 78ms (± 0.73%) +5ms (+ 7.28%) 77ms 79ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,866ms (± 0.43%) 3,795ms (± 0.65%) -71ms (- 1.84%) 3,752ms 3,822ms
Req 2 - geterr 1,459ms (± 0.55%) 1,478ms (± 0.74%) +18ms (+ 1.26%) 1,463ms 1,486ms
Req 3 - references 127ms (± 2.06%) 131ms (± 0.57%) +4ms (+ 3.26%) 129ms 131ms
Req 4 - navto 396ms (± 0.87%) 399ms (± 1.84%) +3ms (+ 0.69%) 387ms 408ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 498ms (± 1.39%) 497ms (± 1.05%) -1ms (- 0.13%) 492ms 505ms
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 52170 6
Baseline main 6

Startup

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 139.17ms (± 0.18%) 139.65ms (± 0.22%) +0.48ms (+ 0.35%) 138.45ms 144.85ms
tsserver-startup - node (v16.17.1, x64)
Execution time 230.84ms (± 0.16%) 232.05ms (± 0.18%) +1.21ms (+ 0.52%) 230.74ms 239.63ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 233.23ms (± 0.22%) 233.84ms (± 0.19%) +0.61ms (+ 0.26%) 232.45ms 241.11ms
typescript-startup - node (v16.17.1, x64)
Execution time 214.84ms (± 0.17%) 215.73ms (± 0.21%) +0.89ms (+ 0.41%) 214.10ms 219.59ms
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 52170 6
Baseline main 6

Developer Information:

Download Benchmark

@rbuckton rbuckton marked this pull request as ready for review January 11, 2023 23:02
@rbuckton
Copy link
Member Author

@DanielRosenwasser, this is missing a few changes from #51497. Let me know if you want me to merge those changes in or if what I put together is acceptable.

@rbuckton
Copy link
Member Author

rbuckton commented Jan 11, 2023

I'm not entirely sure why some of the tsserver benchmarks are so wildly different. I'll need to look into why the references test for xstate and the completioninfo test for Compiler-Unions had such a regression, given that this change improves performance in a number of other tsserver tests.

We are measuring in ms in these cases. Given the scale I'm not sure how sensitive these tests are to minor changes.

* If the text of an Identifier matches a keyword (including contextual and TypeScript-specific keywords), returns the
* SyntaxKind for the matching keyword.
*/
export function idKeyword(node: Identifier) {
Copy link
Member

Choose a reason for hiding this comment

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

I would prefer we call this identifierToKeywordKind or something like that.

Copy link
Member Author

Choose a reason for hiding this comment

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

Sure. I just named it that way to match idText so that they would be sorted together in completions. The FP-like design of the compiler generally lends itself to using common prefixes to group related functionality together.

Copy link
Member Author

Choose a reason for hiding this comment

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

I may just use a more general name like identifierToToken, since we don't necessarily validate identifier text, nor do we check that the result is limited to only keyword tokens.

@DanielRosenwasser
Copy link
Member

Could you summarize on which changes from #51497 are missing here? From a glance it seems like you have them all and more, but I'm not sure.

Comment on lines +3457 to +3458
// The entity is part of a JSDoc-style generic. We will use the gap between `typeName` and
// `typeArguments` to report it as a grammar error in the checker.
Copy link
Member

Choose a reason for hiding this comment

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

Why can't we just report it here?

Copy link
Member Author

Choose a reason for hiding this comment

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

If we report it here, it goes into parseDiagnostics, and that turns off a bunch of other checking in checker.ts. In general I'd prefer if we moved a lot of the grammar checks to parser.ts so that we can free up space on a number of nodes, but that might impact incremental parse. I've opted to push off any grammar-check related changes to a separate investigation.

Comment on lines 1688 to 1691
/** @deprecated Use `idKeyword(identifier)` instead. */
readonly originalKeywordKind?: SyntaxKind; // Original syntaxKind which get set so that we can report an error later
/** @deprecated Use `identifier.flags & NodeFlags.IdentifierIsInJSDocNamespace` instead. */
readonly isInJSDocNamespace?: boolean; // if the node is a member in a JSDoc namespace.
Copy link
Member

Choose a reason for hiding this comment

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

Should these be moved to deprecatedCompat and not used within our codebase?

Comment on lines 7338 to 7350
Object.defineProperties(Identifier.prototype, {
originalKeywordKind: {
get(this: Identifier) {
return stringToToken(this.escapedText as string);
}
},
isInJSDocNamespace: {
get(this: Identifier) {
// NOTE: Returns `true` or `undefined` to match previous possible values.
return this.flags & NodeFlags.IdentifierIsInJSDocNamespace ? true : undefined;
}
}
});
Copy link
Member

Choose a reason for hiding this comment

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

Should this be here in this project versus deprecatedCompat?

@@ -1008,7 +1016,6 @@ export type ForEachChildNodes =
/** @internal */
export type VisitEachChildNodes =
Copy link
Member

Choose a reason for hiding this comment

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

could we just replace this type with HasChildren now?

Copy link
Member

Choose a reason for hiding this comment

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

This was resolved without comment; do we still need this type? (I don't care either way, I was just interested in the rationale to leave it.)

Copy link
Member Author

Choose a reason for hiding this comment

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

Oops, removed the reference, forgot to remove the type.

Copy link
Member

@sandersn sandersn left a comment

Choose a reason for hiding this comment

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

Looks good. Only question I have is where to put the deprecated originalKeywordKind and isInJSDocNamespace properties.

@rbuckton
Copy link
Member Author

Looks good. Only question I have is where to put the deprecated originalKeywordKind and isInJSDocNamespace properties.

They're defined in deprecatedCompat, though I can probably move the field definitions there as well.

@rbuckton
Copy link
Member Author

Could you summarize on which changes from #51497 are missing here? From a glance it seems like you have them all and more, but I'm not sure.

In your PR you dropped isIdentifierANonContextualKeyword from compiler/utilities.ts, which I haven't yet done here. I'll have to look more closely to determine if there's anything else.

Copy link
Member

@jakebailey jakebailey left a comment

Choose a reason for hiding this comment

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

LGTM with comments.

Do we need to re-perf-test just to make sure that the leftover duplicate prototype modification in the compiler project doesn't matter?

I'm not entirely sure why some of the tsserver benchmarks are so wildly different. I'll need to look into why the references test for xstate and the completioninfo test for Compiler-Unions had such a regression, given that this change improves performance in a number of other tsserver tests.

I'm looking into this one; I think this is new after my tuning changes. The bi-modal-ness of the data to me seems to imply that tsserver is somehow managing to do some work on the wrong processor even though that should be impossible.

src/compiler/factory/nodeFactory.ts Show resolved Hide resolved
@@ -1008,7 +1016,6 @@ export type ForEachChildNodes =
/** @internal */
export type VisitEachChildNodes =
Copy link
Member

Choose a reason for hiding this comment

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

This was resolved without comment; do we still need this type? (I don't care either way, I was just interested in the rationale to leave it.)

src/harness/harnessUtils.ts Outdated Show resolved Hide resolved
tests/baselines/reference/api/tsserverlibrary.d.ts Outdated Show resolved Hide resolved
src/compiler/utilitiesPublic.ts Outdated Show resolved Hide resolved
@jakebailey
Copy link
Member

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jan 12, 2023

Heya @jakebailey, I've started to run the perf test suite on this PR at 85e5453. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 372,387k (± 0.01%) 361,134k (± 0.01%) 🟩-11,252k (- 3.02%) 361,086k 361,179k
Parse Time 3.94s (± 0.52%) 3.95s (± 0.80%) +0.01s (+ 0.18%) 3.90s 3.98s
Bind Time 1.20s (± 0.55%) 1.20s (± 0.50%) +0.01s (+ 0.52%) 1.20s 1.21s
Check Time 8.64s (± 0.85%) 8.73s (± 0.67%) +0.09s (+ 1.02%) 8.68s 8.84s
Emit Time 7.57s (± 0.76%) 7.49s (± 0.67%) -0.08s (- 1.07%) 7.43s 7.57s
Total Time 21.35s (± 0.66%) 21.38s (± 0.47%) +0.02s (+ 0.11%) 21.24s 21.54s
Compiler-Unions - node (v18.10.0, x64)
Memory used 202,185k (± 1.43%) 194,948k (± 1.62%) 🟩-7,237k (- 3.58%) 191,866k 197,969k
Parse Time 1.64s (± 1.29%) 1.65s (± 0.50%) +0.01s (+ 0.53%) 1.64s 1.66s
Bind Time 0.79s (± 0.62%) 0.80s (± 0.39%) +0.01s (+ 1.50%) 0.80s 0.81s
Check Time 9.48s (± 0.98%) 9.57s (± 0.83%) +0.09s (+ 0.93%) 9.49s 9.71s
Emit Time 2.76s (± 0.97%) 2.87s (± 5.23%) +0.10s (+ 3.72%) 2.74s 3.06s
Total Time 14.68s (± 0.88%) 14.88s (± 1.05%) +0.21s (+ 1.41%) 14.71s 15.12s
Monaco - node (v18.10.0, x64)
Memory used 354,152k (± 0.01%) 345,688k (± 0.01%) -8,464k (- 2.39%) 345,658k 345,722k
Parse Time 2.93s (± 0.89%) 2.90s (± 0.84%) -0.03s (- 0.98%) 2.85s 2.92s
Bind Time 1.05s (± 0.67%) 1.06s (± 0.47%) +0.01s (+ 0.89%) 1.05s 1.06s
Check Time 7.22s (± 0.50%) 7.24s (± 0.39%) +0.02s (+ 0.26%) 7.20s 7.28s
Emit Time 4.28s (± 0.39%) 4.28s (± 0.27%) -0.00s (- 0.02%) 4.27s 4.30s
Total Time 15.48s (± 0.32%) 15.48s (± 0.20%) -0.01s (- 0.04%) 15.43s 15.51s
TFS - node (v18.10.0, x64)
Memory used 310,195k (± 0.01%) 300,535k (± 0.01%) 🟩-9,660k (- 3.11%) 300,504k 300,576k
Parse Time 2.26s (± 0.92%) 2.24s (± 1.04%) -0.02s (- 1.04%) 2.21s 2.28s
Bind Time 1.15s (± 1.61%) 1.18s (± 0.89%) +0.03s (+ 2.66%) 1.17s 1.20s
Check Time 6.85s (± 0.77%) 6.82s (± 0.45%) -0.03s (- 0.44%) 6.79s 6.88s
Emit Time 3.93s (± 0.37%) 3.94s (± 0.86%) +0.01s (+ 0.32%) 3.90s 3.98s
Total Time 14.19s (± 0.55%) 14.18s (± 0.24%) -0.01s (- 0.05%) 14.12s 14.22s
material-ui - node (v18.10.0, x64)
Memory used 485,277k (± 0.02%) 476,356k (± 0.02%) -8,921k (- 1.84%) 476,277k 476,514k
Parse Time 3.53s (± 0.34%) 3.52s (± 0.52%) -0.01s (- 0.31%) 3.49s 3.54s
Bind Time 0.97s (± 0.67%) 0.97s (± 0.53%) +0.01s (+ 0.85%) 0.97s 0.98s
Check Time 16.96s (± 0.37%) 16.92s (± 0.40%) -0.03s (- 0.20%) 16.84s 17.02s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.45s (± 0.27%) 21.41s (± 0.39%) -0.04s (- 0.17%) 21.30s 21.54s
xstate - node (v18.10.0, x64)
Memory used 570,353k (± 0.02%) 546,170k (± 0.00%) 🟩-24,182k (- 4.24%) 546,146k 546,209k
Parse Time 4.44s (± 0.76%) 4.37s (± 0.62%) -0.07s (- 1.61%) 4.32s 4.40s
Bind Time 1.70s (± 0.47%) 1.70s (± 1.17%) -0.00s (- 0.26%) 1.67s 1.72s
Check Time 2.60s (± 0.51%) 2.71s (± 0.97%) +0.11s (+ 4.37%) 2.68s 2.75s
Emit Time 0.08s (± 0.18%) 0.08s (± 0.15%) +0.00s (+ 0.03%) 0.08s 0.08s
Total Time 8.83s (± 0.40%) 8.86s (± 0.55%) +0.03s (+ 0.33%) 8.80s 8.95s
Angular - node (v16.17.1, x64)
Memory used 371,763k (± 0.01%) 360,550k (± 0.01%) 🟩-11,213k (- 3.02%) 360,511k 360,597k
Parse Time 4.11s (± 0.58%) 4.14s (± 0.51%) +0.04s (+ 0.87%) 4.12s 4.18s
Bind Time 1.26s (± 0.61%) 1.27s (± 0.46%) +0.01s (+ 1.03%) 1.26s 1.28s
Check Time 9.31s (± 0.72%) 9.43s (± 0.17%) +0.12s (+ 1.30%) 9.40s 9.45s
Emit Time 7.99s (± 0.45%) 7.96s (± 0.42%) -0.03s (- 0.38%) 7.92s 8.00s
Total Time 22.66s (± 0.29%) 22.80s (± 0.13%) +0.14s (+ 0.61%) 22.77s 22.85s
Compiler-Unions - node (v16.17.1, x64)
Memory used 200,547k (± 0.66%) 194,937k (± 0.90%) -5,610k (- 2.80%) 193,625k 197,222k
Parse Time 1.81s (± 0.50%) 1.79s (± 1.35%) -0.02s (- 0.96%) 1.75s 1.82s
Bind Time 0.84s (± 0.67%) 0.85s (± 0.14%) +0.00s (+ 0.35%) 0.85s 0.85s
Check Time 10.10s (± 0.66%) 10.29s (± 0.50%) +0.19s (+ 1.86%) 10.22s 10.35s
Emit Time 2.97s (± 0.99%) 3.07s (± 3.98%) +0.10s (+ 3.54%) 3.00s 3.32s
Total Time 15.72s (± 0.49%) 16.00s (± 0.87%) +0.28s (+ 1.79%) 15.83s 16.24s
Monaco - node (v16.17.1, x64)
Memory used 353,472k (± 0.01%) 345,099k (± 0.01%) -8,373k (- 2.37%) 345,058k 345,130k
Parse Time 3.17s (± 1.10%) 3.08s (± 0.41%) -0.08s (- 2.68%) 3.07s 3.10s
Bind Time 1.12s (± 1.48%) 1.12s (± 0.28%) -0.00s (- 0.00%) 1.11s 1.12s
Check Time 7.85s (± 0.25%) 7.85s (± 0.30%) +0.00s (+ 0.02%) 7.82s 7.89s
Emit Time 4.50s (± 0.91%) 4.52s (± 0.62%) +0.02s (+ 0.37%) 4.48s 4.56s
Total Time 16.63s (± 0.46%) 16.56s (± 0.22%) -0.06s (- 0.38%) 16.51s 16.61s
TFS - node (v16.17.1, x64)
Memory used 309,554k (± 0.01%) 299,894k (± 0.00%) 🟩-9,659k (- 3.12%) 299,874k 299,913k
Parse Time 2.62s (± 3.19%) 2.43s (± 0.97%) 🟩-0.19s (- 7.20%) 2.40s 2.46s
Bind Time 1.08s (± 8.18%) 1.26s (± 0.96%) +0.18s (+16.57%) 1.23s 1.27s
Check Time 7.41s (± 0.41%) 7.41s (± 0.56%) +0.00s (+ 0.05%) 7.38s 7.49s
Emit Time 4.24s (± 0.40%) 4.24s (± 0.52%) +0.00s (+ 0.02%) 4.20s 4.27s
Total Time 15.34s (± 0.44%) 15.34s (± 0.54%) +0.00s (+ 0.00%) 15.27s 15.49s
material-ui - node (v16.17.1, x64)
Memory used 484,515k (± 0.01%) 475,649k (± 0.00%) -8,866k (- 1.83%) 475,621k 475,676k
Parse Time 3.67s (± 0.23%) 3.66s (± 0.36%) -0.02s (- 0.43%) 3.64s 3.68s
Bind Time 1.01s (± 0.62%) 1.02s (± 0.31%) +0.00s (+ 0.42%) 1.02s 1.02s
Check Time 17.98s (± 0.34%) 17.92s (± 0.58%) -0.07s (- 0.38%) 17.81s 18.11s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.67s (± 0.30%) 22.59s (± 0.47%) -0.08s (- 0.36%) 22.47s 22.78s
xstate - node (v16.17.1, x64)
Memory used 567,962k (± 0.01%) 543,891k (± 0.03%) 🟩-24,071k (- 4.24%) 543,793k 544,244k
Parse Time 4.76s (± 0.29%) 4.55s (± 0.21%) 🟩-0.21s (- 4.43%) 4.54s 4.56s
Bind Time 1.65s (± 0.35%) 1.79s (± 0.52%) +0.14s (+ 8.73%) 1.78s 1.80s
Check Time 2.84s (± 0.46%) 2.92s (± 0.44%) +0.08s (+ 2.95%) 2.91s 2.94s
Emit Time 0.09s (± 5.93%) 0.08s (± 4.98%) 🟩-0.01s (- 5.80%) 0.08s 0.09s
Total Time 9.34s (± 0.20%) 9.35s (± 0.18%) +0.01s (+ 0.13%) 9.33s 9.38s
Angular - node (v14.15.1, x64)
Memory used 365,420k (± 0.00%) 354,211k (± 0.00%) 🟩-11,209k (- 3.07%) 354,204k 354,228k
Parse Time 4.15s (± 0.32%) 4.17s (± 0.54%) +0.02s (+ 0.50%) 4.13s 4.20s
Bind Time 1.30s (± 0.51%) 1.29s (± 0.49%) -0.01s (- 1.05%) 1.28s 1.29s
Check Time 9.67s (± 0.35%) 9.72s (± 0.27%) +0.05s (+ 0.53%) 9.69s 9.76s
Emit Time 8.23s (± 0.60%) 8.22s (± 0.34%) -0.01s (- 0.14%) 8.18s 8.26s
Total Time 23.35s (± 0.34%) 23.39s (± 0.21%) +0.05s (+ 0.20%) 23.32s 23.45s
Compiler-Unions - node (v14.15.1, x64)
Memory used 195,761k (± 0.70%) 189,550k (± 0.69%) 🟩-6,212k (- 3.17%) 188,987k 192,220k
Parse Time 1.86s (± 0.61%) 1.83s (± 0.84%) -0.03s (- 1.73%) 1.81s 1.85s
Bind Time 0.87s (± 0.99%) 0.87s (± 0.66%) +0.00s (+ 0.16%) 0.87s 0.88s
Check Time 10.12s (± 0.71%) 10.28s (± 0.65%) +0.16s (+ 1.56%) 10.19s 10.38s
Emit Time 3.13s (± 1.17%) 3.16s (± 0.56%) +0.04s (+ 1.13%) 3.14s 3.19s
Total Time 15.99s (± 0.54%) 16.15s (± 0.51%) +0.16s (+ 1.02%) 16.07s 16.30s
Monaco - node (v14.15.1, x64)
Memory used 348,299k (± 0.00%) 339,859k (± 0.01%) -8,440k (- 2.42%) 339,837k 339,894k
Parse Time 3.27s (± 0.98%) 3.23s (± 1.05%) -0.04s (- 1.18%) 3.18s 3.28s
Bind Time 1.13s (± 1.34%) 1.13s (± 0.82%) +0.00s (+ 0.23%) 1.13s 1.15s
Check Time 8.14s (± 0.47%) 8.20s (± 0.24%) +0.06s (+ 0.77%) 8.16s 8.22s
Emit Time 4.74s (± 0.89%) 4.77s (± 0.39%) +0.03s (+ 0.60%) 4.73s 4.78s
Total Time 17.28s (± 0.24%) 17.33s (± 0.36%) +0.05s (+ 0.30%) 17.23s 17.41s
TFS - node (v14.15.1, x64)
Memory used 304,471k (± 0.01%) 294,773k (± 0.00%) 🟩-9,698k (- 3.19%) 294,763k 294,787k
Parse Time 2.74s (± 1.42%) 2.70s (± 1.22%) -0.04s (- 1.52%) 2.65s 2.73s
Bind Time 1.10s (± 0.61%) 1.10s (± 0.71%) +0.01s (+ 0.54%) 1.09s 1.11s
Check Time 7.74s (± 0.76%) 7.70s (± 0.65%) -0.04s (- 0.56%) 7.63s 7.79s
Emit Time 4.59s (± 1.42%) 4.57s (± 0.76%) -0.02s (- 0.46%) 4.54s 4.63s
Total Time 16.17s (± 0.72%) 16.07s (± 0.46%) -0.10s (- 0.61%) 15.99s 16.19s
material-ui - node (v14.15.1, x64)
Memory used 479,973k (± 0.00%) 471,132k (± 0.00%) -8,840k (- 1.84%) 471,113k 471,154k
Parse Time 3.89s (± 0.69%) 3.81s (± 0.33%) -0.08s (- 2.14%) 3.80s 3.83s
Bind Time 1.05s (± 0.80%) 1.03s (± 0.50%) -0.02s (- 2.02%) 1.02s 1.04s
Check Time 19.01s (± 0.85%) 18.87s (± 0.37%) -0.14s (- 0.74%) 18.76s 18.96s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 23.96s (± 0.67%) 23.71s (± 0.27%) -0.25s (- 1.03%) 23.61s 23.79s
xstate - node (v14.15.1, x64)
Memory used 556,344k (± 0.00%) 532,040k (± 0.00%) 🟩-24,304k (- 4.37%) 532,019k 532,075k
Parse Time 5.16s (± 0.76%) 4.99s (± 0.48%) 🟩-0.17s (- 3.28%) 4.96s 5.02s
Bind Time 1.59s (± 0.31%) 1.65s (± 0.64%) +0.06s (+ 3.97%) 1.64s 1.67s
Check Time 3.00s (± 0.78%) 3.07s (± 0.35%) +0.08s (+ 2.59%) 3.06s 3.09s
Emit Time 0.10s (± 0.15%) 0.10s (± 0.10%) +0.00s (+ 0.10%) 0.10s 0.10s
Total Time 9.84s (± 0.44%) 9.82s (± 0.29%) -0.03s (- 0.26%) 9.78s 9.86s
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 52170 6
Baseline main 6

TSServer

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,561ms (± 0.56%) 2,476ms (± 5.82%) 🟩-86ms (- 3.34%) 2,191ms 2,607ms
Req 2 - geterr 5,362ms (± 0.59%) 5,301ms (± 5.55%) -61ms (- 1.14%) 4,707ms 5,508ms
Req 3 - references 373ms (± 1.48%) 368ms (± 5.47%) -4ms (- 1.14%) 328ms 383ms
Req 4 - navto 281ms (± 1.59%) 280ms (± 6.77%) -1ms (- 0.24%) 243ms 294ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 304ms (± 2.03%) 164ms (±66.67%) 🟩-140ms (-45.93%) 62ms 280ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,317ms (±30.42%) 2,664ms (± 1.04%) +347ms (+15.00%) 2,630ms 2,705ms
Req 2 - geterr 3,332ms (±30.48%) 3,962ms (± 0.34%) +629ms (+18.89%) 3,941ms 3,980ms
Req 3 - references 303ms (±30.94%) 376ms (± 0.64%) +73ms (+24.15%) 372ms 379ms
Req 4 - navto 248ms (±29.96%) 289ms (± 0.41%) +41ms (+16.67%) 287ms 291ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 58ms (±32.29%) 82ms (± 2.46%) 🔻+24ms (+41.92%) 78ms 83ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,379ms (± 0.31%) 3,374ms (± 0.54%) -5ms (- 0.16%) 3,347ms 3,394ms
Req 2 - geterr 1,544ms (± 1.10%) 1,395ms (± 0.81%) 🟩-149ms (- 9.67%) 1,381ms 1,409ms
Req 3 - references 103ms (± 2.78%) 250ms (± 0.67%) 🔻+146ms (+142.06%) 246ms 251ms
Req 4 - navto 358ms (± 1.19%) 359ms (± 0.52%) +1ms (+ 0.41%) 357ms 362ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 430ms (± 1.64%) 441ms (± 2.02%) +11ms (+ 2.61%) 427ms 453ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,721ms (± 6.10%) 2,750ms (± 0.55%) +29ms (+ 1.08%) 2,728ms 2,774ms
Req 2 - geterr 5,796ms (± 6.17%) 5,784ms (± 0.58%) -12ms (- 0.20%) 5,735ms 5,820ms
Req 3 - references 354ms (± 6.75%) 375ms (± 0.50%) +21ms (+ 5.86%) 372ms 377ms
Req 4 - navto 274ms (± 6.21%) 272ms (± 0.17%) -1ms (- 0.53%) 271ms 273ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 86ms (± 7.46%) 301ms (± 1.60%) 🔻+215ms (+249.60%) 296ms 306ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,927ms (± 0.58%) 2,864ms (± 0.40%) -63ms (- 2.14%) 2,852ms 2,885ms
Req 2 - geterr 4,308ms (± 0.32%) 4,317ms (± 0.58%) +9ms (+ 0.20%) 4,280ms 4,342ms
Req 3 - references 376ms (± 0.39%) 388ms (± 0.80%) +12ms (+ 3.15%) 382ms 391ms
Req 4 - navto 305ms (± 0.34%) 299ms (± 0.64%) -6ms (- 2.03%) 297ms 302ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 275ms (±35.32%) 79ms (± 1.35%) 🟩-196ms (-71.13%) 77ms 81ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,769ms (± 0.33%) 3,473ms (± 0.67%) 🟩-295ms (- 7.83%) 3,451ms 3,512ms
Req 2 - geterr 1,453ms (± 1.34%) 1,603ms (± 6.20%) +150ms (+10.32%) 1,491ms 1,701ms
Req 3 - references 107ms (± 2.83%) 195ms (±47.50%) 🔻+87ms (+81.37%) 108ms 282ms
Req 4 - navto 344ms (± 0.58%) 338ms (± 1.62%) -5ms (- 1.57%) 332ms 343ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 469ms (± 2.07%) 485ms (± 0.91%) +16ms (+ 3.45%) 481ms 493ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,815ms (± 6.22%) 2,849ms (± 0.73%) +34ms (+ 1.21%) 2,816ms 2,872ms
Req 2 - geterr 6,021ms (± 6.10%) 6,203ms (± 0.40%) +182ms (+ 3.02%) 6,162ms 6,231ms
Req 3 - references 370ms (± 6.31%) 388ms (± 1.03%) +19ms (+ 5.03%) 382ms 393ms
Req 4 - navto 286ms (± 6.24%) 287ms (± 0.85%) +0ms (+ 0.09%) 283ms 290ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 122ms (±62.31%) 83ms (± 9.68%) 🟩-39ms (-31.86%) 75ms 91ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,007ms (± 0.45%) 3,008ms (± 1.14%) +1ms (+ 0.03%) 2,987ms 3,075ms
Req 2 - geterr 4,576ms (± 0.61%) 4,608ms (± 0.95%) +32ms (+ 0.71%) 4,577ms 4,696ms
Req 3 - references 401ms (± 0.82%) 415ms (± 1.12%) +14ms (+ 3.50%) 410ms 423ms
Req 4 - navto 307ms (± 1.08%) 306ms (± 1.44%) -1ms (- 0.28%) 301ms 314ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 81ms (± 8.91%) 83ms (± 9.39%) +2ms (+ 3.03%) 78ms 98ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,870ms (± 0.54%) 3,811ms (± 0.42%) -59ms (- 1.53%) 3,792ms 3,834ms
Req 2 - geterr 1,466ms (± 1.28%) 1,477ms (± 1.05%) +11ms (+ 0.74%) 1,455ms 1,490ms
Req 3 - references 128ms (± 2.11%) 131ms (± 1.55%) +3ms (+ 2.16%) 127ms 133ms
Req 4 - navto 396ms (± 1.08%) 392ms (± 1.29%) -4ms (- 0.99%) 384ms 397ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 497ms (± 2.05%) 502ms (± 2.61%) +6ms (+ 1.11%) 485ms 521ms
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 52170 6
Baseline main 6

Startup

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 139.05ms (± 0.21%) 140.33ms (± 0.23%) +1.28ms (+ 0.92%) 139.26ms 144.29ms
tsserver-startup - node (v16.17.1, x64)
Execution time 230.70ms (± 0.18%) 232.56ms (± 0.25%) +1.85ms (+ 0.80%) 230.58ms 238.99ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 233.22ms (± 0.22%) 235.80ms (± 0.34%) +2.58ms (+ 1.11%) 233.00ms 242.99ms
typescript-startup - node (v16.17.1, x64)
Execution time 215.87ms (± 0.27%) 217.56ms (± 0.37%) +1.69ms (+ 0.78%) 215.11ms 223.76ms
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 52170 6
Baseline main 6

Developer Information:

Download Benchmark

@rbuckton
Copy link
Member Author

I think moving autoGenerate off of Identifier might be behind the few emit-time increases, given that it is used more frequently than anything else I removed. I may try one more perf run with autoGenerate back on Identifier.

@jakebailey
Copy link
Member

Something's definitely wrong with the server benchmarks at the moment; watching them run, some CPU time appears to leave the intended CPU core.

Here's the server results on my perf machine without any of the tuning options:

Comparison Report - main..HEAD

Metric main HEAD Delta Best Worst
Compiler-UnionsTSServer - node (v16.18.1, x64)
Req 1 - updateOpen 1,640ms (± 0.43%) 1,613ms (± 0.45%) -27ms (- 1.63%) 1,598ms 1,631ms
Req 2 - geterr 3,802ms (± 0.44%) 3,786ms (± 0.34%) -16ms (- 0.42%) 3,752ms 3,811ms
Req 3 - references 224ms (± 0.60%) 222ms (± 0.40%) -2ms (- 0.72%) 220ms 224ms
Req 4 - navto 181ms (± 8.06%) 168ms (± 0.50%) 🟩-13ms (- 7.13%) 166ms 170ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 73ms (± 1.71%) 76ms (± 0.87%) +3ms (+ 3.54%) 75ms 78ms
CompilerTSServer - node (v16.18.1, x64)
Req 1 - updateOpen 1,755ms (± 0.75%) 1,728ms (± 0.33%) -27ms (- 1.53%) 1,714ms 1,738ms
Req 2 - geterr 2,547ms (± 0.47%) 2,537ms (± 0.50%) -10ms (- 0.40%) 2,511ms 2,570ms
Req 3 - references 234ms (± 0.62%) 231ms (± 0.38%) -3ms (- 1.32%) 230ms 233ms
Req 4 - navto 183ms (± 0.50%) 178ms (± 0.66%) -5ms (- 2.84%) 176ms 181ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 76ms (± 1.09%) 86ms (± 4.43%) +10ms (+13.10%) 71ms 89ms
xstateTSServer - node (v16.18.1, x64)
Req 1 - updateOpen 1,900ms (± 0.31%) 1,869ms (± 0.28%) -32ms (- 1.66%) 1,854ms 1,880ms
Req 2 - geterr 897ms (± 0.76%) 866ms (± 0.44%) 🟩-32ms (- 3.53%) 858ms 874ms
Req 3 - references 75ms (± 1.74%) 91ms (± 6.65%) +17ms (+22.55%) 75ms 96ms
Req 4 - navto 231ms (± 0.75%) 231ms (± 0.26%) -1ms (- 0.39%) 230ms 232ms
Req 5 - completionInfo count 2,015 (± 0.00%) 2,015 (± 0.00%) 0 ( 0.00%) 2,015 2,015
Req 5 - completionInfo 246ms (± 1.62%) 259ms (± 2.97%) +13ms (+ 5.15%) 252ms 280ms
System
Machine Nameelcheapo
Platformlinux 6.1.4-arch1-1
Architecturex64
Available Memory8 GB
Available Memory6 GB
CPUs6 × Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
Hosts
  • node (v16.18.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v16.18.1, x64)
  • CompilerTSServer - node (v16.18.1, x64)
  • xstateTSServer - node (v16.18.1, x64)
Benchmark Name Iterations
Current HEAD 10
Baseline main 10

But without tuning, it's hard to say how much of this is real.

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jan 12, 2023

Heya @rbuckton, I've started to run the perf test suite on this PR at 107d090. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 372,387k (± 0.01%) 363,634k (± 0.00%) -8,753k (- 2.35%) 363,613k 363,663k
Parse Time 3.94s (± 0.52%) 3.94s (± 1.07%) -0.01s (- 0.14%) 3.88s 4.01s
Bind Time 1.20s (± 0.55%) 1.20s (± 0.49%) +0.01s (+ 0.62%) 1.20s 1.21s
Check Time 8.64s (± 0.85%) 8.72s (± 0.47%) +0.08s (+ 0.95%) 8.67s 8.77s
Emit Time 7.57s (± 0.76%) 7.44s (± 0.48%) -0.13s (- 1.69%) 7.39s 7.50s
Total Time 21.35s (± 0.66%) 21.31s (± 0.48%) -0.04s (- 0.21%) 21.22s 21.49s
Compiler-Unions - node (v18.10.0, x64)
Memory used 202,185k (± 1.43%) 194,341k (± 1.22%) 🟩-7,844k (- 3.88%) 193,136k 199,154k
Parse Time 1.64s (± 1.29%) 1.63s (± 1.09%) -0.01s (- 0.71%) 1.62s 1.66s
Bind Time 0.79s (± 0.62%) 0.80s (± 0.56%) +0.01s (+ 1.57%) 0.80s 0.81s
Check Time 9.48s (± 0.98%) 9.60s (± 0.39%) +0.12s (+ 1.25%) 9.53s 9.63s
Emit Time 2.76s (± 0.97%) 2.93s (± 5.54%) +0.17s (+ 6.13%) 2.76s 3.10s
Total Time 14.68s (± 0.88%) 14.97s (± 1.31%) +0.29s (+ 1.96%) 14.74s 15.16s
Monaco - node (v18.10.0, x64)
Memory used 354,152k (± 0.01%) 347,903k (± 0.01%) -6,249k (- 1.76%) 347,851k 347,938k
Parse Time 2.93s (± 0.89%) 2.92s (± 0.74%) -0.01s (- 0.22%) 2.90s 2.96s
Bind Time 1.05s (± 0.67%) 1.05s (± 0.77%) +0.01s (+ 0.70%) 1.04s 1.06s
Check Time 7.22s (± 0.50%) 7.25s (± 0.22%) +0.03s (+ 0.39%) 7.24s 7.28s
Emit Time 4.28s (± 0.39%) 4.32s (± 0.65%) +0.04s (+ 0.84%) 4.28s 4.35s
Total Time 15.48s (± 0.32%) 15.55s (± 0.25%) +0.07s (+ 0.42%) 15.49s 15.60s
TFS - node (v18.10.0, x64)
Memory used 310,195k (± 0.01%) 302,721k (± 0.01%) -7,474k (- 2.41%) 302,689k 302,735k
Parse Time 2.26s (± 0.92%) 2.23s (± 1.54%) -0.03s (- 1.14%) 2.18s 2.28s
Bind Time 1.15s (± 1.61%) 1.17s (± 0.41%) +0.02s (+ 1.84%) 1.17s 1.18s
Check Time 6.85s (± 0.77%) 6.80s (± 0.27%) -0.05s (- 0.69%) 6.77s 6.83s
Emit Time 3.93s (± 0.37%) 3.93s (± 0.54%) +0.00s (+ 0.09%) 3.90s 3.95s
Total Time 14.19s (± 0.55%) 14.14s (± 0.31%) -0.05s (- 0.34%) 14.06s 14.17s
material-ui - node (v18.10.0, x64)
Memory used 485,277k (± 0.02%) 477,961k (± 0.01%) -7,316k (- 1.51%) 477,910k 477,995k
Parse Time 3.53s (± 0.34%) 3.49s (± 0.88%) -0.03s (- 0.96%) 3.44s 3.52s
Bind Time 0.97s (± 0.67%) 0.96s (± 1.58%) -0.01s (- 0.69%) 0.95s 0.99s
Check Time 16.96s (± 0.37%) 16.91s (± 0.39%) -0.05s (- 0.28%) 16.81s 16.99s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.45s (± 0.27%) 21.36s (± 0.35%) -0.09s (- 0.40%) 21.23s 21.45s
xstate - node (v18.10.0, x64)
Memory used 570,353k (± 0.02%) 550,228k (± 0.01%) 🟩-20,125k (- 3.53%) 550,180k 550,278k
Parse Time 4.44s (± 0.76%) 4.37s (± 0.62%) -0.07s (- 1.60%) 4.33s 4.41s
Bind Time 1.70s (± 0.47%) 1.70s (± 1.02%) -0.01s (- 0.42%) 1.68s 1.73s
Check Time 2.60s (± 0.51%) 2.70s (± 0.45%) +0.10s (+ 3.73%) 2.68s 2.72s
Emit Time 0.08s (± 0.18%) 0.08s (± 4.91%) +0.00s (+ 2.05%) 0.08s 0.09s
Total Time 8.83s (± 0.40%) 8.84s (± 0.42%) +0.02s (+ 0.17%) 8.80s 8.89s
Angular - node (v16.17.1, x64)
Memory used 371,763k (± 0.01%) 362,917k (± 0.00%) -8,847k (- 2.38%) 362,897k 362,941k
Parse Time 4.11s (± 0.58%) 4.13s (± 0.39%) +0.02s (+ 0.61%) 4.11s 4.15s
Bind Time 1.26s (± 0.61%) 1.27s (± 0.87%) +0.01s (+ 0.66%) 1.25s 1.29s
Check Time 9.31s (± 0.72%) 9.43s (± 0.38%) +0.12s (+ 1.32%) 9.39s 9.49s
Emit Time 7.99s (± 0.45%) 7.92s (± 0.41%) -0.07s (- 0.87%) 7.87s 7.95s
Total Time 22.66s (± 0.29%) 22.75s (± 0.28%) +0.08s (+ 0.37%) 22.64s 22.83s
Compiler-Unions - node (v16.17.1, x64)
Memory used 200,547k (± 0.66%) 196,861k (± 0.94%) -3,686k (- 1.84%) 195,156k 198,694k
Parse Time 1.81s (± 0.50%) 1.81s (± 0.63%) -0.00s (- 0.02%) 1.80s 1.83s
Bind Time 0.84s (± 0.67%) 0.84s (± 0.73%) -0.00s (- 0.13%) 0.84s 0.85s
Check Time 10.10s (± 0.66%) 10.31s (± 0.44%) +0.21s (+ 2.09%) 10.22s 10.34s
Emit Time 2.97s (± 0.99%) 3.03s (± 0.96%) +0.07s (+ 2.26%) 2.98s 3.07s
Total Time 15.72s (± 0.49%) 16.00s (± 0.24%) +0.28s (+ 1.76%) 15.95s 16.04s
Monaco - node (v16.17.1, x64)
Memory used 353,472k (± 0.01%) 347,250k (± 0.00%) -6,222k (- 1.76%) 347,229k 347,277k
Parse Time 3.17s (± 1.10%) 3.14s (± 0.43%) -0.03s (- 1.04%) 3.11s 3.15s
Bind Time 1.12s (± 1.48%) 1.13s (± 0.13%) +0.01s (+ 1.11%) 1.13s 1.13s
Check Time 7.85s (± 0.25%) 7.85s (± 0.80%) +0.01s (+ 0.11%) 7.78s 7.96s
Emit Time 4.50s (± 0.91%) 4.55s (± 0.57%) +0.05s (+ 1.06%) 4.52s 4.58s
Total Time 16.63s (± 0.46%) 16.66s (± 0.31%) +0.04s (+ 0.22%) 16.59s 16.74s
TFS - node (v16.17.1, x64)
Memory used 309,554k (± 0.01%) 302,122k (± 0.01%) -7,432k (- 2.40%) 302,105k 302,151k
Parse Time 2.62s (± 3.19%) 2.44s (± 1.00%) 🟩-0.18s (- 6.91%) 2.40s 2.46s
Bind Time 1.08s (± 8.18%) 1.26s (± 0.67%) +0.18s (+17.07%) 1.25s 1.27s
Check Time 7.41s (± 0.41%) 7.44s (± 0.63%) +0.03s (+ 0.42%) 7.39s 7.50s
Emit Time 4.24s (± 0.40%) 4.24s (± 0.85%) +0.01s (+ 0.13%) 4.18s 4.27s
Total Time 15.34s (± 0.44%) 15.38s (± 0.47%) +0.04s (+ 0.27%) 15.26s 15.47s
material-ui - node (v16.17.1, x64)
Memory used 484,515k (± 0.01%) 477,301k (± 0.02%) -7,214k (- 1.49%) 477,234k 477,483k
Parse Time 3.67s (± 0.23%) 3.64s (± 0.34%) -0.03s (- 0.88%) 3.62s 3.65s
Bind Time 1.01s (± 0.62%) 1.01s (± 0.63%) -0.00s (- 0.36%) 1.00s 1.02s
Check Time 17.98s (± 0.34%) 17.89s (± 0.48%) -0.10s (- 0.54%) 17.81s 18.02s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.67s (± 0.30%) 22.54s (± 0.41%) -0.13s (- 0.56%) 22.45s 22.68s
xstate - node (v16.17.1, x64)
Memory used 567,962k (± 0.01%) 547,969k (± 0.01%) 🟩-19,993k (- 3.52%) 547,897k 548,106k
Parse Time 4.76s (± 0.29%) 4.59s (± 0.54%) 🟩-0.17s (- 3.48%) 4.56s 4.62s
Bind Time 1.65s (± 0.35%) 1.79s (± 0.34%) +0.14s (+ 8.29%) 1.78s 1.80s
Check Time 2.84s (± 0.46%) 2.93s (± 0.65%) +0.09s (+ 3.15%) 2.89s 2.94s
Emit Time 0.09s (± 5.93%) 0.08s (± 6.37%) -0.00s (- 1.99%) 0.08s 0.09s
Total Time 9.34s (± 0.20%) 9.40s (± 0.36%) +0.06s (+ 0.61%) 9.36s 9.44s
Angular - node (v14.15.1, x64)
Memory used 365,420k (± 0.00%) 356,640k (± 0.01%) -8,780k (- 2.40%) 356,612k 356,656k
Parse Time 4.15s (± 0.32%) 4.14s (± 0.86%) -0.00s (- 0.06%) 4.11s 4.21s
Bind Time 1.30s (± 0.51%) 1.30s (± 0.30%) +0.00s (+ 0.10%) 1.30s 1.31s
Check Time 9.67s (± 0.35%) 9.71s (± 0.20%) +0.04s (+ 0.39%) 9.68s 9.74s
Emit Time 8.23s (± 0.60%) 8.19s (± 0.31%) -0.04s (- 0.45%) 8.15s 8.23s
Total Time 23.35s (± 0.34%) 23.35s (± 0.16%) +0.00s (+ 0.01%) 23.30s 23.39s
Compiler-Unions - node (v14.15.1, x64)
Memory used 195,761k (± 0.70%) 190,271k (± 0.02%) -5,490k (- 2.80%) 190,235k 190,307k
Parse Time 1.86s (± 0.61%) 1.83s (± 0.33%) -0.03s (- 1.73%) 1.82s 1.84s
Bind Time 0.87s (± 0.99%) 0.87s (± 0.54%) -0.00s (- 0.41%) 0.86s 0.88s
Check Time 10.12s (± 0.71%) 10.27s (± 0.59%) +0.15s (+ 1.48%) 10.21s 10.39s
Emit Time 3.13s (± 1.17%) 3.12s (± 1.14%) -0.01s (- 0.41%) 3.07s 3.17s
Total Time 15.99s (± 0.54%) 16.09s (± 0.62%) +0.10s (+ 0.64%) 16.02s 16.29s
Monaco - node (v14.15.1, x64)
Memory used 348,299k (± 0.00%) 342,094k (± 0.01%) -6,205k (- 1.78%) 342,054k 342,143k
Parse Time 3.27s (± 0.98%) 3.23s (± 0.96%) -0.04s (- 1.12%) 3.19s 3.29s
Bind Time 1.13s (± 1.34%) 1.13s (± 1.11%) -0.00s (- 0.25%) 1.12s 1.15s
Check Time 8.14s (± 0.47%) 8.18s (± 0.52%) +0.04s (+ 0.47%) 8.11s 8.24s
Emit Time 4.74s (± 0.89%) 4.75s (± 0.37%) +0.01s (+ 0.25%) 4.72s 4.77s
Total Time 17.28s (± 0.24%) 17.29s (± 0.29%) +0.01s (+ 0.06%) 17.23s 17.37s
TFS - node (v14.15.1, x64)
Memory used 304,471k (± 0.01%) 296,996k (± 0.01%) -7,474k (- 2.45%) 296,967k 297,035k
Parse Time 2.74s (± 1.42%) 2.70s (± 0.81%) -0.04s (- 1.29%) 2.67s 2.72s
Bind Time 1.10s (± 0.61%) 1.09s (± 1.46%) -0.00s (- 0.20%) 1.08s 1.12s
Check Time 7.74s (± 0.76%) 7.72s (± 0.49%) -0.03s (- 0.35%) 7.66s 7.76s
Emit Time 4.59s (± 1.42%) 4.58s (± 0.97%) -0.01s (- 0.26%) 4.51s 4.63s
Total Time 16.17s (± 0.72%) 16.10s (± 0.48%) -0.08s (- 0.46%) 15.98s 16.22s
material-ui - node (v14.15.1, x64)
Memory used 479,973k (± 0.00%) 472,772k (± 0.00%) -7,201k (- 1.50%) 472,760k 472,797k
Parse Time 3.89s (± 0.69%) 3.84s (± 0.46%) -0.05s (- 1.29%) 3.82s 3.86s
Bind Time 1.05s (± 0.80%) 1.04s (± 0.53%) -0.01s (- 0.76%) 1.03s 1.05s
Check Time 19.01s (± 0.85%) 18.86s (± 0.61%) -0.15s (- 0.79%) 18.73s 19.02s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 23.96s (± 0.67%) 23.75s (± 0.48%) -0.20s (- 0.85%) 23.63s 23.92s
xstate - node (v14.15.1, x64)
Memory used 556,344k (± 0.00%) 536,120k (± 0.00%) 🟩-20,224k (- 3.64%) 536,104k 536,143k
Parse Time 5.16s (± 0.76%) 5.00s (± 0.74%) 🟩-0.16s (- 3.03%) 4.94s 5.05s
Bind Time 1.59s (± 0.31%) 1.67s (± 0.27%) +0.08s (+ 4.99%) 1.66s 1.67s
Check Time 3.00s (± 0.78%) 3.08s (± 0.25%) +0.08s (+ 2.67%) 3.07s 3.09s
Emit Time 0.10s (± 0.15%) 0.10s (± 4.00%) +0.00s (+ 1.73%) 0.10s 0.11s
Total Time 9.84s (± 0.44%) 9.84s (± 0.48%) +0.00s (+ 0.02%) 9.75s 9.87s
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 52170 6
Baseline main 6

TSServer

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,561ms (± 0.56%) 2,441ms (± 7.35%) 🟩-120ms (- 4.70%) 2,172ms 2,589ms
Req 2 - geterr 5,362ms (± 0.59%) 5,170ms (± 7.58%) 🟩-192ms (- 3.58%) 4,654ms 5,494ms
Req 3 - references 373ms (± 1.48%) 361ms (± 6.97%) 🟩-11ms (- 3.06%) 329ms 390ms
Req 4 - navto 281ms (± 1.59%) 276ms (± 7.51%) -5ms (- 1.70%) 243ms 294ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 304ms (± 2.03%) 72ms (±10.17%) 🟩-232ms (-76.31%) 63ms 82ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,317ms (±30.42%) 2,686ms (± 1.20%) +369ms (+15.92%) 2,653ms 2,738ms
Req 2 - geterr 3,332ms (±30.48%) 3,973ms (± 0.54%) +641ms (+19.22%) 3,945ms 3,996ms
Req 3 - references 303ms (±30.94%) 368ms (± 1.18%) +65ms (+21.60%) 362ms 374ms
Req 4 - navto 248ms (±29.96%) 294ms (± 0.65%) +47ms (+18.80%) 293ms 297ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 58ms (±32.29%) 75ms (± 8.90%) 🔻+17ms (+30.09%) 66ms 82ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,379ms (± 0.31%) 3,328ms (± 0.35%) -51ms (- 1.51%) 3,311ms 3,339ms
Req 2 - geterr 1,544ms (± 1.10%) 1,392ms (± 0.73%) 🟩-152ms (- 9.87%) 1,380ms 1,409ms
Req 3 - references 103ms (± 2.78%) 253ms (± 1.24%) 🔻+150ms (+145.25%) 247ms 256ms
Req 4 - navto 358ms (± 1.19%) 357ms (± 0.47%) -1ms (- 0.18%) 356ms 360ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 430ms (± 1.64%) 447ms (± 2.67%) +17ms (+ 3.95%) 430ms 462ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,721ms (± 6.10%) 2,741ms (± 2.22%) +20ms (+ 0.73%) 2,621ms 2,787ms
Req 2 - geterr 5,796ms (± 6.17%) 5,756ms (± 2.30%) -39ms (- 0.68%) 5,487ms 5,831ms
Req 3 - references 354ms (± 6.75%) 374ms (± 2.60%) +20ms (+ 5.61%) 354ms 381ms
Req 4 - navto 274ms (± 6.21%) 271ms (± 1.98%) -3ms (- 0.98%) 260ms 274ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 86ms (± 7.46%) 147ms (±80.85%) 🔻+61ms (+71.45%) 67ms 304ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,927ms (± 0.58%) 2,877ms (± 0.31%) -49ms (- 1.69%) 2,868ms 2,889ms
Req 2 - geterr 4,308ms (± 0.32%) 4,313ms (± 0.26%) +4ms (+ 0.10%) 4,301ms 4,329ms
Req 3 - references 376ms (± 0.39%) 383ms (± 0.32%) +7ms (+ 1.76%) 382ms 384ms
Req 4 - navto 305ms (± 0.34%) 299ms (± 0.93%) -6ms (- 2.10%) 294ms 302ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 275ms (±35.32%) 89ms (± 6.99%) 🟩-186ms (-67.70%) 77ms 94ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,769ms (± 0.33%) 3,488ms (± 0.41%) 🟩-280ms (- 7.44%) 3,459ms 3,500ms
Req 2 - geterr 1,453ms (± 1.34%) 1,564ms (± 4.07%) +111ms (+ 7.65%) 1,529ms 1,694ms
Req 3 - references 107ms (± 2.83%) 251ms (±28.32%) 🔻+144ms (+133.89%) 106ms 288ms
Req 4 - navto 344ms (± 0.58%) 333ms (± 1.57%) 🟩-11ms (- 3.16%) 330ms 343ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 469ms (± 2.07%) 481ms (± 2.09%) +12ms (+ 2.47%) 462ms 491ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,815ms (± 6.22%) 2,847ms (± 0.23%) +32ms (+ 1.15%) 2,838ms 2,856ms
Req 2 - geterr 6,021ms (± 6.10%) 6,201ms (± 0.64%) +180ms (+ 2.99%) 6,152ms 6,258ms
Req 3 - references 370ms (± 6.31%) 390ms (± 1.29%) +20ms (+ 5.53%) 385ms 399ms
Req 4 - navto 286ms (± 6.24%) 288ms (± 1.01%) +2ms (+ 0.63%) 286ms 293ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 122ms (±62.31%) 80ms (± 9.14%) 🟩-41ms (-33.80%) 73ms 92ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,007ms (± 0.45%) 3,005ms (± 0.68%) -2ms (- 0.05%) 2,984ms 3,034ms
Req 2 - geterr 4,576ms (± 0.61%) 4,626ms (± 0.69%) +50ms (+ 1.09%) 4,582ms 4,670ms
Req 3 - references 401ms (± 0.82%) 416ms (± 0.53%) +15ms (+ 3.77%) 413ms 418ms
Req 4 - navto 307ms (± 1.08%) 306ms (± 1.74%) -1ms (- 0.31%) 296ms 311ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 81ms (± 8.91%) 85ms (± 8.13%) +5ms (+ 5.85%) 78ms 97ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,870ms (± 0.54%) 3,790ms (± 0.40%) -80ms (- 2.06%) 3,779ms 3,818ms
Req 2 - geterr 1,466ms (± 1.28%) 1,468ms (± 0.82%) +2ms (+ 0.14%) 1,453ms 1,482ms
Req 3 - references 128ms (± 2.11%) 127ms (± 3.97%) -2ms (- 1.20%) 122ms 133ms
Req 4 - navto 396ms (± 1.08%) 395ms (± 1.67%) -1ms (- 0.25%) 388ms 405ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 497ms (± 2.05%) 493ms (± 2.05%) -4ms (- 0.80%) 478ms 505ms
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 52170 6
Baseline main 6

Startup

Comparison Report - main..52170
Metric main 52170 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 139.05ms (± 0.21%) 139.38ms (± 0.27%) +0.33ms (+ 0.24%) 138.31ms 149.83ms
tsserver-startup - node (v16.17.1, x64)
Execution time 230.70ms (± 0.18%) 230.51ms (± 0.20%) -0.19ms (- 0.08%) 229.03ms 239.70ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 233.22ms (± 0.22%) 233.56ms (± 0.25%) +0.34ms (+ 0.15%) 232.04ms 244.00ms
typescript-startup - node (v16.17.1, x64)
Execution time 215.87ms (± 0.27%) 215.24ms (± 0.16%) -0.63ms (- 0.29%) 214.08ms 221.14ms
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 52170 6
Baseline main 6

Developer Information:

Download Benchmark

@rbuckton
Copy link
Member Author

I guess reverting autoGenerate doesn't have as much of an impact as I thought, so I'll revert the last commit.

@jakebailey
Copy link
Member

Comparison Report - main..HEAD

Metric main HEAD Delta Best Worst
Compiler-UnionsTSServer - node (v16.18.1, x64)
Req 1 - updateOpen 3,223ms (± 0.79%) 3,160ms (± 0.70%) -63ms (- 1.96%) 3,102ms 3,212ms
Req 2 - geterr 6,830ms (± 1.47%) 6,700ms (± 0.31%) -130ms (- 1.90%) 6,640ms 6,732ms
Req 3 - references 410ms (± 0.30%) 426ms (± 0.46%) +17ms (+ 4.03%) 422ms 431ms
Req 4 - navto 303ms (± 1.05%) 303ms (± 0.12%) -1ms (- 0.26%) 302ms 303ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 104ms (± 3.50%) 85ms (± 0.43%) 🟩-19ms (-18.26%) 84ms 85ms
CompilerTSServer - node (v16.18.1, x64)
Req 1 - updateOpen 3,400ms (± 0.19%) 3,342ms (± 0.27%) -58ms (- 1.70%) 3,324ms 3,364ms
Req 2 - geterr 5,028ms (± 0.38%) 5,037ms (± 0.27%) +9ms (+ 0.18%) 5,003ms 5,077ms
Req 3 - references 422ms (± 0.48%) 439ms (± 0.80%) +17ms (+ 4.06%) 431ms 444ms
Req 4 - navto 318ms (± 1.26%) 308ms (± 0.31%) 🟩-10ms (- 3.11%) 305ms 309ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 85ms (± 1.04%) 93ms (± 0.39%) +7ms (+ 8.43%) 92ms 93ms
xstateTSServer - node (v16.18.1, x64)
Req 1 - updateOpen 3,472ms (± 0.33%) 3,382ms (± 0.24%) -90ms (- 2.59%) 3,366ms 3,402ms
Req 2 - geterr 1,688ms (± 0.78%) 1,736ms (± 1.07%) +48ms (+ 2.84%) 1,689ms 1,762ms
Req 3 - references 119ms (± 0.79%) 123ms (± 0.49%) +4ms (+ 2.94%) 121ms 124ms
Req 4 - navto 387ms (± 0.22%) 389ms (± 0.38%) +2ms (+ 0.49%) 383ms 390ms
Req 5 - completionInfo count 2,015 (± 0.00%) 2,015 (± 0.00%) 0 ( 0.00%) 2,015 2,015
Req 5 - completionInfo 376ms (± 0.99%) 391ms (± 0.81%) +15ms (+ 3.86%) 382ms 399ms
System
Machine Nameelcheapo
Platformlinux 6.1.4-arch1-1
Architecturex64
Available Memory8 GB
Available Memory6 GB
CPUs6 × Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
Hosts
  • node (v16.18.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v16.18.1, x64)
  • CompilerTSServer - node (v16.18.1, x64)
  • xstateTSServer - node (v16.18.1, x64)
Benchmark Name Iterations
Current HEAD 10
Baseline main 10

For hopefully more fixed tsserver benchmarks...

@jakebailey
Copy link
Member

I've run it again on this machine in a different order and got the same result, effectively.

Comparison Report - main..HEAD

Metric main HEAD Delta Best Worst
Compiler-UnionsTSServer - node (v16.18.1, x64)
Req 1 - updateOpen 3,234ms (± 0.39%) 3,176ms (± 0.55%) -58ms (- 1.79%) 3,146ms 3,207ms
Req 2 - geterr 6,837ms (± 1.50%) 6,688ms (± 0.43%) -149ms (- 2.18%) 6,637ms 6,778ms
Req 3 - references 410ms (± 0.22%) 425ms (± 0.13%) +15ms (+ 3.69%) 424ms 426ms
Req 4 - navto 305ms (± 0.84%) 303ms (± 0.16%) -2ms (- 0.79%) 302ms 304ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 101ms (± 5.48%) 85ms (± 0.68%) 🟩-16ms (-15.89%) 84ms 86ms
CompilerTSServer - node (v16.18.1, x64)
Req 1 - updateOpen 3,397ms (± 0.16%) 3,339ms (± 0.21%) -58ms (- 1.71%) 3,326ms 3,358ms
Req 2 - geterr 5,018ms (± 0.25%) 5,022ms (± 0.30%) +4ms (+ 0.08%) 4,994ms 5,067ms
Req 3 - references 423ms (± 0.21%) 440ms (± 0.45%) +17ms (+ 4.04%) 433ms 444ms
Req 4 - navto 318ms (± 0.29%) 308ms (± 0.10%) 🟩-10ms (- 3.02%) 308ms 309ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 87ms (± 0.39%) 93ms (± 0.48%) +6ms (+ 6.30%) 92ms 94ms
xstateTSServer - node (v16.18.1, x64)
Req 1 - updateOpen 3,476ms (± 0.51%) 3,390ms (± 0.26%) -87ms (- 2.50%) 3,374ms 3,420ms
Req 2 - geterr 1,675ms (± 1.31%) 1,735ms (± 0.67%) +60ms (+ 3.56%) 1,697ms 1,762ms
Req 3 - references 119ms (± 0.44%) 122ms (± 0.40%) +4ms (+ 2.94%) 121ms 123ms
Req 4 - navto 386ms (± 0.53%) 388ms (± 0.53%) +2ms (+ 0.57%) 383ms 390ms
Req 5 - completionInfo count 2,015 (± 0.00%) 2,015 (± 0.00%) 0 ( 0.00%) 2,015 2,015
Req 5 - completionInfo 379ms (± 1.23%) 389ms (± 0.53%) +10ms (+ 2.67%) 386ms 394ms
System
Machine Nameelcheapo
Platformlinux 6.1.4-arch1-1
Architecturex64
Available Memory8 GB
Available Memory6 GB
CPUs6 × Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
Hosts
  • node (v16.18.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v16.18.1, x64)
  • CompilerTSServer - node (v16.18.1, x64)
  • xstateTSServer - node (v16.18.1, x64)
Benchmark Name Iterations
Current HEAD 10
Baseline main 10

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.

None yet

5 participants