PowerShell / PowerShell/PSScriptAnalyzer

PSSA should be crossgen'd

Offen
#991 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Area - Build
Vorherrschende Sprache
C#
Sterne
2.2k
Forks
414
Ø Merge
13 Std. 1 Min.
Gemergte PRs (30 T.)
2

Beschreibung

Doing some perf tests and there's a large impact to the first time PSSA.dll is loaded due to JIT.
However, after the initial JIT, execution time is MUCH faster. But for cases where PSSA is invoked just once, it's a huge cost without savings as the JIT is only in memory until the process goes away.

These times are for using PSSA recursively against all scripts in PowerShell repo:

PowerShell dotnet cold start (JIT) warm start
WinPS 5.1 .Net 4.7.1 111s 18.6s
PSCore6 .NetCore2.1 105s 16.4s
PSCore6 .NetCore2.1+Tiered 90s 16.8s

Tiered is a new opt-in compilation feature of dotnetcore2.1 that balances startup and runtime optimizations.

My conclusion is that we should crossgen (coreclr) and ngen (fullclr) assemblies.

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

Beginnen Sie mit PSSA.dll und den gemeldeten Anforderungen von CoreCLR crossgen und FullCLR ngen. Reproduzieren Sie den Vergleich zwischen Kalt- und Warmstart und überprüfen Sie anschließend, dass die relevanten Assemblies vorkompiliert sind und sich die einmaligen Startkosten verbessern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, powershell
Bereich
performance, tooling
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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