3 ms·
I find the aggressive tone of Jon's post surprising and I'm troubled by it. I write code in Clojure, deploy on the JVM using Amazon's Linux servers and GC paus
by jwr 16y ago
I find the aggressive tone of Jon's post surprising and I'm troubled by it.
I write code in Clojure, deploy on the JVM using Amazon's Linux servers and GC pauses are a very real issue for us. Azul has been working on this problem for years and I'm quite happy that they decided to open-source a large part of their work.
Now, before you jump on me with the obvious — I do not advocate pushing crappy or unclear code into the kernel. But I'd much rather see a healthy discussion than this childish "take your toys and go away, we don't like you and you're not welcome here" attitude.
- tomjen3 16y agoThe Java guys have spend a fair amount of time tuning and improving garbage collectors. Given that you run clojure, have you considered trying to use a concurrent garbage collector?
- hga 16y agoWhile reading about their related packaged product I saw Azul claim that they have the only concurrent GC JVM. It's a hard problem and especially so on stock hardware where doing the sorts of things they do is necessary, e.g. read barriers implemented with virtual memory hardware and a fast interface to that. I've considered playing with this sort of thing (especially a Clojure tuned GC, for I suspect idiomatic Clojure behaves differently than standard imperative Java), but it's a lot of work (needs either a native Clojure implementation, which ought to wait on Clojure-in-Clojure, or working on an existing VM and the fast ones like Hotspot are messy).
- jwr 16y agoWe are using the Concurrent Mark-Sweep collector now, but this doesn't solve the problem completely. You still get pauses when Full GC occurs.