Lee:

I believe you said that with your benchmarking code achieved good speedup when 
run as separate JVMs that were each running a single thread, even before making 
the changes to the implementation of reverse found by Marshall.  I confirmed 
that on my own machine as well.

Have you tried running your real application in a single thread in a JVM, and 
then run multiple JVMs in parallel, to see if there is any speedup?  If so, 
that would again help determine whether it is multiple threads in a single JVM 
causing the slowdown, or something to do with the hardware or OS that is the 
limiting factor.

Andy


On Dec 11, 2012, at 4:37 PM, Lee Spector wrote:

> 
> On Dec 11, 2012, at 1:06 PM, Marshall Bockrath-Vandegrift wrote:
>> So I think if you replace your calls to `reverse` and any `conj` loops
>> you have in your own code, you should see a perfectly reasonable
>> speedup.
> 
> Tantalizing, but on investigation I see that our real application actually 
> does very little explicitly with reverse or conj, and I don't actually think 
> that we're getting reasonable speedups (which is what led me to try that 
> benchmark). So while I'm not sure of the source of the problem in our 
> application I think there can be a problem even if one avoids direct calls to 
> reverse and conj. Andy's recent tests also seem to confirm this.
> 
> BTW benchmarking our real application (https://github.com/lspector/Clojush) 
> is a bit tricky because it's riddled with random number generator calls that 
> can have big effects, but we're going to look into working around that. 
> Recent postings re: seedable RNGs may help, although changing all of the RNG 
> code may be a little involved because we use thread-local RNGs (to avoid 
> contention and get good multicore speedups... we thought!).
> 
> -Lee

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