top | item 17580788

(no title)

bitcrazed | 7 years ago

I am not comparing performance of a terminal window - Cmd and PowerShell both run connected to the same terminal app - Windows Console (conhost.exe) as discussed ad nauseum in the posts that are the subject of this thread.

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.

discuss

order

romwell|7 years ago

Sure, sure, more functionality.

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 :)

bitcrazed|7 years ago

You mention Hyper. Are you running PowerShell connected to Hyper or Console?

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`