Idea for removing the GIL...

Adam Tauno Williams awilliam at
Tue Feb 8 20:07:02 CET 2011

On Tue, 2011-02-08 at 11:52 -0500, Roy Smith wrote: 
> 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 

Comparing issues that are simply fork() to using "multiprocessing" is a
bit of a false comparison.  multiprocessing provides a fairly large set
of information sharing techniques.  Just-doing-a-fork isn't really using
multiprocessing - fork'ing scripts isn't at all an equivalent to using

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

Nope.  If you want performance DO NOT USE cygwin.

More information about the Python-list mailing list