On Sun, Feb 12, 2012 at 5:44 AM, pron <ron.press...@gmail.com> wrote:
> So my question is, what is the
> "behavior profile" for persistent collection nodes in Clojure applications,
> and what is their measured effect on GC.

I think that's going to depend on what your code does and how it
behaves - which is the same answer pretty much regardless of the
language used: you profile your app under load and you tune your JVM
settings, including GC behavior. I suspect some Clojure apps will
behave poorly with default settings, just like some Java apps do. It's
also a truism that an application written in Java will likely have a
very different JVM performance profile than "the same" app written in
Clojure (or any other language sufficiently different from Java)
because they're not really "the same" at all.

In other words, I agree with your conclusion that a purely functional
application based on persistent data structures will have a different
GC profile to a purely imperative application based on mutable data
structures. That doesn't imply Clojure will be worse (or better) than
the Java "equivalent", merely different.

The Scala community has also dealt with this difference because they
have persistent data structures and knowledge is shared back and forth
between the Clojure and Scala implementors. They've done a lot of work
ensuring persistent data structures perform well on the JVM. Check out
Phil Bagwell's talk from Clojure/conj for more detailed information:

http://blip.tv/clojure/phill-bagwell-striving-to-make-things-simple-and-fast-5936145
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to