Changed shebang to use python3
Added basic concurrency to the main loop, after much fucking about.
Experimenting with different concurrency techniques
Giving up on concurrency for now. Not sure if it's just cygwin being shit or what, but there's no speed improvement with a ThreadPoolExecutor, and I can't use a ProcessPoolExecutor because cygwin doesn't do forking properly or something.
I'm an idiot and hate python whitespace. Point fitness begun
Host shared fitness, symbiont removal (maybe)
Fiddled with symbiont input to at least make it deterministic. It returns the sum of a side of the cube, specified by reg[0]
Switch to manual symbiont reference counting, as getrefcount is not acting as I hasd imagined. Also fix host generation
Change test params to give 50 psize and hsize rather than 10, as I am satisfied that the operation of everything with a population size of 10 is sane. We'll see.
Make register initialization determinstic during bidding
Logging, yay
erm, should probably remove the bits of test.py that override important params.
Log to file, updated some logging
A lot of stuff. Particularly, made Host picklable, changed host evaluation method, added proper concurrency.
Fiddled with concurrency some more
Fix Host.fill to obey symperhost properly. Was getting massive slowdown after many iterations, hopefully this will fix it
Let's fix host.eval to actually work
Support for two methods of host evaluation, and support for a couple of command line arguments
Added a lookup table for points and distances. Not sure how much it actually helps, but whatever. Also disabled logging because it kept breaking shit, not sure if that's to do with multiprocessing or what.
Lots of fiddling. Can actually leave this to run and it seems to do something good. Yay.