[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?":
> 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