Whoops, sorry about the link. It should be able to be found here: http://gibson.hampshire.edu/~josiah/clojush/
On Wed, Dec 19, 2012 at 11:57 AM, Wm. Josiah Erikson <wmjos...@gmail.com>wrote: > So here's what we came up with that clearly demonstrates the problem. Lee > provided the code and I tweaked it until I believe it shows the problem > clearly and succinctly. > > I have put together a .tar.gz file that has everything needed to run it, > except lein. Grab it here: clojush_bowling_benchmark.tar.gz > > Then run, for instance: /usr/bin/time -f %E lein run > clojush.examples.benchmark-bowling > > and then, when thWhooat has finished, edit > src/clojush/examples/benchmark_bowling.clj and uncomment > ":use-single-thread true" and run it again. I think this is a succinct, > deterministic benchmark that clearly demonstrates the problem and also > doesn't use conj or reverse. We don't see slowdowns, but I cannot get any > better than around 2x speedup on any hardware with this benchmark. > > I hope this helps people get to the bottom of things. > > -Josiah > > > > On Sun, Dec 16, 2012 at 4:54 PM, Lee Spector <lspec...@hampshire.edu>wrote: > >> >> On Dec 14, 2012, at 10:41 PM, cameron wrote: >> > Until Lee has a representative benchmark for his application it's >> difficult to tell if he's >> > experiencing the same problem but there would seem to be a case for >> changing the PersistentList >> > implementation in clojure.lang. >> >> We put together a version of our application in which we just replaced >> all of the random calls with deterministic functions (returning either >> constants or deterministic functions of their arguments). >> >> What we saw was a maximum speedup of less than x2 on a 48 core machine, >> which was interesting in part because the determinism meant that only a >> tiny subset of our code was being executed (because all of the Push >> programs in the population were identical and used only a single Push >> instruction). So I think that this may indeed help us to hone in on the >> problem. >> >> Before we share that code, however, we should make sure that the >> evaluations that are being done concurrently are sufficiently long-running, >> and maybe tweak a couple of other things. I think we'll have a chance to do >> that early in the week and we'll share the results/code when we do. >> >> Thanks, >> >> -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 >> > > -- 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