[Python-ideas] Python 3000 TIOBE -3%

Stefan Behnel stefan_ml at behnel.de
Fri Feb 10 17:07:12 CET 2012


Arnaud Delobelle, 10.02.2012 16:43:
> On 10 February 2012 14:52, Massimo Di Pierro wrote:
>> Forking is a solution only for simple toy cases and in trivially parallel
>> cases. People use processes to parallelize web serves and task queues where
>> the tasks do not need to talk to each other (except with the parent/master
>> process). If you have 100 cores even with a small 50MB program, in order to
>> parallelize it you go from 50MB to 5GB. Memory and memory access become a
>> major bottle neck.
> 
> I don't know much about forking, but I'm pretty sure that forking a
> process doesn't mean you double the amount of physical memory used.
> With copy-on-write, a lot of physical memory can be shared.

That applies to systems that support both fork and copy-on-write. Not all
systems are that lucky, although many major Unices have caught up in recent
years.

The Cygwin implementation of fork() is especially involved for example,
simple because Windows lacks this idiom completely (well, in it's normal
non-POSIX identity, that is, where basically all Windows programs run).

http://seit.unsw.adfa.edu.au/staff/sites/hrp/webDesignHelp/cygwin-ug-net-nochunks.html#OV-HI-PROCESS

Stefan




More information about the Python-ideas mailing list