You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Genomes within the same generation do not depend on each other in any way. It ought to be possible to evaluate all of the Genomes in a given generation in parallel.
The text was updated successfully, but these errors were encountered:
I started working on this on a branch. I ended up hitting issues with the borrow checker - as soon as we try to pull more than one Species or Genome at the same time, it gets understandably grumpy.
I went on a long tangent in another branch, thinking that by switching Species and Genome storage to a HashMap that it would solve the issue. While it allows us to pull individual items from Pool.species and Species.genomes, I completely overlooked the fact that we still end up borrowing multiple times from the Pool to do so.
At this point, the only way I can think to get parallel evaluation to work is to allow Species and Genomes to be fully removed from the Pool at the start of each generation, and then put back in at the end, before the new generation is spawned. I think this could work if we had a method on the Pool that returned a Box'ed Species, and then a comparable method that accepts a Box'ed Species to move it back in. (Or maybe this is way off - my knowledge of Box is quite limited.)
Genomes within the same generation do not depend on each other in any way. It ought to be possible to evaluate all of the Genomes in a given generation in parallel.
The text was updated successfully, but these errors were encountered: