Skip to content

Performance issue with cpptools #13023

Closed as not planned
Closed as not planned
@bobbrow

Description

@bobbrow

29th November 2024

VSCode info ::

Version: 1.95.3 (system setup)
Commit: f1a4fb101478ce6ec82fe9627c43efbf9e98c813
Date: 2024-11-13T14:50:04.152Z
Electron: 32.2.1
ElectronBuildId: 10427718
Chromium: 128.0.6613.186
Node.js: 20.18.0
V8: 12.8.374.38-electron.0
OS: Windows_NT x64 10.0.22631

Extension info ::

Name: C/C++
Id: ms-vscode.cpptools
Description: C/C++ IntelliSense, debugging, and code browsing.
Version: 1.22.11
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools

Configs ::

{
    "C_Cpp.autocompleteAddParentheses": true,
    "C_Cpp.clang_format_style": "",
    "C_Cpp.codeAnalysis.clangTidy.args": [],
    "C_Cpp.codeAnalysis.clangTidy.codeAction.showDisable": false,
    "C_Cpp.codeAnalysis.clangTidy.enabled": true,
    "C_Cpp.codeFolding": "disabled",
    "C_Cpp.default.compilerArgs": [
        "/C",
        "/DDEBUG",
        "/D_DEBUG",
        "/D__STDC_WANT_SECURE_LIB__",
        "/I./",
        "/I./include/",
        "/Zc:__cplusplus",
        "/Zc:preprocessor",
        "/EHsc",
        "/TP",
        "/Wall",
        "/Od",
        "/std:c++20"
    ],
    "C_Cpp.default.cStandard": "c23",
    "C_Cpp.default.cppStandard": "c++20",
    "C_Cpp.doxygen.generateOnType": false,
    "C_Cpp.errorSquiggles": "enabled",
    "C_Cpp.formatting": "clangFormat",
    "C_Cpp.inlayHints.autoDeclarationTypes.enabled": true,
    "C_Cpp.inlayHints.autoDeclarationTypes.showOnLeft": true,
    "C_Cpp.inlayHints.parameterNames.enabled": true,
    "C_Cpp.inlayHints.referenceOperator.enabled": true,
    "C_Cpp.markdownInComments": "enabled",
    "C_Cpp.suggestSnippets": false,
    "[cuda-cpp]": {
        "editor.wordBasedSuggestions": "allDocuments",
        "editor.suggest.insertMode": "replace",
        "editor.semanticHighlighting.enabled": true
    },
    "extensions.closeExtensionDetailsOnViewChange": true,
    "extensions.ignoreRecommendations": true,
    "files.associations": {
        ".clang-format": "yaml",
        ".clang-tidy": "yaml",
        ".clangd": "yaml",
        "*.cu": "cuda-cpp",
        "*.cuh": "cuda-cpp",
        "*.h": "c",
        "*.c": "c"
    },
    "C_Cpp.default.intelliSenseMode": "windows-msvc-x64",
    "C_Cpp.caseSensitiveFileSupport": "enabled",
    "C_Cpp.preferredPathSeparator": "Backslash",
    "C_Cpp.vcpkg.enabled": false,
    "C_Cpp.configurationWarnings": "disabled",
    "C_Cpp.refactoring.includeHeader": "ifNeeded",
    "C_Cpp.inactiveRegionOpacity": 0.25,
    "C_Cpp.intelliSenseUpdateDelay": 2000,
    "C_Cpp.renameRequiresIdentifier": false,
    "C_Cpp.workspaceParsingPriority": "low",
    "C_Cpp.vcFormat.indent.caseContents": false,
    "C_Cpp.vcFormat.indent.lambdaBracesWhenParameter": false,
    "C_Cpp.vcFormat.indent.namespaceContents": false,
    "C_Cpp.vcFormat.newLine.beforeCatch": false,
    "C_Cpp.vcFormat.newLine.beforeElse": false,
    "C_Cpp.vcFormat.space.afterComma": false,
    "C_Cpp.vcFormat.space.afterKeywordsInControlFlowStatements": false,
    "C_Cpp.vcFormat.space.beforeBlockOpenBrace": false,
    "C_Cpp.vcFormat.space.beforeConstructorColon": false,
    "C_Cpp.vcFormat.space.beforeInheritanceColon": false,
    "C_Cpp.vcFormat.space.groupSquareBrackets": false,
    "C_Cpp.vcFormat.space.removeBeforeSemicolon": false,
    "C_Cpp.vcFormat.space.removeAroundUnaryOperator": false,
    "C_Cpp.vcFormat.space.removeAroundMemberOperators": false,
    "C_Cpp.vcFormat.space.preserveInInitializerList": false,
    "C_Cpp.vcFormat.space.withinInitializerListBraces": false,
    "C_Cpp.simplifyStructuredComments": false,
    "C_Cpp.codeAnalysis.clangTidy.codeAction.showClear": "None",
    "C_Cpp.sshTargetsView": "disabled",
    "C_Cpp.intelliSenseCacheSize": 0,
    "C_Cpp.intelliSenseMemoryLimit": 1024,
    "C_Cpp.maxMemory": 1024,
    "C_Cpp.maxSymbolSearchResults": 500,
}

The same issue on Windows 11. Intellisense is horribly slow and never finishes (for a source file https://github.com/anoban/cpp23/blob/main/rvopt.cpp with just 42 lines of C++ code it takes about 12 minutes immediately after cold start). On the other hand clangd with VSCode insiders does everything in a fraction of a second. I'm not trying to downplay the usefulness of this extension because this is the only extension that provides decent C, C++ debugging experience on Windows but it has become obnoxiously sluggish. Is there a way to fix this from my end? I used to allow it to use memory liberally for caching but it never helped and sometimes consumed up to 2 GiBs of memory so I've now limited those options.

Originally posted by @anoban in #12169

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions