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

Gabritto/issue48313 #51914

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

Gabritto/issue48313 #51914

wants to merge 2 commits into from

Conversation

gabritto
Copy link
Member

@gabritto gabritto commented Dec 15, 2022

Fixes #48313.

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Dec 15, 2022
@gabritto
Copy link
Member Author

gabritto commented Dec 15, 2022

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 15, 2022

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

Update: The results are in!

@@ -27028,6 +27028,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
}

function getNarrowedTypeOfSymbol(symbol: Symbol, location: Identifier) {
const type = getTypeOfSymbol(symbol);
Copy link
Member Author

@gabritto gabritto Dec 15, 2022

Choose a reason for hiding this comment

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

@ahejlsberg is that at all acceptable? I couldn't really come up with a way to break the dependency between the type computations that arise in the issue, so I'm trying to come up with a way to fix it by changing the order in which we compute things, but I don't know if I can get away with that.

Copy link
Member Author

@gabritto gabritto Dec 15, 2022

Choose a reason for hiding this comment

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

I have also been wondering about the type resolution stack and how it detects circularity... In the case of this issue for instance, the circularity arises from starting to compute the type of toPart, then computing the type of index, and then starting to compute the type of toPart again.
We detect a circularity even though in between the first push of toPart and the second push, we have computed and cached the type of index, and toPart's type depends on index's type, so technically the second time we try to compute toPart would succeed if we allowed it to proceed, because we made progress in between the two attempts to compute toPart's type.
But we don't detect this progress when deciding if we have a circularity or not, and I don't really understand why, even though I understand how it happens.

Copy link
Member

@ahejlsberg ahejlsberg Dec 17, 2022

Choose a reason for hiding this comment

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

Interesting that an initial getTypeOfSymbol fixes the issue. I think it is a reasonable fix, particularly since it restores the order of resolution that would normally occur.

You're likely right that we'd succeed if we allowed a second attempt at computing toPart's type to succeed (because we've assigned a contextual type of index in the process), but it's not easy to know that's the case.

@typescript-bot typescript-bot added For Milestone Bug PRs that fix a bug with a specific milestone and removed For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Dec 15, 2022
@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 15, 2022

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

Here they are:

Compiler

Comparison Report - main..51914
Metric main 51914 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 374,499k (± 0.03%) 374,493k (± 0.02%) -6k (- 0.00%) 374,329k 374,606k
Parse Time 1.56s (± 0.77%) 1.56s (± 0.58%) -0.00s (- 0.19%) 1.54s 1.58s
Bind Time 0.53s (± 0.64%) 0.53s (± 1.16%) -0.00s (- 0.38%) 0.52s 0.54s
Check Time 3.72s (± 0.61%) 3.73s (± 0.81%) +0.00s (+ 0.13%) 3.67s 3.80s
Emit Time 3.82s (± 0.39%) 3.82s (± 0.54%) 0.00s ( 0.00%) 3.77s 3.86s
Total Time 9.64s (± 0.33%) 9.64s (± 0.31%) +0.00s (+ 0.02%) 9.57s 9.69s
Compiler-Unions - node (v18.10.0, x64)
Memory used 201,783k (± 0.97%) 204,072k (± 0.97%) +2,289k (+ 1.13%) 199,887k 205,873k
Parse Time 0.62s (± 1.04%) 0.62s (± 0.94%) -0.01s (- 0.80%) 0.60s 0.63s
Bind Time 0.35s (± 1.48%) 0.35s (± 1.48%) 0.00s ( 0.00%) 0.34s 0.36s
Check Time 4.69s (± 0.41%) 4.71s (± 0.53%) +0.02s (+ 0.32%) 4.63s 4.75s
Emit Time 1.42s (± 0.88%) 1.44s (± 0.84%) +0.01s (+ 0.70%) 1.41s 1.47s
Total Time 7.09s (± 0.31%) 7.11s (± 0.47%) +0.02s (+ 0.31%) 7.01s 7.19s
Monaco - node (v18.10.0, x64)
Memory used 356,379k (± 0.02%) 356,352k (± 0.01%) -27k (- 0.01%) 356,217k 356,438k
Parse Time 1.16s (± 0.70%) 1.17s (± 1.20%) +0.01s (+ 0.60%) 1.13s 1.20s
Bind Time 0.49s (± 1.38%) 0.50s (± 0.99%) +0.00s (+ 0.40%) 0.49s 0.51s
Check Time 3.47s (± 0.53%) 3.49s (± 0.71%) +0.02s (+ 0.49%) 3.43s 3.54s
Emit Time 2.01s (± 0.52%) 2.04s (± 1.45%) +0.02s (+ 1.24%) 1.99s 2.11s
Total Time 7.14s (± 0.42%) 7.20s (± 0.68%) +0.06s (+ 0.81%) 7.08s 7.33s
TFS - node (v18.10.0, x64)
Memory used 312,931k (± 0.16%) 314,050k (± 0.25%) +1,119k (+ 0.36%) 312,598k 314,946k
Parse Time 0.95s (± 0.99%) 0.95s (± 0.74%) +0.00s (+ 0.11%) 0.94s 0.97s
Bind Time 0.54s (± 7.60%) 0.57s (± 0.59%) +0.04s (+ 6.70%) 0.57s 0.58s
Check Time 3.20s (± 0.62%) 3.22s (± 0.61%) +0.01s (+ 0.44%) 3.15s 3.25s
Emit Time 1.99s (± 0.67%) 2.00s (± 1.25%) +0.01s (+ 0.65%) 1.94s 2.05s
Total Time 6.68s (± 0.41%) 6.74s (± 0.51%) +0.06s (+ 0.93%) 6.67s 6.82s
material-ui - node (v18.10.0, x64)
Memory used 485,693k (± 0.01%) 485,713k (± 0.02%) +20k (+ 0.00%) 485,626k 485,974k
Parse Time 1.35s (± 0.72%) 1.36s (± 0.62%) +0.01s (+ 0.89%) 1.35s 1.39s
Bind Time 0.39s (± 1.15%) 0.39s (± 1.03%) +0.00s (+ 0.26%) 0.38s 0.40s
Check Time 9.57s (± 0.42%) 9.58s (± 0.75%) +0.01s (+ 0.05%) 9.47s 9.78s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 11.31s (± 0.38%) 11.33s (± 0.70%) +0.02s (+ 0.17%) 11.21s 11.56s
xstate - node (v18.10.0, x64)
Memory used 569,841k (± 0.01%) 569,836k (± 0.01%) -5k (- 0.00%) 569,706k 570,028k
Parse Time 1.91s (± 0.50%) 1.90s (± 0.56%) -0.00s (- 0.00%) 1.88s 1.93s
Bind Time 0.69s (± 3.08%) 0.69s (± 1.83%) -0.00s (- 0.72%) 0.66s 0.72s
Check Time 0.98s (± 0.68%) 0.99s (± 0.96%) +0.01s (+ 1.12%) 0.98s 1.02s
Emit Time 0.05s (± 0.00%) 0.05s (± 0.00%) 0.00s ( 0.00%) 0.05s 0.05s
Total Time 3.64s (± 0.76%) 3.65s (± 0.34%) +0.01s (+ 0.30%) 3.62s 3.68s
Angular - node (v16.17.1, x64)
Memory used 373,833k (± 0.01%) 373,761k (± 0.02%) -72k (- 0.02%) 373,599k 373,839k
Parse Time 1.90s (± 0.68%) 1.91s (± 0.50%) +0.01s (+ 0.53%) 1.88s 1.93s
Bind Time 0.65s (± 0.77%) 0.65s (± 0.93%) +0.00s (+ 0.00%) 0.63s 0.66s
Check Time 4.80s (± 0.69%) 4.81s (± 0.59%) +0.01s (+ 0.27%) 4.75s 4.91s
Emit Time 4.56s (± 0.77%) 4.56s (± 0.77%) +0.00s (+ 0.04%) 4.49s 4.63s
Total Time 11.90s (± 0.50%) 11.93s (± 0.44%) +0.03s (+ 0.22%) 11.81s 12.07s
Compiler-Unions - node (v16.17.1, x64)
Memory used 203,387k (± 0.61%) 202,787k (± 0.58%) -600k (- 0.30%) 201,716k 205,273k
Parse Time 0.79s (± 0.73%) 0.79s (± 0.60%) 0.00s ( 0.00%) 0.78s 0.80s
Bind Time 0.44s (± 0.83%) 0.44s (± 0.68%) +0.00s (+ 0.46%) 0.43s 0.44s
Check Time 5.59s (± 0.74%) 5.64s (± 0.99%) +0.04s (+ 0.79%) 5.53s 5.80s
Emit Time 1.79s (± 1.12%) 1.79s (± 1.86%) -0.00s (- 0.06%) 1.74s 1.86s
Total Time 8.61s (± 0.47%) 8.66s (± 0.95%) +0.05s (+ 0.53%) 8.49s 8.85s
Monaco - node (v16.17.1, x64)
Memory used 355,744k (± 0.01%) 355,679k (± 0.02%) -66k (- 0.02%) 355,488k 355,796k
Parse Time 1.43s (± 0.65%) 1.42s (± 0.42%) -0.00s (- 0.28%) 1.41s 1.44s
Bind Time 0.59s (± 0.98%) 0.60s (± 2.19%) +0.01s (+ 2.03%) 0.58s 0.65s
Check Time 4.39s (± 0.63%) 4.40s (± 0.52%) +0.01s (+ 0.27%) 4.33s 4.44s
Emit Time 2.43s (± 0.82%) 2.46s (± 1.06%) +0.03s (+ 1.07%) 2.41s 2.53s
Total Time 8.84s (± 0.46%) 8.88s (± 0.45%) +0.05s (+ 0.52%) 8.74s 8.95s
TFS - node (v16.17.1, x64)
Memory used 312,142k (± 0.01%) 312,151k (± 0.00%) +9k (+ 0.00%) 312,109k 312,172k
Parse Time 1.16s (± 1.34%) 1.17s (± 1.00%) +0.01s (+ 0.52%) 1.15s 1.21s
Bind Time 0.57s (± 1.43%) 0.57s (± 1.08%) -0.00s (- 0.18%) 0.56s 0.59s
Check Time 4.11s (± 0.54%) 4.10s (± 0.33%) -0.01s (- 0.15%) 4.07s 4.13s
Emit Time 2.45s (± 0.68%) 2.46s (± 0.57%) +0.01s (+ 0.37%) 2.43s 2.49s
Total Time 8.29s (± 0.46%) 8.30s (± 0.16%) +0.01s (+ 0.08%) 8.27s 8.33s
material-ui - node (v16.17.1, x64)
Memory used 484,991k (± 0.00%) 485,089k (± 0.01%) +97k (+ 0.02%) 484,982k 485,227k
Parse Time 1.66s (± 0.57%) 1.67s (± 0.44%) +0.01s (+ 0.30%) 1.65s 1.69s
Bind Time 0.48s (± 0.69%) 0.48s (± 1.03%) +0.01s (+ 1.04%) 0.48s 0.50s
Check Time 11.13s (± 1.47%) 11.01s (± 0.69%) -0.12s (- 1.08%) 10.86s 11.17s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 13.28s (± 1.28%) 13.17s (± 0.61%) -0.11s (- 0.83%) 13.02s 13.32s
xstate - node (v16.17.1, x64)
Memory used 567,481k (± 0.01%) 567,409k (± 0.01%) -72k (- 0.01%) 567,316k 567,601k
Parse Time 2.28s (± 0.36%) 2.29s (± 0.45%) +0.01s (+ 0.48%) 2.27s 2.31s
Bind Time 0.82s (± 2.57%) 0.82s (± 2.35%) -0.00s (- 0.24%) 0.79s 0.88s
Check Time 1.30s (± 0.54%) 1.31s (± 0.62%) +0.01s (+ 0.69%) 1.30s 1.33s
Emit Time 0.06s (± 0.00%) 0.06s (± 0.00%) 0.00s ( 0.00%) 0.06s 0.06s
Total Time 4.47s (± 0.49%) 4.48s (± 0.45%) +0.01s (+ 0.27%) 4.46s 4.56s
Angular - node (v14.15.1, x64)
Memory used 367,555k (± 0.00%) 367,543k (± 0.01%) -11k (- 0.00%) 367,503k 367,583k
Parse Time 2.03s (± 0.43%) 2.04s (± 0.32%) +0.01s (+ 0.49%) 2.03s 2.05s
Bind Time 0.68s (± 0.53%) 0.69s (± 0.49%) +0.01s (+ 1.32%) 0.69s 0.70s
Check Time 5.12s (± 0.52%) 5.16s (± 0.74%) +0.04s (+ 0.76%) 5.06s 5.25s
Emit Time 4.64s (± 0.50%) 4.70s (± 0.69%) +0.06s (+ 1.34%) 4.65s 4.77s
Total Time 12.48s (± 0.35%) 12.60s (± 0.45%) +0.12s (+ 0.98%) 12.44s 12.69s
Compiler-Unions - node (v14.15.1, x64)
Memory used 199,470k (± 0.51%) 199,470k (± 0.50%) -0k (- 0.00%) 196,782k 200,204k
Parse Time 0.90s (± 0.66%) 0.90s (± 0.53%) +0.00s (+ 0.11%) 0.89s 0.91s
Bind Time 0.47s (± 0.73%) 0.47s (± 0.73%) 0.00s ( 0.00%) 0.46s 0.47s
Check Time 5.87s (± 0.69%) 5.84s (± 0.67%) -0.03s (- 0.43%) 5.79s 5.97s
Emit Time 1.87s (± 0.63%) 1.88s (± 1.04%) +0.01s (+ 0.27%) 1.84s 1.92s
Total Time 9.10s (± 0.50%) 9.08s (± 0.56%) -0.02s (- 0.20%) 8.99s 9.24s
Monaco - node (v14.15.1, x64)
Memory used 350,655k (± 0.01%) 350,663k (± 0.01%) +8k (+ 0.00%) 350,601k 350,730k
Parse Time 1.57s (± 0.41%) 1.57s (± 0.60%) +0.00s (+ 0.06%) 1.55s 1.60s
Bind Time 0.63s (± 0.47%) 0.64s (± 0.75%) +0.01s (+ 0.79%) 0.63s 0.65s
Check Time 4.65s (± 0.52%) 4.66s (± 0.46%) +0.01s (+ 0.24%) 4.60s 4.72s
Emit Time 2.54s (± 0.88%) 2.57s (± 1.10%) +0.04s (+ 1.46%) 2.51s 2.62s
Total Time 9.39s (± 0.38%) 9.44s (± 0.43%) +0.05s (+ 0.55%) 9.34s 9.55s
TFS - node (v14.15.1, x64)
Memory used 309,177k (± 0.01%) 309,192k (± 0.01%) +15k (+ 0.00%) 309,114k 309,233k
Parse Time 1.30s (± 0.45%) 1.31s (± 0.81%) +0.01s (+ 0.92%) 1.29s 1.34s
Bind Time 0.60s (± 0.75%) 0.60s (± 1.17%) +0.00s (+ 0.17%) 0.59s 0.62s
Check Time 4.34s (± 0.75%) 4.35s (± 0.56%) +0.01s (+ 0.23%) 4.28s 4.41s
Emit Time 2.72s (± 0.69%) 2.74s (± 0.79%) +0.02s (+ 0.59%) 2.68s 2.79s
Total Time 8.96s (± 0.47%) 9.01s (± 0.53%) +0.04s (+ 0.47%) 8.87s 9.13s
material-ui - node (v14.15.1, x64)
Memory used 480,430k (± 0.01%) 480,441k (± 0.01%) +11k (+ 0.00%) 480,360k 480,508k
Parse Time 1.87s (± 0.37%) 1.87s (± 0.54%) +0.00s (+ 0.16%) 1.85s 1.90s
Bind Time 0.52s (± 0.85%) 0.53s (± 0.90%) +0.01s (+ 0.96%) 0.52s 0.54s
Check Time 11.41s (± 0.50%) 11.57s (± 0.92%) +0.16s (+ 1.40%) 11.36s 11.74s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 13.81s (± 0.44%) 13.97s (± 0.77%) +0.16s (+ 1.17%) 13.78s 14.13s
xstate - node (v14.15.1, x64)
Memory used 555,990k (± 0.01%) 555,997k (± 0.01%) +8k (+ 0.00%) 555,855k 556,128k
Parse Time 2.61s (± 0.85%) 2.65s (± 0.53%) +0.03s (+ 1.26%) 2.62s 2.68s
Bind Time 0.78s (± 0.43%) 0.79s (± 1.14%) +0.01s (+ 0.64%) 0.78s 0.82s
Check Time 1.43s (± 0.47%) 1.44s (± 0.57%) +0.01s (+ 0.70%) 1.42s 1.46s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 4.89s (± 0.46%) 4.94s (± 0.42%) +0.05s (+ 0.94%) 4.89s 4.99s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-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 51914 10
Baseline main 10

TSServer

Comparison Report - main..51914
Metric main 51914 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,066ms (± 0.34%) 1,066ms (± 0.87%) 0ms ( 0.00%) 1,053ms 1,101ms
Req 2 - geterr 2,496ms (± 0.43%) 2,514ms (± 0.80%) +17ms (+ 0.69%) 2,474ms 2,582ms
Req 3 - references 164ms (± 1.19%) 165ms (± 0.94%) +1ms (+ 0.55%) 163ms 170ms
Req 4 - navto 142ms (± 1.02%) 143ms (± 1.70%) +1ms (+ 0.56%) 138ms 149ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 54ms (± 7.48%) 55ms (± 7.66%) +1ms (+ 2.23%) 48ms 63ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,141ms (± 0.48%) 1,137ms (± 0.80%) -4ms (- 0.35%) 1,110ms 1,158ms
Req 2 - geterr 1,571ms (± 0.48%) 1,568ms (± 0.64%) -3ms (- 0.17%) 1,549ms 1,597ms
Req 3 - references 171ms (± 0.53%) 172ms (± 1.06%) +2ms (+ 0.88%) 170ms 178ms
Req 4 - navto 152ms (± 0.94%) 153ms (± 0.54%) +1ms (+ 0.33%) 150ms 154ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 52ms (± 1.43%) 52ms (± 1.00%) -0ms (- 0.19%) 51ms 53ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,552ms (± 0.56%) 1,548ms (± 0.76%) -4ms (- 0.26%) 1,513ms 1,568ms
Req 2 - geterr 547ms (± 0.75%) 549ms (± 1.28%) +3ms (+ 0.46%) 532ms 566ms
Req 3 - references 57ms (± 3.74%) 58ms (± 3.23%) +1ms (+ 1.23%) 54ms 61ms
Req 4 - navto 195ms (± 0.75%) 194ms (± 1.19%) -0ms (- 0.15%) 189ms 200ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 210ms (± 0.98%) 212ms (± 0.86%) +2ms (+ 0.95%) 208ms 217ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,327ms (± 0.59%) 1,328ms (± 0.62%) +1ms (+ 0.07%) 1,307ms 1,346ms
Req 2 - geterr 3,102ms (± 1.20%) 3,093ms (± 1.67%) -10ms (- 0.31%) 3,035ms 3,287ms
Req 3 - references 192ms (± 0.69%) 194ms (± 0.71%) +1ms (+ 0.73%) 191ms 197ms
Req 4 - navto 156ms (± 0.61%) 156ms (± 1.00%) +0ms (+ 0.13%) 152ms 158ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 57ms (± 1.48%) 58ms (± 1.55%) +1ms (+ 0.88%) 55ms 59ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,405ms (± 0.76%) 1,411ms (± 0.45%) +6ms (+ 0.43%) 1,401ms 1,429ms
Req 2 - geterr 2,087ms (± 0.84%) 2,094ms (± 0.63%) +8ms (+ 0.36%) 2,061ms 2,132ms
Req 3 - references 201ms (± 0.58%) 202ms (± 0.80%) +1ms (+ 0.50%) 199ms 207ms
Req 4 - navto 166ms (± 1.04%) 168ms (± 0.84%) +2ms (+ 1.20%) 165ms 172ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 56ms (± 1.07%) 56ms (± 0.79%) +1ms (+ 1.08%) 55ms 57ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,861ms (± 0.61%) 1,865ms (± 0.61%) +4ms (+ 0.23%) 1,840ms 1,884ms
Req 2 - geterr 689ms (± 0.71%) 691ms (± 0.60%) +2ms (+ 0.28%) 684ms 704ms
Req 3 - references 68ms (± 1.55%) 69ms (± 1.22%) +1ms (+ 0.73%) 67ms 71ms
Req 4 - navto 193ms (± 1.37%) 194ms (± 1.21%) +1ms (+ 0.36%) 189ms 201ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 253ms (± 0.76%) 257ms (± 1.76%) +4ms (+ 1.42%) 251ms 273ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,474ms (± 0.38%) 1,479ms (± 0.47%) +4ms (+ 0.28%) 1,469ms 1,496ms
Req 2 - geterr 3,292ms (± 0.27%) 3,297ms (± 0.46%) +5ms (+ 0.16%) 3,268ms 3,335ms
Req 3 - references 210ms (± 1.10%) 209ms (± 0.66%) -2ms (- 0.71%) 206ms 213ms
Req 4 - navto 170ms (± 1.12%) 170ms (± 0.72%) +0ms (+ 0.06%) 167ms 172ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 57ms (± 1.19%) 58ms (± 1.80%) +0ms (+ 0.70%) 56ms 61ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,576ms (± 0.69%) 1,576ms (± 0.44%) 0ms ( 0.00%) 1,563ms 1,588ms
Req 2 - geterr 2,221ms (± 0.29%) 2,228ms (± 0.38%) +7ms (+ 0.31%) 2,216ms 2,250ms
Req 3 - references 217ms (± 0.63%) 221ms (± 0.96%) +4ms (+ 1.66%) 218ms 228ms
Req 4 - navto 177ms (± 1.09%) 180ms (± 1.00%) +2ms (+ 1.35%) 176ms 184ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 61ms (± 6.71%) 61ms (± 5.81%) +0ms (+ 0.33%) 57ms 73ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,988ms (± 0.46%) 1,994ms (± 0.32%) +6ms (+ 0.28%) 1,976ms 2,005ms
Req 2 - geterr 747ms (± 0.58%) 750ms (± 0.55%) +4ms (+ 0.47%) 743ms 762ms
Req 3 - references 74ms (± 0.75%) 74ms (± 1.10%) +0ms (+ 0.27%) 72ms 76ms
Req 4 - navto 215ms (± 1.01%) 217ms (± 1.03%) +3ms (+ 1.17%) 212ms 222ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 285ms (± 0.65%) 287ms (± 0.59%) +2ms (+ 0.70%) 283ms 292ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-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 51914 10
Baseline main 10

Startup

Comparison Report - main..51914
Metric main 51914 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 120.15ms (± 0.63%) 119.20ms (± 0.51%) -0.94ms (- 0.78%) 116.21ms 126.53ms
tsserver-startup - node (v16.17.1, x64)
Execution time 201.95ms (± 0.48%) 200.47ms (± 0.53%) -1.47ms (- 0.73%) 195.47ms 210.77ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 194.04ms (± 0.40%) 196.38ms (± 0.38%) +2.34ms (+ 1.21%) 191.05ms 206.20ms
typescript-startup - node (v16.17.1, x64)
Execution time 179.35ms (± 0.37%) 182.01ms (± 0.33%) +2.66ms (+ 1.48%) 177.25ms 189.96ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-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 51914 10
Baseline main 10

Developer Information:

Download Benchmark

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.

Getting type information for a node causes other nodes to return any for their type
3 participants