Skip to content

Improve performance with 10000+ compile commands entries #10029

Closed
@hriekehof

Description

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 the xcodebuild output and it's around 102MB with roughly 12000 entries. My c_cpp_properties.json is quite simple:

{
    "configurations": [
        {
            "name": "LargeCodebase",
            "includePath": [
                "${workspaceFolder}/project1/**",
                "${workspaceFolder}/project2/**",
                "${workspaceFolder}/shared/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c11",
            "cppStandard": "c++14",
            "macFrameworkPath": [
                "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
            ],
            "intelliSenseMode": "macos-clang-arm64",
            "compileCommands": "${workspaceFolder}/somewhere/compile_commands.json"
        }
    ],
    "version": 4
}

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 a ProgressBar 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 ?

Metadata

Assignees

Type

No type

Projects

  • Status

    Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions