(original) (raw)
Yes - “func” (and “self” which func is bound to) would be copied to each child worker process, where they are stored and applied to each element of the iterable being mapped over.
On Fri, Oct 12, 2018 at 10:41 AM Antoine Pitrou <solipsis@pitrou.net> wrote:
On Fri, 12 Oct 2018 09:42:50 -0400
Sean Harrington <seanharr11@gmail.com> wrote:
> I would contend that this is much more granular than Dask - this is just an
> optimization of Pool.map() to avoid redundantly passing the same `func`
> repeatedly, once per task, to each worker, with the primary goal of
> eliminating redundant serialization of large-memory-footprinted Callables.
> This is a different use case than Dask - I don't intend to approach the
> shared memory or distributed computing realms.
>
> And the second call to Pool.map would update the cached "self" as a part of
> its initialization workflow, s.t. "the latest version of self when map() is
> called is taken into account".
I still don't understand how that works. If you "updated the cached
self", then surely you must transmit it to the child, right?
Regards
Antoine.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: https://mail.python.org/mailman/options/python-dev/seanharr11%40gmail.com