Idea for removing the GIL...

Roy Smith roy at
Tue Feb 8 17:52:36 CET 2011

In article <mailman.13.1297183120.1633.python-list at>,
 Robert Kern <robert.kern at> wrote:

> Unlike a UNIX fork, CreateProcess() does not have the same copy-on-write 
> semantics for initializing the memory of the new process. If you want to pass 
> data to the children, the data must be pickled and sent across the process 
> boundary. He's not saying that multiprocessing isn't useful at all on 
> Windows, just less useful for the scenarios he is considering here.

Amen, brother!  I used to work on a project that had a build system 
which was very fork() intensive (lots of little perl and shell scripts 
driven by make).  A full system build on a linux box took 30-60 minutes.  
Building the same code on windows/cygwin took about 12 hours.  Identical 
hardware (8-core, 16 gig Dell server, or something like that).

As far as we could tell, it was entirely due to how bad Windows was at 
process creation.

More information about the Python-list mailing list