Skip to content
This repository was archived by the owner on Apr 14, 2022. It is now read-only.

Persist symbol index to disk #487

Closed
jakebailey opened this issue Dec 12, 2018 · 5 comments
Closed

Persist symbol index to disk #487

jakebailey opened this issue Dec 12, 2018 · 5 comments
Assignees

Comments

@jakebailey
Copy link
Member

For #433.

Either in the regular database location with some hashing, or in a new cache in the project root.

@jakebailey jakebailey self-assigned this Dec 12, 2018
@MikhailArkhipov
Copy link

Looks like we don't need this.

@DonJayamanne
Copy link

Either way, please remember, VSC had the ability to provide a caching mechanism (internally VSC uses the fs to persist the data).
Data can be cached per workspace or in a global context.

@MikhailArkhipov @jakebailey /cc

@jakebailey
Copy link
Member Author

jakebailey commented Jan 22, 2019

Symbol indexing is so incredibly fast that we decided that persistence is just not needed. Persistence for other parts of the language server isn't off the table, just symbols.

@qubitron
Copy link

qubitron commented Apr 4, 2019

Per Don's comment, see: https://code.visualstudio.com/blogs/2019/02/19/lsif

@jakebailey
Copy link
Member Author

#472 is the issue for persistent analysis (outside of the symbol index), but I did see lsif when it was released and I'm not sure how much of it would be helpful, at least for our situation.

Because it's (sort of) a language server protocol message cache, the moment something changes, we'd incur the cost of reanalyzing everything over again, as the backing data would be different. That format omits completion, but retains hover/references/definition/etc, which at least from our POV are pretty linked to the analysis as a whole.

When it comes to symbols, that's still really fast and likely doesn't need to be persisted.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants