Isn’t this given “for free” by the fact that it’s fork, even in standard multiprocessing? What does the library do extra?
In standard multiprocessing, all arguments are pickled and pushed to a queue for processes in the pool to use.
To pass heavy arguments, the trick to using CoW was to place them as global variables before the map.
My understanding from Mpire is that they do the same thing, but expose a `shared_objects` parameter to make it less hacky than global variables.
I guess their benchmarks compare against pickling arguments, not against using global variables/CoW, which is why they boast performance increase.
Multiprocessing std uses fork in linux distros already. I once ran a multiprocess code on Linux and Windows and there was a significant improvement in performance when running Linux.