No matter how hard it may be to say or accept it, I think that the real answer for this whole GIL/process thing is to just buckle down and start getting better at using processes.
We just need more practice using processes, and we need better tools to use them. The multiprocessing module is a TERRIFIC example of this. Now it’s easy to write tools from the process-domain. Other than the technical difficulty of writing code to manage child processes and use shared memory, I can’t think of a single reason why we shouldn’t just be using processes instead of threads.
My motivation for this comes completely from the annoyance of the gil.
Unfortunately, I have no idea how to reliably start and stop a child process on both windows and mac, and I have never used shared memory. It seems like a really great library to do just that and to map objects in shared memory as if they were in the same processes would be the real killer “app” here.
I mean seriously…