-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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 with 10000+ compile commands entries #10029
Comments
Can you try with 1.13.2 (pre-release) -- we improved the performance in the scenario where there's a lot of compile command entries with the fix for #9882 . If it's still and issue after that, can you give more info on what is going on in the 5-10 min, either from the C/C++ logging with C_Cpp.loggingLevel set to "Debug" or by attaching a debugger to get a call stack? From the previous discussion, it sounds like it's just parsing the compile_commands.json file and not tag parsing the workspace, right? |
The Output with logging level debug looks like this with version
Getting the C++ compiler properties gets posted very often. So it seems to be the the issue in #9882. I'll give the pre release version a try. |
I'll installed the pre release version and the result does not change. Here is a part of the log Part of the Log of Version 1.13.2
There is also no change in the timing. It still takes 5 to 10 min until intellisense is rdy. |
If i want to test just tag parsing, is it enough to remove the |
Also this sounds related. microsoft/vscode-cmake-tools#2586 |
The CMake Tools issue would only apply if you're using CMake Tools instead of compileCommands to configure. I don't know why you wouldn't be seeing a performance improvement with 1.13.2. How many "Attempting to get defaults from C++ compiler in "compilerPath" property: '/usr/bin/clang'" do you get a second? Are you able to attach a debugger to get a call stack? It might just be slow to parse/process the json file. |
I'm not sure what you mean by "If i want to test just tag parsing, is it enough to remove the compile_commands.json file from the c_cpp_properties.json?". If you don't see tag parsing messages in the Debug logging then it's not an issue with tag parsing (from the logging I see so far it's not a tag parsing issue). |
Right i don't use CMake-Tools to configure. I only rely on the
Can you point me to a tutorial or some doc how to attach a debugger so i can provide a call stack ? I have never done this before
Currently my I made a rough measurement with a stopwatch today again :) When i start VSCode the last |
There's info on how to get a call stack at https://github.com/microsoft/vscode-cpptools/wiki/Attaching-debugger-to-cpptools-or-cpptools%E2%80%90srv . However, I think we have enough repro info so I don't think we need a call stack. |
try to set |
@hriekehof This should be fixed with https://github.com/microsoft/vscode-cpptools/releases/tag/v1.22.0 -- let us know if you still see performance issues. |
We're tracking additional performance improvements with #12825 . |
Feature Request
I work in a large multi project mono repo which is closed source. I have a large
compile_commands.json
which is generated from thexcodebuild
output and it's around 102MB with roughly 12000 entries. Myc_cpp_properties.json
is quite simple:When i open VSCode it takes around 5 - 10min until i have intellisense up and running. Switch header source, see the Outline view etc.
This is also the case if i just reopen the window and the
compile_commands.json
hasn't changed at all. In #8647 i brought up the idea of aProgressBar
that you can see how long you still have to wait.But i was wondering why does it always need so long at startup when nothing has changed in the
compile_commands.json
file ?Is it possible to improve the startup time of the Code browsing service ?
The text was updated successfully, but these errors were encountered: