vscode-cpptools icon indicating copy to clipboard operation
vscode-cpptools copied to clipboard

cpptools IntelliSense Updating and Parsing Wrokspace speed is much slower than previous versions

Open LittleFatHero opened this issue 9 months ago • 3 comments

Environment

  • OS and Version: windows 10
  • VS Code Version: 1.89.0
  • C/C++ Extension Version: 1.20.5
  • If using SSH remote, specify OS of remote machine: ubuntu 20.04

Bug Summary and Steps to Reproduce

Bug Summary: My vscode is running in windows 10 and I connected to remote machine ubuntu 20.04 which has installed vscode server and cpptools using the ssh remote-SSH extensions. when I open a C source file and go to definition of a function, it could not jump to the definition because cpptools is Updating IntelliSense and Parsing Workspace. So I wait for cpptools to finish the job, but I found that it Parsing Workspace is extremely slower than previous version. My workSpace has about 100000 C source files.

  1. Why cpptools 1.20.5 verison feels slow than previous version?
  2. what is strategy of when Updating IntelliSense and Parsing Workspace? will it updating of the file on the workspace or only update the and parse the open file?
  3. Would it be possible to add a setting that allows the user to specify number of thread to use for parsing?

Steps to reproduce:

  1. Open the workspce which has about 100000 C source Files using vscode 1.89.0 and cpptools 1.20.5
  2. Count the time it takes to finish update Intellisense and Parsing workspace.
  3. compare the time with privous version of vscode and cpptools

Expected behavior: update Intellisense and Parsing workspace faster

Configuration and Logs

default config

Other Extensions

No response

Additional context

No response

LittleFatHero avatar May 09 '24 07:05 LittleFatHero

Hi @LittleFatHero . Would you be able to try out the various versions (including prerelease versions) between 1.89 and 1.20.5, to isolate which version seems to introduce the performance regression?

Colengms avatar May 10 '24 18:05 Colengms

Hi @LittleFatHero . Would you be able to try out the various versions (including prerelease versions) between 1.89 and 1.20.5, to isolate which version seems to introduce the performance regression?

ok, I will try it as soon as possible

LittleFatHero avatar May 16 '24 11:05 LittleFatHero

Hey @Colengms, this issue might need further attention.

@LittleFatHero, you can help us out by closing this issue if the problem no longer exists, or adding more information.

github-actions[bot] avatar Jun 16 '24 11:06 github-actions[bot]

Hi @LittleFatHero . Would you be able to try out the various versions (including prerelease versions) between 1.89 and 1.20.5, to isolate which version seems to introduce the performance regression?

Hi @Colengms , I'm sorry, I have been busy doing other thing and have no time to do this action. When the cpptools release a new version , is there any performance test about parse and intellisense? if not , maybe the team can do this when a new version is going to release. When there is a performance regression, the new version should not release?

a lot of guys has suffered from this! https://github.com/microsoft/vscode-cpptools/issues/12169

LittleFatHero avatar Jul 01 '24 02:07 LittleFatHero

@Colengms @LittleFatHero The performance issue started with 1.19.x -- it looks like it may be "by design" due to the workspace symbol search changes. I'm seeing roughly it take roughly 2-3 times the amount of time to parse/update the database and the database is roughly 50% bigger. We'll look into whether that can be improved.

sean-mcmanus avatar Jul 03 '24 17:07 sean-mcmanus

@LittleFatHero Fixed with https://github.com/microsoft/vscode-cpptools/releases/tag/v1.21.1

sean-mcmanus avatar Jul 16 '24 00:07 sean-mcmanus

@LittleFatHero Fixed with https://github.com/microsoft/vscode-cpptools/releases/tag/v1.21.1

we finally get a faster cpp tools, thanks you and all @sean-mcmanus

heartacker avatar Jul 16 '24 05:07 heartacker