
On Sun, Jun 21, 2015 at 4:25 AM, Nick Coghlan <ncoghlan@gmail.com> wrote:
We already have the tools to do deep copies of object trees (although I'll concede I *was* actually thinking in terms of the classic C/C++ mistake of carelessly copying pointers around when I wrote that particular message). One of the options for deep copies tends to be a pickle/unpickle round trip, which will still incur the serialisation overhead, but not the IPC overhead.
This does make me wonder if it would be worth pursuing a mechanism for encapsulating an object graph, such that it would be easier to manage/copy the graph as a whole.
"Faster message passing than multiprocessing" sets the baseline pretty low, after all.
However, this is also why Eric mentions the notions of object ownership or limiting channels to less than the full complement of Python objects. As an *added* feature at the Python level, it's possible to initially enforce restrictions that don't exist in the C level subinterpeter API, and then work to relax those restrictions over time.
Precisely. -eric