Am I reading this right that this is actually a Java problem, and not
clojure-specific? Wouldn't the rest of the Java community have noticed
this? Or maybe massive parallelism in this particular way isn't something
commonly done with Java in the industry?

Thanks for the patches though - it's nice to see some improvement... I'll
be fascinated to see how this turns out in the end. Have we found a large
Java bug?

On Sun, Dec 30, 2012 at 9:28 PM, cameron <cdor...@gmail.com> wrote:

> I've posted a patch with some changes here (
> https://gist.github.com/4416803), it includes the record change here  and
> a small change to interpret-instruction, the benchmark runs > 2x the
> default as it did for Marshall.
> The patch also modifies the main loop to use a thread pool instead of
> agents and allows you to set the number of threads, this might help
> diagnosing the parallel performance issue.
>
> On the modified benchmark I'm seeing ~4x speedup with the parallel version
> on an 8 core machine and the profiler reports that the parallel version is
> using twice as much cpu time.
>
> I also had another look at the native calls issue & modified the clojure
> runtime to avoid most to the calls the profiler said were taking
> significantly more time in the parallel version, it did speed things up but
> only by ~6%, not the large margin the profiling results had led me to
> believe were possible, it looks like the profiler overstates these methods
> times. The modified clojure 1.5 is available here
> https://github.com/cdorrat/clojure/commit/dfb5f99eb5d0a45165978e079284bab1f25bd79fif
>  anyone's interested
>
> YourKit is reporting that a number of clojure.core functions are taking
> longer in the parallel version than the serial and they all seem to be
> methods that have one or more instanceof or instance? calls but given the
> results above I'm not sure how much weight to give this.
>
> It's seems the elephant is still in the room and responsible to ~50% of
> the cpu time :)
>
> Cameron.

-- 
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