find-process
find-process copied to clipboard
Switched to PS Core with a legacy PS fallback
PSCore has a faster load time and offers the same functionality required for find-process over the legacy .NET Framework based versions.
This change is to switched the PowerShell spawning to prioritize PSCore (pwsh.exe) over the legacy PS versions (powershell.exe) by manually performing the binary lookup to pass in to the utils.spawn
command before executing. If the pwsh.exe executable exists, it will execute that, and if not it will attempt to find a powershell.exe executable instead. If none is found, an error is thrown.
Milage may vary, but with my local testing I see on average ~450ms of a speed reduction. (The PSCore version taking aprox ~450ms to run, PS Legacy taking ~900ms).