Skip to content

Keep track of multiple current inference contexts #51978

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

Merged
merged 2 commits into from
Dec 22, 2022
Merged

Keep track of multiple current inference contexts #51978

merged 2 commits into from
Dec 22, 2022

Conversation

ahejlsberg
Copy link
Member

Fixes #51970.

@ahejlsberg ahejlsberg requested a review from sandersn December 20, 2022 17:59
@typescript-bot typescript-bot added the For Milestone Bug PRs that fix a bug with a specific milestone label Dec 20, 2022
@DanielRosenwasser
Copy link
Member

Why does the example in #51970 require multiple inference contexts? What broke it?

@DanielRosenwasser
Copy link
Member

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 20, 2022

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..51978
Metric main 51978 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 372,315k (± 0.01%) 372,317k (± 0.01%) +2k (+ 0.00%) 372,270k 372,343k
Parse Time 3.95s (± 1.06%) 3.94s (± 0.82%) -0.01s (- 0.37%) 3.90s 3.99s
Bind Time 1.20s (± 0.83%) 1.21s (± 1.33%) +0.00s (+ 0.11%) 1.19s 1.23s
Check Time 8.60s (± 0.38%) 8.58s (± 0.49%) -0.02s (- 0.26%) 8.51s 8.62s
Emit Time 7.60s (± 0.60%) 7.53s (± 0.58%) -0.07s (- 0.88%) 7.47s 7.57s
Total Time 21.36s (± 0.37%) 21.26s (± 0.42%) -0.10s (- 0.48%) 21.11s 21.35s
Compiler-Unions - node (v18.10.0, x64)
Memory used 200,893k (± 1.53%) 200,919k (± 1.52%) +26k (+ 0.01%) 198,110k 203,740k
Parse Time 1.66s (± 0.95%) 1.63s (± 1.56%) -0.03s (- 1.87%) 1.60s 1.65s
Bind Time 0.79s (± 0.62%) 0.79s (± 0.70%) -0.00s (- 0.29%) 0.79s 0.80s
Check Time 9.46s (± 0.52%) 9.47s (± 1.04%) +0.01s (+ 0.11%) 9.37s 9.65s
Emit Time 2.77s (± 1.09%) 2.79s (± 0.93%) +0.01s (+ 0.49%) 2.76s 2.83s
Total Time 14.69s (± 0.42%) 14.68s (± 0.73%) -0.01s (- 0.06%) 14.55s 14.87s
Monaco - node (v18.10.0, x64)
Memory used 353,974k (± 0.01%) 353,930k (± 0.01%) -44k (- 0.01%) 353,893k 353,967k
Parse Time 2.94s (± 1.44%) 2.96s (± 1.09%) +0.01s (+ 0.37%) 2.90s 2.99s
Bind Time 1.04s (± 1.30%) 1.03s (± 1.44%) -0.01s (- 0.92%) 1.02s 1.06s
Check Time 7.22s (± 0.54%) 7.20s (± 0.38%) -0.02s (- 0.26%) 7.17s 7.24s
Emit Time 4.27s (± 0.74%) 4.27s (± 0.43%) -0.00s (- 0.04%) 4.24s 4.29s
Total Time 15.47s (± 0.75%) 15.45s (± 0.33%) -0.02s (- 0.11%) 15.38s 15.54s
TFS - node (v18.10.0, x64)
Memory used 309,854k (± 0.01%) 309,869k (± 0.00%) +15k (+ 0.00%) 309,847k 309,885k
Parse Time 2.24s (± 1.27%) 2.25s (± 1.31%) +0.01s (+ 0.22%) 2.20s 2.29s
Bind Time 1.16s (± 0.72%) 1.16s (± 0.41%) +0.01s (+ 0.59%) 1.16s 1.17s
Check Time 6.81s (± 0.24%) 6.81s (± 0.58%) +0.00s (+ 0.03%) 6.76s 6.86s
Emit Time 3.93s (± 0.83%) 3.92s (± 0.57%) -0.01s (- 0.17%) 3.89s 3.94s
Total Time 14.13s (± 0.49%) 14.14s (± 0.28%) +0.01s (+ 0.05%) 14.08s 14.18s
material-ui - node (v18.10.0, x64)
Memory used 485,040k (± 0.01%) 485,038k (± 0.01%) -2k (- 0.00%) 484,999k 485,092k
Parse Time 3.55s (± 0.97%) 3.52s (± 0.64%) -0.03s (- 0.78%) 3.50s 3.56s
Bind Time 0.96s (± 0.61%) 0.96s (± 1.33%) +0.00s (+ 0.07%) 0.96s 0.99s
Check Time 16.92s (± 0.26%) 16.94s (± 0.48%) +0.02s (+ 0.10%) 16.84s 17.05s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.43s (± 0.32%) 21.42s (± 0.43%) -0.01s (- 0.05%) 21.31s 21.51s
xstate - node (v18.10.0, x64)
Memory used 569,641k (± 0.01%) 569,656k (± 0.02%) +15k (+ 0.00%) 569,503k 569,754k
Parse Time 4.44s (± 0.66%) 4.42s (± 0.46%) -0.02s (- 0.54%) 4.39s 4.45s
Bind Time 1.70s (± 1.12%) 1.69s (± 0.99%) -0.01s (- 0.49%) 1.68s 1.72s
Check Time 2.61s (± 0.35%) 2.60s (± 0.70%) -0.01s (- 0.22%) 2.57s 2.62s
Emit Time 0.08s (± 0.24%) 0.08s (± 0.20%) +0.00s (+ 0.10%) 0.08s 0.08s
Total Time 8.82s (± 0.26%) 8.80s (± 0.37%) -0.03s (- 0.31%) 8.76s 8.84s
Angular - node (v16.17.1, x64)
Memory used 371,685k (± 0.01%) 371,648k (± 0.01%) -37k (- 0.01%) 371,594k 371,676k
Parse Time 4.14s (± 0.24%) 4.13s (± 0.40%) -0.01s (- 0.13%) 4.11s 4.16s
Bind Time 1.27s (± 0.71%) 1.27s (± 0.49%) +0.00s (+ 0.20%) 1.26s 1.28s
Check Time 9.30s (± 0.43%) 9.29s (± 0.45%) -0.01s (- 0.08%) 9.23s 9.35s
Emit Time 8.01s (± 0.57%) 8.01s (± 0.89%) +0.00s (+ 0.05%) 7.90s 8.10s
Total Time 22.71s (± 0.30%) 22.70s (± 0.44%) -0.01s (- 0.04%) 22.57s 22.81s
Compiler-Unions - node (v16.17.1, x64)
Memory used 200,905k (± 0.88%) 200,934k (± 0.88%) +29k (+ 0.01%) 199,762k 203,348k
Parse Time 1.81s (± 0.60%) 1.80s (± 0.72%) -0.00s (- 0.17%) 1.79s 1.83s
Bind Time 0.85s (± 0.57%) 0.84s (± 0.65%) -0.00s (- 0.59%) 0.84s 0.85s
Check Time 10.21s (± 0.99%) 10.24s (± 0.61%) +0.03s (+ 0.27%) 10.17s 10.34s
Emit Time 2.99s (± 0.74%) 3.07s (± 4.54%) +0.08s (+ 2.70%) 2.97s 3.33s
Total Time 15.86s (± 0.59%) 15.95s (± 1.09%) +0.10s (+ 0.61%) 15.79s 16.26s
Monaco - node (v16.17.1, x64)
Memory used 353,252k (± 0.01%) 353,256k (± 0.01%) +4k (+ 0.00%) 353,209k 353,333k
Parse Time 3.15s (± 0.97%) 3.16s (± 1.16%) +0.01s (+ 0.18%) 3.12s 3.21s
Bind Time 1.12s (± 0.71%) 1.12s (± 0.89%) -0.01s (- 0.48%) 1.10s 1.13s
Check Time 7.85s (± 0.49%) 7.85s (± 0.44%) -0.01s (- 0.08%) 7.80s 7.90s
Emit Time 4.51s (± 1.07%) 4.48s (± 0.74%) -0.03s (- 0.77%) 4.44s 4.54s
Total Time 16.64s (± 0.60%) 16.60s (± 0.31%) -0.04s (- 0.25%) 16.52s 16.67s
TFS - node (v16.17.1, x64)
Memory used 309,204k (± 0.00%) 309,210k (± 0.00%) +7k (+ 0.00%) 309,190k 309,228k
Parse Time 2.61s (± 1.26%) 2.60s (± 0.83%) -0.01s (- 0.57%) 2.56s 2.61s
Bind Time 1.06s (± 1.83%) 1.06s (± 1.41%) +0.00s (+ 0.38%) 1.05s 1.09s
Check Time 7.42s (± 0.66%) 7.39s (± 0.43%) -0.03s (- 0.40%) 7.36s 7.45s
Emit Time 4.21s (± 0.87%) 4.20s (± 0.64%) -0.01s (- 0.25%) 4.16s 4.23s
Total Time 15.29s (± 0.56%) 15.24s (± 0.38%) -0.06s (- 0.37%) 15.15s 15.29s
material-ui - node (v16.17.1, x64)
Memory used 484,323k (± 0.01%) 484,375k (± 0.02%) +52k (+ 0.01%) 484,286k 484,520k
Parse Time 3.66s (± 0.42%) 3.68s (± 0.26%) +0.02s (+ 0.46%) 3.67s 3.69s
Bind Time 1.01s (± 0.79%) 1.02s (± 0.76%) +0.01s (+ 1.02%) 1.01s 1.03s
Check Time 17.96s (± 1.92%) 17.89s (± 0.21%) -0.07s (- 0.39%) 17.85s 17.94s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.63s (± 1.60%) 22.58s (± 0.21%) -0.05s (- 0.22%) 22.53s 22.66s
xstate - node (v16.17.1, x64)
Memory used 567,262k (± 0.02%) 567,352k (± 0.02%) +90k (+ 0.02%) 567,181k 567,465k
Parse Time 4.76s (± 0.45%) 4.73s (± 0.17%) -0.02s (- 0.48%) 4.72s 4.74s
Bind Time 1.67s (± 1.63%) 1.65s (± 0.41%) -0.02s (- 1.13%) 1.64s 1.66s
Check Time 2.84s (± 0.61%) 2.81s (± 0.33%) -0.02s (- 0.78%) 2.80s 2.82s
Emit Time 0.09s (± 4.67%) 0.09s (± 4.70%) -0.00s (- 0.13%) 0.08s 0.09s
Total Time 9.35s (± 0.43%) 9.28s (± 0.14%) -0.07s (- 0.70%) 9.26s 9.30s
Angular - node (v14.15.1, x64)
Memory used 365,246k (± 0.00%) 365,289k (± 0.01%) +44k (+ 0.01%) 365,259k 365,312k
Parse Time 4.16s (± 0.58%) 4.17s (± 0.55%) +0.01s (+ 0.19%) 4.14s 4.20s
Bind Time 1.30s (± 0.35%) 1.30s (± 0.66%) +0.00s (+ 0.03%) 1.30s 1.32s
Check Time 9.67s (± 0.64%) 9.59s (± 0.33%) -0.08s (- 0.84%) 9.56s 9.64s
Emit Time 8.21s (± 0.53%) 8.19s (± 0.56%) -0.03s (- 0.33%) 8.14s 8.26s
Total Time 23.35s (± 0.49%) 23.25s (± 0.21%) -0.11s (- 0.47%) 23.19s 23.32s
Compiler-Unions - node (v14.15.1, x64)
Memory used 194,954k (± 0.02%) 194,947k (± 0.01%) -8k (- 0.00%) 194,911k 194,986k
Parse Time 1.86s (± 0.95%) 1.85s (± 0.95%) -0.02s (- 0.92%) 1.83s 1.88s
Bind Time 0.88s (± 0.81%) 0.88s (± 1.00%) -0.00s (- 0.22%) 0.87s 0.89s
Check Time 10.16s (± 0.64%) 10.12s (± 0.46%) -0.04s (- 0.36%) 10.04s 10.17s
Emit Time 3.14s (± 1.11%) 3.14s (± 0.86%) -0.01s (- 0.24%) 3.10s 3.17s
Total Time 16.04s (± 0.59%) 15.98s (± 0.50%) -0.06s (- 0.37%) 15.86s 16.07s
Monaco - node (v14.15.1, x64)
Memory used 348,052k (± 0.01%) 348,079k (± 0.01%) +28k (+ 0.01%) 348,058k 348,102k
Parse Time 3.25s (± 0.88%) 3.27s (± 1.06%) +0.02s (+ 0.53%) 3.21s 3.32s
Bind Time 1.12s (± 0.61%) 1.12s (± 0.85%) -0.00s (- 0.08%) 1.11s 1.13s
Check Time 8.20s (± 0.34%) 8.15s (± 0.48%) -0.06s (- 0.72%) 8.09s 8.19s
Emit Time 4.75s (± 0.34%) 4.71s (± 0.70%) -0.04s (- 0.84%) 4.66s 4.76s
Total Time 17.33s (± 0.35%) 17.24s (± 0.47%) -0.08s (- 0.49%) 17.15s 17.35s
TFS - node (v14.15.1, x64)
Memory used 304,118k (± 0.01%) 304,122k (± 0.00%) +4k (+ 0.00%) 304,107k 304,133k
Parse Time 2.72s (± 0.78%) 2.73s (± 0.53%) +0.01s (+ 0.29%) 2.71s 2.75s
Bind Time 1.08s (± 0.26%) 1.08s (± 0.46%) +0.01s (+ 0.47%) 1.08s 1.09s
Check Time 7.74s (± 0.66%) 7.71s (± 0.62%) -0.04s (- 0.48%) 7.64s 7.76s
Emit Time 4.56s (± 0.87%) 4.56s (± 0.60%) -0.00s (- 0.02%) 4.52s 4.59s
Total Time 16.10s (± 0.44%) 16.07s (± 0.52%) -0.03s (- 0.19%) 15.95s 16.17s
material-ui - node (v14.15.1, x64)
Memory used 479,794k (± 0.00%) 479,776k (± 0.00%) -18k (- 0.00%) 479,743k 479,798k
Parse Time 3.93s (± 0.98%) 3.87s (± 0.35%) -0.05s (- 1.35%) 3.85s 3.89s
Bind Time 1.05s (± 0.49%) 1.04s (± 0.43%) -0.01s (- 0.79%) 1.04s 1.05s
Check Time 19.13s (± 0.48%) 18.97s (± 0.77%) -0.16s (- 0.83%) 18.85s 19.18s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 24.11s (± 0.31%) 23.89s (± 0.65%) -0.22s (- 0.90%) 23.75s 24.09s
xstate - node (v14.15.1, x64)
Memory used 555,627k (± 0.00%) 555,612k (± 0.00%) -15k (- 0.00%) 555,574k 555,636k
Parse Time 5.15s (± 0.80%) 5.10s (± 0.68%) -0.06s (- 1.13%) 5.06s 5.14s
Bind Time 1.59s (± 0.74%) 1.59s (± 0.58%) +0.00s (+ 0.07%) 1.57s 1.60s
Check Time 3.01s (± 0.42%) 2.99s (± 0.27%) -0.02s (- 0.58%) 2.98s 3.00s
Emit Time 0.10s (± 0.10%) 0.10s (± 0.20%) -0.00s (- 0.03%) 0.10s 0.10s
Total Time 9.85s (± 0.38%) 9.78s (± 0.43%) -0.08s (- 0.81%) 9.73s 9.84s
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 51978 6
Baseline main 6

TSServer

Comparison Report - main..51978
Metric main 51978 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,545ms (± 1.87%) 2,552ms (± 1.05%) +7ms (+ 0.26%) 2,508ms 2,577ms
Req 2 - geterr 5,676ms (± 0.62%) 5,641ms (± 0.85%) -35ms (- 0.62%) 5,574ms 5,711ms
Req 3 - references 359ms (± 1.62%) 359ms (± 1.91%) -0ms (- 0.02%) 352ms 372ms
Req 4 - navto 293ms (± 2.13%) 290ms (± 1.81%) -3ms (- 1.05%) 280ms 294ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 80ms (± 9.21%) 80ms (± 5.84%) +0ms (+ 0.21%) 75ms 87ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,738ms (± 1.14%) 2,749ms (± 1.37%) +11ms (+ 0.39%) 2,700ms 2,802ms
Req 2 - geterr 4,173ms (± 0.80%) 4,138ms (± 0.41%) -35ms (- 0.84%) 4,116ms 4,163ms
Req 3 - references 360ms (± 1.45%) 357ms (± 0.73%) -3ms (- 0.89%) 354ms 360ms
Req 4 - navto 293ms (± 0.39%) 291ms (± 0.98%) -2ms (- 0.55%) 288ms 296ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 66ms (± 2.40%) 66ms (± 1.04%) +0ms (+ 0.54%) 65ms 67ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,623ms (± 0.78%) 3,596ms (± 0.78%) -27ms (- 0.74%) 3,546ms 3,628ms
Req 2 - geterr 1,316ms (± 1.20%) 1,320ms (± 1.23%) +4ms (+ 0.28%) 1,301ms 1,345ms
Req 3 - references 105ms (± 2.73%) 107ms (± 2.36%) +1ms (+ 1.01%) 103ms 110ms
Req 4 - navto 364ms (± 2.17%) 363ms (± 1.61%) -1ms (- 0.32%) 356ms 371ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 434ms (± 1.30%) 432ms (± 2.42%) -1ms (- 0.34%) 415ms 443ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,778ms (± 0.94%) 2,772ms (± 0.77%) -6ms (- 0.21%) 2,732ms 2,788ms
Req 2 - geterr 6,116ms (± 0.35%) 6,066ms (± 0.38%) -50ms (- 0.81%) 6,031ms 6,091ms
Req 3 - references 366ms (± 0.73%) 365ms (± 0.61%) -2ms (- 0.42%) 362ms 368ms
Req 4 - navto 279ms (± 0.93%) 278ms (± 1.12%) -2ms (- 0.65%) 272ms 282ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 84ms (± 7.71%) 83ms (± 6.01%) -1ms (- 1.04%) 80ms 93ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,918ms (± 1.02%) 2,900ms (± 0.36%) -18ms (- 0.60%) 2,888ms 2,913ms
Req 2 - geterr 4,517ms (± 0.76%) 4,507ms (± 0.71%) -10ms (- 0.23%) 4,474ms 4,538ms
Req 3 - references 387ms (± 0.37%) 384ms (± 0.63%) -2ms (- 0.53%) 381ms 388ms
Req 4 - navto 295ms (± 1.56%) 291ms (± 0.96%) -4ms (- 1.52%) 287ms 295ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 75ms (± 4.09%) 74ms (± 4.74%) -1ms (- 0.90%) 69ms 77ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,758ms (± 0.25%) 3,744ms (± 0.26%) -13ms (- 0.36%) 3,727ms 3,753ms
Req 2 - geterr 1,445ms (± 2.23%) 1,433ms (± 1.40%) -12ms (- 0.81%) 1,406ms 1,458ms
Req 3 - references 108ms (± 1.46%) 109ms (± 0.87%) +1ms (+ 0.74%) 109ms 111ms
Req 4 - navto 350ms (± 0.71%) 348ms (± 1.37%) -2ms (- 0.62%) 340ms 352ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 454ms (± 1.40%) 460ms (± 1.05%) +5ms (+ 1.21%) 453ms 467ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,060ms (± 0.87%) 3,040ms (± 0.72%) -20ms (- 0.66%) 3,014ms 3,066ms
Req 2 - geterr 5,942ms (± 0.33%) 5,920ms (± 0.90%) -22ms (- 0.37%) 5,844ms 5,973ms
Req 3 - references 391ms (± 0.25%) 388ms (± 0.80%) -3ms (- 0.67%) 382ms 390ms
Req 4 - navto 289ms (± 0.81%) 288ms (± 0.74%) -1ms (- 0.22%) 286ms 292ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 83ms (± 1.97%) 82ms (± 2.03%) -1ms (- 1.19%) 79ms 83ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,205ms (± 0.78%) 3,193ms (± 0.63%) -12ms (- 0.38%) 3,166ms 3,220ms
Req 2 - geterr 4,433ms (± 0.68%) 4,415ms (± 0.62%) -19ms (- 0.42%) 4,366ms 4,440ms
Req 3 - references 408ms (± 1.23%) 404ms (± 0.57%) -4ms (- 0.90%) 402ms 408ms
Req 4 - navto 313ms (± 0.80%) 304ms (± 2.70%) -9ms (- 2.96%) 295ms 311ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 80ms (± 4.47%) 84ms (± 9.54%) +5ms (+ 5.83%) 77ms 97ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,800ms (± 0.55%) 3,789ms (± 0.84%) -11ms (- 0.29%) 3,749ms 3,826ms
Req 2 - geterr 1,459ms (± 0.26%) 1,462ms (± 0.85%) +3ms (+ 0.21%) 1,448ms 1,476ms
Req 3 - references 132ms (± 1.66%) 132ms (± 2.52%) -1ms (- 0.50%) 128ms 136ms
Req 4 - navto 396ms (± 0.57%) 393ms (± 1.20%) -3ms (- 0.83%) 384ms 397ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 490ms (± 3.00%) 490ms (± 1.22%) +0ms (+ 0.08%) 482ms 498ms
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 51978 6
Baseline main 6

Startup

Comparison Report - main..51978
Metric main 51978 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 138.35ms (± 0.21%) 137.56ms (± 0.19%) -0.79ms (- 0.57%) 136.69ms 139.74ms
tsserver-startup - node (v16.17.1, x64)
Execution time 222.49ms (± 0.27%) 221.34ms (± 0.19%) -1.15ms (- 0.52%) 219.59ms 225.58ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 223.69ms (± 0.20%) 222.90ms (± 0.22%) -0.80ms (- 0.36%) 221.21ms 231.06ms
typescript-startup - node (v16.17.1, x64)
Execution time 206.36ms (± 0.19%) 206.18ms (± 0.20%) -0.19ms (- 0.09%) 204.24ms 209.13ms
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 51978 6
Baseline main 6

Developer Information:

Download Benchmark

@ahejlsberg
Copy link
Member Author

Why does the example in #51970 require multiple inference contexts?

During inference for the this.get method call we check for ThisType annotations for outer object literals, and that requires access to the outer inference context for the call to Moon.

What broke it?

I explain that here.

@ahejlsberg ahejlsberg merged commit acf854b into main Dec 22, 2022
@ahejlsberg ahejlsberg deleted the fix51970 branch December 22, 2022 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Milestone Bug PRs that fix a bug with a specific milestone
Projects
None yet
Development

Successfully merging this pull request may close these issues.

#51865 breaks contextual type from ThisType in a call
4 participants