microsoft / microsoft/vscode-cpptools

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

Offen
#13,609 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug Language Service performance
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

  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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Find/Replace-Szenario über viele Dateien hinweg und beobachte das C/C++-Logging auf Meldungen zu „tag parsing“. Vergleiche das Tag-Parsing geänderter Dateien mit dem ursprünglichen Pfad zur Datenbankerstellung und konzentriere dich dabei auf das gemeldete Verhalten bei Datenbankaktualisierungen oder Sperren. Als erledigt gilt es, wenn die wiederholten Tag-Parses deutlich schneller abgeschlossen werden, insbesondere unter Linux.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, cpp, linux
Bereich
performance, tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.