Threaded Perl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've set up a FC3 box and want to run Interchange
(http://www.icdevgroup.org/) on it.  The default perl on Fedora Core
(and this was true with RHL since 8) has threading turned on.
Interchange requires that threading be dissabled in order to run.  Now,
I've grabbed the source and rebuilt perl and things are basically
working but out of curiosity, is the decision to enable threads in FC's
perl one that anyone would be willing to reconsider?  Is threaded perl
required by enough people at this point to justify it?  Here's a piece
of a thread (admitedly it's a bit old - from April 2003) discussing the
topic.

-- Begin Quoting Mike Heins -------------

Interchange doesn't use threads; but there are (as the authors of it
would readily admit) quite a few bugs in Perl's threads implementation.

It appears that Perl 5.8.0's ithread implementation is much better than
previous ones, which wouldn't even begin to run Interchange properly.
But it is not good enough to work well under all conditions. Randy
Moore of the core group discovered a case where vec() lost its map, and
I am positive there are many other little problems especially in
PreFork mode. Interchange pushes Perl pretty hard.

In fact, I wouldn't doubt that some of the locking problems people
are now having on Red Hat weren't due to this; I run some very
busy IC sites and don't see them at all.

Thus the new enforcement of the requirement. Before it was enforced
by the fact that noone distributed a Perl with threads enabled, and
the fact that Interchange wouldn't even start with threads enabled
should someone build such a Perl.

Red Hat distributed their perl for 8.0 and 9.0 with threads enabled,
which is *not* the default. This is an extremely bad decision; the
number of Perl scripts and programs which use threads must be far less
than one in 1,000, and anyone seriously using such a program must keep
up with the latest builds and modules to fight bugs.

It is another in a long line of bad Perl distributions by Red Hat.
While I like the Linux produced by my former employer and have been
using it exclusively for years, I abhor their Perl builds and when I
install a new system the first thing I do is build a new one.

In fact it sometimes seems as if the Python-heads there are trying to
sabotage Perl. I don't think that is the case; but there is no rational
reason to enable threads on Perl unless you are doing thread-based 
program development. I know of no such programs in the Red Hat
distribution; it would surprise me greatly if there are any.

Someone made the suggestion we try to make Interchange thread-safe and
actually use them. While this is a noble goal, it is simply not
practical. Leaving aside the work that would need be done on
Interchange itself, IC uses or can use dozens of other Perl modules,
each of which would need to be vetted. The types of problems caused by
defects in threadsafeness (sic) are also notoriously hard to debug.

-- End Quoting Mike Heins ---------------
original here
http://www.icdevgroup.org/pipermail/interchange-users/2003-April/032700.
html

-- 
Henry


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux