5 ms·
JVM startup time is not great but it's not horrible either. Especially in the context of desktop apps that are often started once and kept running for a long ti
by zorr 5y ago
JVM startup time is not great but it's not horrible either. Especially in the context of desktop apps that are often started once and kept running for a long time. With some care it is definitely possible to spin up a JVM and display an initialized window within 1 or 2 seconds. Which is roughly the same time as Gimp or Krita or Thunderbird take to startup on my machines.
I even have a few git-style CLI tools that bootstrap a JVM on each invocation without using optimized graalvm/native images.
- ithrow 5y agoI guess you are not familiar with Clojure, it adds a lot overhead over the overhead of the JVM to startup time.
- capableweb 5y agoJust to add some reference to why it can take a long time to start a REPL (for example): > As it turns out, Clojure start time is a complicated and multi-dimensional topic. Clojure projects are slow to start not only because of JVM — JVM itself starts in ~50 ms — but because of JVM specifics the classes are loaded slowly. Clojure projects are slow to start not only because of Clojure — Clojure itself starts in ~1 second — but because of Clojure specifics, the namespaces, especially not AOT-compiled one, are loaded slowly. And so on. http://clojure-goes-fast.com/blog/clojures-slow-start/ http://clojure-goes-fast.com/blog/clojures-slow-start/ A more recent comparison of Clojure, Java and some other Clojure-inspired languages: https://stuartsierra.com/2019/12/21/clojure-start-time-in-2019 https://stuartsierra.com/2019/12/21/clojure-start-time-in-20...
- letwhile 5y agoIf your estimation of "time to window" is correct, clojure seems like a very bad choice for this undertaking.
- tonsky 5y agoJWM (a window library that I plan to use) shows a fully initialized window in 600-700 ms on M1 mac for me. That’s without Clojure, but with JVM overhead https://github.com/humbleui/jwm https://github.com/humbleui/jwm