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

IntelliSense Updating and Parsing Workspace speed is much slower after 1.18.5 #12292

Closed
LittleFatHero opened this issue May 9, 2024 · 7 comments
Assignees
Labels
fixed Check the Milestone for the release in which the fix is or will be available. Language Service performance regression A bug that didn't exist in a previous release
Milestone

Comments

@LittleFatHero
Copy link

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

@Colengms
Copy link
Contributor

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?

@browntarik browntarik added performance Language Service more info needed The issue report is not actionable in its current state labels May 13, 2024
@LittleFatHero
Copy link
Author

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

Copy link

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.

@bobbrow bobbrow added this to cpptools Jun 17, 2024
@github-project-automation github-project-automation bot moved this to Triage in cpptools Jun 17, 2024
@bobbrow bobbrow removed the status in cpptools Jun 20, 2024
@LittleFatHero
Copy link
Author

LittleFatHero commented Jul 1, 2024

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!
#12169

@sean-mcmanus sean-mcmanus assigned sean-mcmanus and unassigned Colengms Jul 3, 2024
@sean-mcmanus
Copy link
Contributor

sean-mcmanus commented Jul 3, 2024

@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 sean-mcmanus added regression A bug that didn't exist in a previous release and removed more info needed The issue report is not actionable in its current state labels Jul 3, 2024
@sean-mcmanus sean-mcmanus moved this to Todo in cpptools Jul 3, 2024
@sean-mcmanus sean-mcmanus added this to the 1.21 milestone Jul 3, 2024
@sean-mcmanus sean-mcmanus changed the title cpptools IntelliSense Updating and Parsing Wrokspace speed is much slower than previous versions IntelliSense Updating and Parsing Workspace speed is much slower after 1.18.5 Jul 3, 2024
@sean-mcmanus sean-mcmanus pinned this issue Jul 3, 2024
@sean-mcmanus sean-mcmanus self-assigned this Jul 5, 2024
@sean-mcmanus sean-mcmanus modified the milestones: 1.21, 1.21.1 Jul 5, 2024
@sean-mcmanus sean-mcmanus moved this from Todo to In progress in cpptools Jul 5, 2024
@sean-mcmanus sean-mcmanus moved this from In progress to Pull Request in cpptools Jul 5, 2024
@bobbrow bobbrow modified the milestones: 1.21.1, On Deck Jul 15, 2024
@sean-mcmanus sean-mcmanus removed their assignment Jul 16, 2024
@sean-mcmanus sean-mcmanus moved this from Pull Request to Done in cpptools Jul 16, 2024
@sean-mcmanus sean-mcmanus added the fixed Check the Milestone for the release in which the fix is or will be available. label Jul 16, 2024
@sean-mcmanus sean-mcmanus modified the milestones: On Deck, 1.21.1 Jul 16, 2024
@sean-mcmanus
Copy link
Contributor

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

@heartacker
Copy link

@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

@sean-mcmanus sean-mcmanus unpinned this issue Jul 22, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Sep 6, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
fixed Check the Milestone for the release in which the fix is or will be available. Language Service performance regression A bug that didn't exist in a previous release
Projects
Status: Done
Development

No branches or pull requests

7 participants