19 lines
630 B
PowerShell
Executable File
19 lines
630 B
PowerShell
Executable File
function Optimize-PowershellAssemblies {
|
|
# NGEN powershell assembly, improves startup time of powershell by 10x
|
|
$old_path = $env:path
|
|
try {
|
|
$env:path = [Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()
|
|
[AppDomain]::CurrentDomain.GetAssemblies() | % {
|
|
if (! $_.location) {continue}
|
|
$Name = Split-Path $_.location -leaf
|
|
if ($Name.startswith("Microsoft.PowerShell.")) {
|
|
Write-Progress -Activity "Native Image Installation" -Status "$name"
|
|
ngen install $_.location | % {"`t$_"}
|
|
}
|
|
}
|
|
} finally {
|
|
$env:path = $old_path
|
|
}
|
|
}
|
|
Optimize-PowershellAssemblies
|