erp12 / pyshgp

Push Genetic Programming in Python.
http://erp12.github.io/pyshgp
MIT License
74 stars 23 forks source link

Added parallelism back. #123

Closed erp12 closed 5 years ago

erp12 commented 5 years ago

Alas, with pure python our options for parallelism are limited.

I have implemented 4 different ways of performing this parallelism and compared them on performance, complexity, and flexibility. What I have settled on is a particular way of using the python multiprocessing library.

The biggest downside to this method is that it requires anything that appears in Push programs and evaluators to be serializable with the built-in pickle serialization. This means no lambda functions allowed.