Just out of interest (and I'm not trying to be combative here, I'm
genuinely curious) - it seems from many of your posts here that this is a
serious pain point for you. Why not just use another lisp? High-performance
numeric programming doesn't seem like Clojure's strong point and the error
handling is clearly difficult for you - why not some CL variant? Do other
benefits of Clojure compensate for these problems?


On 29 December 2013 12:42, Lee Spector <lspec...@hampshire.edu> wrote:

>
> On Dec 28, 2013, at 4:46 PM, Cedric Greevey wrote:
>
> > Eh, the above should just parallelize working with a single big
> population. It's not partitioned as far as making-the-cut is concerned, nor
> crossover (given that each thread adds its M crossover-generated entities
> by reference to the whole pool of survivors from the previous round). The
> only constraint the above scheme imposed, in fact, was to force the
> population size to be divisible by the number of cores, which could be
> relaxed with the only consequence being a mildly underutilized core
> (whichever got fewer than the others in its subpopulation). If you have
> dynamics involving subpopulations that are subjected to separate fitness
> cuts, reproductively isolated, or what-have-you, that just seems to afford
> more scope for parallelizing without the order of execution of particular
> bits of stuff on particular threads affecting things.
>
> Ah yes, I now see that you weren't operating on the subpopulations in ways
> that would change the global behavior. Sorry I read that too quickly, and I
> do appreciate the suggestions. You've specified some other things that
> aren't quite compatible with the ways we often do things (e.g. about how
> and when selection works), but those could be tweaked and in fact we
> already do many of the things that you suggest, with concurrent fitness
> evaluation using thread-local RNGs (although we sometimes actually see
> mysterious bad performance from this -- which led to this thread:
> https://groups.google.com/forum/#!searchin/clojure/abysmal/clojure/48W2eff3caU/p12kY9D8d1cJ
> ).
>
> The question is, would it be worth it to take the time to ensure that all
> of the RNG handling allows complete repeatability, and add the snapshotting
> (which presumably has both development and runtime costs), and add whatever
> would be needed to restart from a snapshot? Maybe, but since I generally
> don't actually care about repeatability, it seems like the long way around.
> If I could instead get Clojure to dump the values of locals when an
> exception is raised -- which is already available in some IDEs but not more
> generally -- then I wouldn't have any other reason to do this.
>
> 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 unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to