3 ms·
I have been curious about Clojure for a while. I have the Manning MEAP for his book and I have watched Rick Hickey's introduction videos. My first impression
by badmash69 16y ago
I have been curious about Clojure for a while. I have the Manning MEAP for his book and I have watched Rick Hickey's introduction videos. My first impression is that is a very well thought out language; my biggest concern is the performance benchmarks : http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=clojure&lang2=scala http://shootout.alioth.debian.org/u64q/benchmark.php?test=al...
Clojure seems to be consuming more memory and is generally slower by significant margins compared to Scala ( or java). I would be interested in hearing from anyone using this in a high performance mission critical application like in a bank or in financial services ? What was your response time like under heavy load ? How did you justify this to your management?
- nickik 16y agoI don't think its fair to expect Scala or Java performance from Clojure. Clojure is only three years old. Scala had much more time to work on performance. Clojure will get faster. The community is very performance aware. In a Bank or financial institute I would rather write something save that can scale but these institute prefere static typing most of the time so Scala may be a better fit.
- swannodette 16y agoUPDATE: This post by the fellow leading the Clojure Alioth effort shows that the JVM GC settings are probably off for some of the benchmarks, http://groups.google.com/group/clojure/msg/8de18e3719aa376a http://groups.google.com/group/clojure/msg/8de18e3719aa376a. This shows just how early days it is for Clojure microbenchmarks :) Those are benchmarks for Clojure 1.2.0. The Clojure 1.3.0 alphas introduce quite a few things that specifically make numerical code quite a bit faster as well as boosting overall performance. Being competitive with Scala and Java is a real goal for Clojure so expect the performance story to continue improve for some time. While I don't know of any real-world Clojure cases for mission critical applications - Clojure has been run Azul boxes where the GC is collecting some like 6gbs a sec. Turns out that only takes up about 6% of CPU time. So I think Rich is onto something here about the memory cost of immutable data structures in high performance code and the incredible guarantees of the JVM's GC. On Alioth microbenchmarks you probably won't see those benefits.
- igouy 16y agoNotice that the other JVM language implementations haven't tried to reduce memory use by tuning JVM GC settings.