> > My guess is that the resulting ephemeral garbage would have only a > > small effect on performance > > An interesting data point on ephemeral garbage that was quite > eye-opening: Somewhere in the talk below, Cliff Click says that the > problem with high-volume ephemeral garbage lies in the cache trashing > behavior of "streaming allocation" -- which itself results from the > JVM's neat pointer-bumping allocator being used to allocate lots of > highly ephemeral garbage.
Yes, that's a great presentation and I'd be the last one to contradict Cliff Click on JVM performance, but I think it's somewhat out of context here. I'll only respond by quoting Rich Hickey (see http://markmail.org/message/ygt2nhjqoo6cyy77): "One of the critical design requirements was to treat ephemeral garbage as cheap, and that has worked well in practice - the JIT and optimizers seem extremely good with short term ephemeral memory use and all-final immutable classes." Of course, that's an old quote, he's talking about _persistent_ data structures there, and transients are specifically intended to be even lower overhead for the cases that it's safe. But until somebody actually tries it I'm just not convinced that the penalty isn't small enough to be justified for more understandable behavior. -moss -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en
