Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why is Hyper startup slow on Windows? #2980

Open
reaCodes opened this issue May 5, 2018 · 27 comments
Open

Why is Hyper startup slow on Windows? #2980

reaCodes opened this issue May 5, 2018 · 27 comments
Labels
📊 Type: Performance Issue contains information about a performance issue in Hyper

Comments

@reaCodes
Copy link

reaCodes commented May 5, 2018

  • OS version and name: Windows 10 17134.1
  • Hyper.app version: 2.0.0

Issue

Why is Hyper startup slow on Windows? CMD is the fastest, then is PowerShell. But Hyper is slow than PowerShell. On my laptop, Hyper takes 4 seconds to startup.

Are there some ways to speed up Hyper?

(Note: I am talking about the speed of startup, not the speed of other aspects. In other areas, they have little difference in speed.)

@dlynchcodes
Copy link

I think it's just an electron thing. With modern desktops having lots of RAM, I'd love an option for hyper to close to the tray but stay in memory. I habitually close things when I don't need to.

@reaCodes
Copy link
Author

reaCodes commented May 9, 2018

So it starts slowly, and it's true

@albinekb
Copy link
Contributor

albinekb commented May 9, 2018

Help is welcome to improve it @reaCodes 👍 There's lots of things that could be improved in the startup process.

On my Macbook it opens in 2 seconds (cold start with plugins), while the built in terminal opens in about 1 second, I don't think that's slow.

I wonder why you're seeing 4 seconds, do you have any plugins installed? What CPU do you have?

@albinekb albinekb added the 📊 Type: Performance Issue contains information about a performance issue in Hyper label May 9, 2018
@jinxw
Copy link

jinxw commented May 11, 2018

me too
my cpu is i5-8250u
8g ram
nvme ssd
window10 1703
also start slow(about 4 s)

@reaCodes
Copy link
Author

Because of the startup time, I still often use CMD and PowerShell

@qexk
Copy link

qexk commented Jun 26, 2018

What did you expect from an Electron app

@p-sherratt
Copy link

@albinekb - check out the following gist - it seems this may help? https://gist.github.com/paulcbetts/da85dd246db944c32427d72026192b41

@leodutra-aurea-zz
Copy link

leodutra-aurea-zz commented Jul 30, 2018

WebTorrent and VS Code starts faster than their most famous contenders, @Aksamyt ...
It is not an Electron issue.

@daviesalex
Copy link

@p-sherratt apologies for the stupid question, but for a non-JS dev, where would that gist go (for a Hyper install on Windows)? Top of resources/bin/cli.js? Very happy to try it and report back .

Given that the install of Hyper isnt likely to change during the process of starting, this does seem like a sensible optimization. We are seeing much higher startup latencies on high end hardware; I suspect partly because our "My Documents" is a network share and even offline there is some additional latency on the Windows side. We do not see these latencies with software like Chrome.

@doublemcz
Copy link

+1

@Dimension4
Copy link

Any updates on this (including @daviesalex's question)? I would love to use a good looking terminal emulator. But a startup time of 3-5s on my system is unacceptable as I only need a couple of seconds for most of my tasks before I close the terminal again.

My hardware:
i7-6800k @ 4.1ghz
GTX 1080Ti
32gb DDR4 RAM
M.2 SSD
Windows 10 Pro 17763

@FMGordillo
Copy link

+1

@UltraCakeBakery
Copy link

Any progress on this? Running on a top-of-the-line machine and it still takes 3 to 4 seconds...

@thebadhatter
Copy link

I believe it has to do with plugins. If you have the plugins you use loaded locally rather than every time you start hyper it tries to update them it will load much quicker. Anyone want to test my this I need to load up hyper and try it but I believe that is what I had done in the past to speed up the load time. I think it will speed up the load time significantly.

@ghost
Copy link

ghost commented Jan 24, 2019

It's not related to plugins. I've got no plugins installed and my PC is running on a $600+ CPU from Intel and still, Hyper starts slow. (And Hyper executable files are installed on a M.2 SSD)
https://streamable.com/n51ch

@thebadhatter
Copy link

thebadhatter commented Jan 27, 2019

Loading personal and system profiles took 1289ms.
~ $

Is how long mine takes, So I can relate. It used to take much longer for me. (exact amount of time I do not remember.)

I'd like to find out at what point what is taking so long to load as well.

@glen-84
Copy link

glen-84 commented Feb 4, 2019

Does Hyper use V8 snapshots? If not, that would probably help.

@juancampa
Copy link
Contributor

Does Hyper use V8 snapshots?

FYI I have a branch with v8 snapshots but didn't see any significant improvement on Linux. I need to set up a windows VM and test it there.

If anyone wants to try it on windows, I can publish it later today

@ppot
Copy link
Contributor

ppot commented Feb 4, 2019

It is due to session being created and after the windows since we attach the session to the window. This can be optimised by detaching the pty and session from the creation as having a RPC binding between the two, This way we can open the UI while the session is not yet created and attach it once it's ready.

@juancampa
Copy link
Contributor

It is due to session being created and after the windows

@ppot this should help then: #3352, it's in the 3.0.0 canary build if you want to test it

@ppot
Copy link
Contributor

ppot commented Feb 4, 2019

Look faster on canary. Would need to metrics the boot time of the app. but it's faster indeed.

@ppot
Copy link
Contributor

ppot commented Feb 6, 2019

Test from console.

Canary 3.0.0-stable6

  1. One new window
    • test 1 : total init time 180.20000000251457
    • test 2 : total init time 150.69999999832362
  2. Invoke two new windows
    • First : total init time 188.90000000828877
    • Second : total init time 153.69999999529682.

stable release 2.1.2

  1. One new window
    • test 1 : total init time 493.93
  2. Invoke two new windows
    • First : total init time 475.395
    • Second : total init time 503.905

Total Rounded MS for 3 windows:
Canary 3.0.0-stable6 : 523ms
stable release 2.1.2 : 1.473ms

Startup speed acceleration: stable release 2.1.2 / Canary 3.0.0-stable6 = 2.816

Disclaimer: Based on theses metrics, it is clear the the startup of the canary is faster then the latest stable, Optimistic session creation from #3352 helped optimising the startup of 281.64%.
Note: This stats is based on three windows in order to get some different metrics. To have a better metric it would implify having multiple test case of window startup such have different panes layer set.

@juancampa I will close this for now and if other complaints, we can investigate more.

@ppot ppot closed this as completed Feb 6, 2019
@glen-84
Copy link

glen-84 commented Feb 6, 2019

Looks promising, but shouldn't this remain open until the release is available?

@ghost
Copy link

ghost commented Feb 7, 2019

Leave it open until the release is there please.

@ppot ppot reopened this Feb 8, 2019
@ppot
Copy link
Contributor

ppot commented Feb 8, 2019

Will keep it open until release

@eromoe
Copy link

eromoe commented Mar 28, 2019

Canary 3.0.0 c8 startup cost 3 ~4 s

@desplodur
Copy link

Any new information about a release date?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📊 Type: Performance Issue contains information about a performance issue in Hyper
Projects
None yet
Development

No branches or pull requests