Hi!
I noticed that a lot of the examples using pygmo for optimization have to rely on some "hacks" (re-initializing the object for every thread: can be expensive and clunky) (one, two) to make the object pickle-able so the optimization can be parallelized. The fundamental issue as I understand it is the TransferTrajectory class: cloudpickle can't pickle this, and for me the lambda trick also doesn't circumvent this.
However, pybind11 offers pickling support if you define the appropriate methods on the C++ side. Is this something that's maybe desirable?
Hi!
I noticed that a lot of the examples using
pygmofor optimization have to rely on some "hacks" (re-initializing the object for every thread: can be expensive and clunky) (one, two) to make the object pickle-able so the optimization can be parallelized. The fundamental issue as I understand it is theTransferTrajectoryclass:cloudpicklecan't pickle this, and for me the lambda trick also doesn't circumvent this.However,
pybind11offers pickling support if you define the appropriate methods on the C++ side. Is this something that's maybe desirable?