Consider caching Alias & Command information
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- csharp, powershell
- Bereich
- performance
Rechercherichtung
Beginne in src/PowerShellEditorServices/Language/LanguageService.cs bei der verknüpften Suche in Zeile 327 und prüfe anschließend das in #980 beschriebene Verhalten der Integrated Console, einschließlich des ENTER-Handlers von PSRL und des Handlers von F8. Lege fest, wie Alias- und Befehlsinformationen zwischengespeichert und ungültig gemacht werden, wenn PSIC dirty ist; abgeschlossen ist die Arbeit, wenn Referenzen und codeLens-Anfragen die Pipeline nur verwenden, wenn der Cache aktualisiert werden muss.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
On every textDocument/references request and every textDocument/codeLens request, we rely on the pipeline to get the current available.
This is time consuming and bottlenecked by the pipeline thread. As such, we should consider caching this result based on the state of the Integrated Console.
Coming off the the back of #980, one of the patterns I liked was the ability to tell if something was run in the PSIC using PSRL’s ENTER handler and F8’s handler.
Bringing this concept in, we can use it as a “Dirty” check where we cache aliases and command info results, and only refresh the cache when the PSIC is Dirty.
That way, for example, our textDocument/references request and textDocument/codeLens request only rely on the pipeline once the cache is Dirty and an otherwise run unblocked giving us a perf improvement.
- Vorherrschende Sprache
- C#
- Sterne
- 767
- Forks
- 266
- Ø Merge
- 3 T. 16 Std.
- Gemergte PRs (30 T.)
- 1
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus PowerShell/PowerShellEditorServices
-
[Bug] None of the string overloads of `EditorExtensionServiceProvider.GetService()` work on .NET. Offen
PowerShell/PowerShellEditorServices#2331 · 1 Reaktion · 2 zugewiesene Personen ·
-
Area-Language Server Issue-Enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
PowerShell/PowerShellEditorServices#2315 · 1 Kommentar ·
-
Area-Debugging Issue-Enhancement
PowerShell/PowerShellEditorServices#2294 · 1 Reaktion · 2 zugewiesene Personen ·
-
Issue-Bug Needs: Triage
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
PowerShell/PowerShellEditorServices#2293 · 1 Kommentar ·
-
PowerShell/PowerShellEditorServices#2282 · 1 Kommentar · 1 Reaktion · 2 zugewiesene Personen ·
Alle Issues in PowerShell/PowerShellEditorServices
Ähnliche Issues
-
Documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
cake-build/cake#5024 ·
-
Frontend status/draft TechnicalDebt
Schwierigkeit 2/5 1-2 Tage Anfängerfreundlichkeit 75/100
Altinn/altinn-auth#4143 ·
-
.NET Flaky Test Testing Tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
getsentry/sentry-dotnet#5617 · 1 Kommentar ·
-
:watch: Not Triaged dotnet-fsharp/svc
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
Client customer-reported needs-team-attention question Service Attention WebPubSub
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Azure/azure-sdk-for-net#63292 · 3 Kommentare · 1 Reaktion ·