PowerShell / PowerShell/PSScriptAnalyzer
PSSA should be crossgen'd
Personne n'a encore pris cette issue.
- Langage dominant
- C#
- Étoiles
- 2.2k
- Forks
- 414
- Merge moyen
- 13 h 1 min
- PR mergées (30 j)
- 2
Description
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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par PSSA.dll et les exigences signalées de CoreCLR crossgen et FullCLR ngen. Reproduisez la comparaison entre démarrage à froid et démarrage à chaud, puis vérifiez que les assemblies concernés sont précompilés et que le coût de démarrage ponctuel s’améliore.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- csharp, powershell
- Domaine
- performance, tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100