Idea for removing the GIL...
Stefan Behnel
stefan_ml at behnel.de
Tue Feb 8 12:05:33 EST 2011
Roy Smith, 08.02.2011 17:52:
> Robert Kern 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.
Unlikely. Since you mention cygwin, it was likely due to the heavy lifting
cygwin does in order to emulate fork() on Windows.
http://www.cygwin.com/faq/faq-nochunks.html#faq.api.fork
Stefan
More information about the Python-list
mailing list