4 ms·
I'm very familiar with the live editing aspect of Clojure, and I like it a lot actually. What I am saying is that Clojure's long startup time is still annoying
by synthc 4y ago
I'm very familiar with the live editing aspect of Clojure, and I like it a lot actually.
What I am saying is that Clojure's long startup time is still annoying if you want to restart, for example if you trashed your repl session or want to start with a clean slate.
If Clojure would start fast enough it could also be used for CLI scripts and we would not need Babashka at all.
All in all, I think Clojure is a great language, but the slow startup time is still a disadvantage.
- jeff303 4y agoWait, how slow is it starting for you? On my 2012 Mac Mini, a clean clj 1.11 REPL (with no namespaces loaded) starts in under 5 seconds (using JDK 18).
- synthc 4y agoNo namespaces loaded is not a very good benchmark IMO, a real project will have lots of them. I've worked on a large project with many namespaces and dependencies and it took about 20 seconds.
- didibus 4y agoThat seems pretty slow, I've never had it take more than 5 seconds, even on large enterprise backend services. Maybe your service was also initializing a lot of state/components on startup?
- didibus 4y agoSure it's a disadvantage, but the way you say it makes it sound like it results in a terribly slow development experience where you're constantly waiting for it to start. The truth is, the development experience actually gives you much faster feedback with almost no waiting time as compared to the majority of other languages. That means the impact of the slow startup isn't really felt. I think where slow startup is a bigger issue is actually for certain production use cases, like CLIs, or serverless settings. There it would be awesome if Clojure JVM also started in sub-millisecond, and we didn't have to change to Clojure interpreted like babashka, or Clojure GraalVM native compilation.