Implement Multiprocessing for Iterators
Summary
AssemblyIterators are yielding a lot of assemblies in a short time which can then be used to, e.g., generate kinematic models of the according robots. This process would easily be parallelizable with pythons multiprocessing
library. In fact, it is possible at the moment -- but the pickle functionality that was introduced for Assemblies in !71 (merged) is very slow and heavily limits the use of parallelization. What is needed is a fast serializing/deserializing and some tests to improve the speed.
Expected behavior
Quick and easy parallel assembly evaluation with either mp.Pool
or mp.Queue
What's is needed for?
Fast __getstate__
and __setstate__
methods for the ModuleAssembly class.
/cc @JonathanKuelz