[Python-Dev] ActiveState & fork & Perl

Guido van Rossum guido at CNRI.Reston.VA.US
Mon Jun 7 18:49:27 CEST 1999


> In case you haven't heard about it, ActiveState has recently signed a
> contract with Microsoft to do some work on Perl on win32.  

Have I ever heard of it! :-)  David Grove pulled me into one of his
bouts of paranoia.  I think he's calmed down for the moment.

> One interesting aspect of this for Python is the specific work being
> performed.  From the FAQ on this joint effort, one gets, under "What is
> the scope of the work that is being done?":
> 
>   fork() 
> 
>        This implementation of fork() will clone the running interpreter
>   and create a new interpreter with its own thread, but running in the
>   same process space. The goal is to achieve functional equivalence to
>   fork() on UNIX systems without suffering the performance hit of the
>   process creation overhead on Win32 platforms.
> 
>      Emulating fork() within a single process needs the ability to run
>   multiple interpreters concurrently in separate threads. Perl version
>   5.005 has experimental support for this in the form of the PERL_OBJECT
>   build option, but it has some shortcomings. PERL_OBJECT needs a C++
>   compiler, and currently only works on Windows. ActiveState will be
>   working to provide support for revamped support for the PERL_OBJECT
>   functionality that will run on every platform that Perl will build on,
>   and will no longer require C++ to work. This means that other operating
>   systems that lack fork() but have support for threads (such as VMS and
>   MacOS) will benefit from this aspect of the work.
> 
> Any guesses as to whether we could hijack this work if/when it is released
> as Open Source?

When I saw this, my own response was simply "those poor Perl suckers
are relying too much of fork()."  Am I wrong, and is this also a habit
of Python programmers?

Anyway, I doubt that we coould use their code, as it undoubtedly
refers to reimplementing fork() at the Perl level, not at the C level
(which would be much harder).

--Guido van Rossum (home page: http://www.python.org/~guido/)




More information about the Python-Dev mailing list