When I need more, I just type 'bash'. And bash also starts faster than PowerShell or Hyper.
So I don't see why they now change WIN+X and Explorer to use PowerShell rather than cmd.exe.
Keep improving cmd.exe. But please don't make it bloated.
When I need more, I just type 'bash'. And bash also starts faster than PowerShell or Hyper.
So I don't see why they now change WIN+X and Explorer to use PowerShell rather than cmd.exe.
Keep improving cmd.exe. But please don't make it bloated.
On top of that you can actually go in and customise it quite a bit to your own liking as it's just a folder inside your local app data: C:\Users\YourWindowsUsername\AppData\Local\Microsoft\Windows\WinX
HKCR\*\shell\Console Here\command
Default="%WINDIR%\system32\cmd.exe"
HKCR\Directory\shell\Console Here\command
Default="%WINDIR%\system32\cmd.exe /k cd %1"I found out recently you can just type "cmd" in the Explorer address bar and hit enter and it'll open cmd.exe to the current directory, so long as you're not in a special shell folder or an unmapped network share. That's saved me a bunch of time.
Your pointer will save me time.
I enjoy you chose Hyper.js, which uses electron. I'm not sure what speed you were expecting there. You might try ConEmu https://conemu.github.io/.
ConEmu takes about 1 full second to open a new window. Not too bad.
But oddly enough, opening a new split panel takes about 2 seconds, which IMO is starting to feel slow, but it's not too big of a deal.
Two questions:
1. Does your machine use a spinning disk for its system drive, or SSD? If the former, that's slowing you down more any anything else. STRONGLY recommend moving to SSD system drive if so. 2. Have you tried `powershell /noprofile` from Run dialog or Cmd? If you're still seeing PowerShell take > 600ms to load and start, likely something else is up.
If you're expecting PowerShell to load faster than ~600ms, your expectations are likely a little out of whack - Cmd loads so fast because it's tiny and - relatively speaking - as dumb as a stump. PowerShell is a .NET language, and so loads the CLR, so incurs some overhead vs. Cmd, but it does A TON more that'll save you more time and effort over-all than any amount of time saving vs. starting Cmd.
HTH.
This doesn't come cheap. Electron consumes & fills ~100MB working set just to get rolling, plus several more tens of MB to load, compile and execute.
For example, on my 16GB Core-i7 Surface Pro 4, starting a single Hyper instance connected to Cmd, requires 134MB. Starting Console takes < 1s, and consumes 6MB.
>1. Does your machine use a spinning disk for its system drive, or SSD?
This really shouldn't be a question regarding the performance of a terminal window.
If cmd.exe starts fast regardless, then so should Powershell if it is going to replace it.
And on that note, on a new laptop with an SSD I can see a difference between Powershell and cmd.exe execution-to-prompt-ready time (however small that latency is).
As long as that's the case, Powershell simply isn't a viable replacement for cmd.exe
But you're comparing a 30+ year old command-line shell that was built in 1989 to primarily provide compatibility with MS-DOS, with a modern object-based shell that runs atop the .NET CLR and provides VASTLY more power and capability than the MUCH older, simpler, shell that it supersedes.
It's like comparing startup perf of Notepad and VSCode … and saying that you won't use VSCode until it starts up as quickly as Notepad, even if VSCode saves you HOURS more per day/week than using Notepad would.
That's not an excuse for the startup time of a shell not being instantaneous on a modern system.
To harness the power, I write Powershell scripts (yay no more batch files), but it's just too annoying to experience the startup lag to use the shell for the simplest tasks (e.g. simply running a console application).
That shouldn't be the case.
PS: "modern object-oriented" was all the hype in the 80-s. It's not an excuse for a performance hit today :)
If you're running Hyper, note that this alone takes 6s to (warm) start Cmd on my 16GB RAM Core-i7 Surface Pro 4.
PowerShell takes ~1.2s to (warm) start connected to Console, while also starting a half dozen modules and scripts in my PowerShell user profile.
PowerShell takes < .7s to start when run with `-NoProfile`
And Powershell Core (Powershell 6) is quite snappy. Try it out. They changed the name to pwsh.exe, you can have them in parallel in your PATH.
Powershell 6 preview is much faster (not as fast as bash but does more)
Frankly, given how superior powershell is as a language (both to cmd and bash) it is beyond me why anyone would consider a small startup cost difference a dealbreaker anyway.
It's not a dealbreaker, but it's definitely an annoyance.