microsoft / microsoft/vscode-cpptools

It takes way too long to finish tag parsing of modified files after a find/replace

Open
#13,609 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Language Service performance
Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

  1. Do a find/replace over many files.
  2. View the C/C++ logging for "tag parsing" messages.

Bug: It takes way too long to tag parse. Like each tag parse takes 1-2 seconds on Linux (seemed like 0.5-1 seconds on Windows), which is a lot slower than the speed of the initial tag parsing when a database is first created. From initial debugging it seemed like it could be some database update/lock issue.

But I don't think we've gotten a user complaint about this so I'm not sure how important it is to make this scenario faster.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the find/replace scenario across many files and watch the C/C++ logging for "tag parsing" messages. Compare modified-file tag parsing with the initial database creation path, focusing on the reported database update or lock behavior. Done means the repeated tag parses complete substantially faster, especially on Linux.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, cpp, linux
Domain
performance, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.