This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kieleth
Recipients josh.r, kieleth
Date 2015-04-17.22:45:15
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1429310715.44.0.45773181343.issue23979@psf.upfronthosting.co.za>
In-reply-to
Content
Thanks for answer, although I still think I haven't made myself fully understood here, allow me to paraphrase:
"...You need some means of transferring objects between processes, and pickling is the Python standard serialization method" 

Yes, but the question that stands is why Pool has to use a multiprocess.Queue to load and spin the workers (therefore pickling-unpickling their arguments), whereas we should just inheriting in that moment and then just create a Queue for the returns of the workers.

This applies to method "fork", not to "spawn", and not sure for "fork server".

Plus, I'm not trying to avoid inheritance, I'm trying to use it with Pools and large arguments as theoretically allowed by forking, and instead at the moment I'm forced to use Processes with a Queue for the results, as shown in the code above.

"OverflowError: cannot serialize a bytes object larger than 4 GiB" is just what allows us to expose this behavior, cause the Pool pickles the arguments without, in my opinion, having to do so.
History
Date User Action Args
2015-04-17 22:45:15kielethsetrecipients: + kieleth, josh.r
2015-04-17 22:45:15kielethsetmessageid: <1429310715.44.0.45773181343.issue23979@psf.upfronthosting.co.za>
2015-04-17 22:45:15kielethlinkissue23979 messages
2015-04-17 22:45:15kielethcreate