Skip to content

[lsp][bug] LSP locks up for ~12s when navigating to files within the same project #813

Open
@mjames-c

Description

@mjames-c

Apologies if we're reporting this too early but we're excited to use the typescript-go LSP at Canva when it's ready.

We have a TS project with 90k+ files within it. The initial load time for the project is very impressive at ~20s (vs 2.5 mins with TSv5):

Info 8    [09:49:07.603] Project '<omitted>/tsconfig.json' (KindConfigured)
	Files (92699)

The problem we have is that navigating the code base causes the LSP to lock up for ~13s. According to the LSP logs it is dominated by getConfigFileNameForFile (5s) and updateGraph (7s).

Info 39   [09:52:20.374] getConfigFileNameForFile:: File: <omitted> ProjectRootPath: :: Result: <omitted>/tsconfig.json
Info 40   [09:52:25.344] Config: <omitted>/tsconfig.json : {
...
Info 41   [09:52:26.557] Starting updateGraph: Project: <omitted>/tsconfig.json
Info 42   [09:52:32.612] Finishing updateGraph: Project: <omitted>/tsconfig.json version: 5
Info 43   [09:52:32.612] Different program with same set of files
Info 44   [09:52:32.627] Project '<omitted>/tsconfig.json' (KindConfigured)
	Files (92699)

I assume there's a caching layer that still needs to be ported to tsgo that already exists TSv5.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Domain: EditorRelated to the LSP server, editor experience

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions