Robert Heller wrote:
At Mon, 30 Nov 2009 16:16:43 -0500 CentOS mailing list centos@centos.org wrote:
Hello,
I'm setting up a new server on 5.4 and noticed this in the perl.spec file:
- Mon Jul 21 2008 Stepan Kasal - 4:5.8.8-14.el5
- add two patches, which...
- Resolves: #435505, #431041
- remove %%define threading, the non-threading variant is not supported, Related: 435376
That comment wasn't there when I set up a server on 5.2 a few months back and the %define threading option was still in the perl.spec file, making it easy for me to create my own non-threaded perl.
I want a non-threaded perl because the mod_perl folks say that the performance is better on a non-threaded perl.
I believe I can compare the spec files and figure out where to edit the new spec file, but I wondered about that "not supported" comment.
Is there something "bad" about the non-threading variant?
Probably the same thing that is bad about a single core processor. Which are pretty much no longer available (except for processors meant for little SBC/Embedded systems). I suspect that either RH or (more likely) the Perl people don't want to have to support two versions of Perl, one with and one without threading.
Actually, I'm pretty sure that this is a decision by RH alone. If anything, the "Perl people" advised against it. Everything I've read by perl developers is that threading is a performance hit in perl unless you've written your program specifically to take advantage of threading. Most perl programs don't, so it would be better for those who use perl the most if the default version were the non-threaded one. However, I realize that choosing the threaded version almost assuredly is preferred by a majority of RH users. It has been clear by choices RH has made over the years with respect to perl that heavy users of perl in Apache are not a core constituency of RH. Those of us who do use perl extensively on RH distributions have to adapt. I only wish RH made it easier.
I do know, though, that there is a set of perl modules, called bioperl, used extensively by folks analyzing the human genome. Plus, they even have a pretty large cluster at the National Institutes of Health running on CentOS. I wonder if a lot of those modules are optimized for threaded perl?
The program that I use the most, mod_perl, which is a persistent perl interpreter in Apache, was not written to take advantage of threading. The mod_perl developers report that you can get a 20-30% increase in performance by using a non-threaded perl vs a threaded one.
No-one's brought up any problems with the non-threaded one, so I think I'll go ahead with my own spec file and rebuilding perl.
Thank you!
Take care,
Kurt Hansen khansen@charityweb.net