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

Improve performance of "references/call hierarchy incoming calls" search with caching #10996

Open
michelleangela opened this issue May 23, 2023 · 9 comments

Comments

@michelleangela
Copy link
Contributor

michelleangela commented May 23, 2023

Just used the call hierachy feature it works great, however I have a question to vscode team related to performance, in eclipse I believe once all files are indexed the call hierachy is pretty fast, but in vscode it looks like the result isn't cached which results in scanning the files again even when there is no code change, any way we could support auto indexing and cache the result?

Originally posted by @cdong8812 in #16 (comment)

@michelleangela
Copy link
Contributor Author

For quick answer, we can do some caching to improve performance. But we would need to further consider which associated files may change and which parts in the process should be cached. Potentially, we could re-use a cache if there are no changes in the browse database.

@bobbrow
Copy link
Member

bobbrow commented May 23, 2023

I was thinking the original request is about caching all of the semantic results, not just the individual queries. We can cache previous call hierarchy results per session, but the full index is not something we're capable of doing right now. We have the same limitation as VS here but we have been making investments that will hopefully lead us in this direction in the future. Once that is working in VS, we should be able to bring that feature to VS Code soon after.

@cdong8812
Copy link

Thanks for the detailed information, yes you are right that my original question is based on my experience using eclipse, they do auto indexing on every file in the entire project when there is a change, the indexing process may take sometime depending on the size of your project but once done the lookup is pretty fast, I understand there are some limitations with VS and I think caching previous result is good enough for now so that when you have a large project scanning all the files can be expensive and time consuming

@rsadeh-dn
Copy link

+1 for performance improvements. Right now it's too slow and not really usable. opening each level in the hierarchy is very slow and it seems as if the work is being done over and over again even without any changes in the project.

@nagvempati
Copy link

nagvempati commented Jul 3, 2024

Any update for this enhancement request, @michelleangela ?

@michelleangela
Copy link
Contributor Author

Adding @sean-mcmanus, @Colengms as I'm working on a different project now.

@sean-mcmanus
Copy link
Contributor

@nagvempati There's no update. Other than possibly some internal investigation work. Generally, if there's an issue with an update, we'd update the issue via changing its Project/Milestone. You can upvote this issue, but I think we already have other similar issues regarding Find All Refs performance that have more upvotes.

@bdsoha
Copy link

bdsoha commented Jul 17, 2024

@michelleangela Any updates on this topic?

@michelleangela
Copy link
Contributor Author

@bdsoha please refer to @sean-mcmanus comment. I'm not on the vscode-cpptools team anymore and working on a different product.

@bobbrow bobbrow removed this from the Backlog milestone Dec 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants