[ic] Interchange and threaded Perl
rphipps at reliant-solutions.com
Mon Jun 6 16:36:00 EDT 2005
> From: interchange-users-bounces at icdevgroup.org
> bounces at icdevgroup.org] On Behalf Of Henry Hartley
> Sent: Monday, June 06, 2005 1:18 PM
> On: Mon, June 06, 2005 12:48 PM, Mike Heins said:
> >> Quoting Kaare Rasmussen (kar at kakidata.dk):
> >> >
> >> > > It's a shame not only because of Interchange, but because
> >> > > *every* Perl program runs 15-30% slower and because about .01%
> >> > > of code uses the features.
> >> >
> >> > Where do you have those numbers from?
> >> >
> >> > It's not that I doubt them. I just would like to see if they've
> >> > tested various applications to see where the penalty is biggest.
> >> Just benchmarks of running ab against Interchange and test code
> >> against a threaded Perl. I had an email discussion with the Debian
> >> Perl port maintainer, and he confirmed the slowdown.
> >> The more subroutine calls you have, the worse it will be, so in
> >> all liklihood object-oriented packages with lots of method-based
> >> accessors will get hit hardest.
> Can you give some idea of how big a hit we're talking about? In my
> case, I've got a Fedora Core 3 web server and only use Interchange on
> one site. That site is small and very (VERY) low volume and I'd be
> willing to put up with it not being particularly fast. It would
> certainly make my life a lot easier if I had the option to use the
> threaded perl that I get with FC3. Yes, I can (and did) replace the
> perl with a non-threaded perl. Then I had to replace some of the
> modules with non-threaded versions. Keeping track of that is a pain.
> Not the end of the world but certainly I'd be willing to put up with a
> little slowdown on this one site to avoid that. Or would a threaded
> perl make it really, REALLY slow? Alternatively, I could switch
> but that seems like even more work that what I've already done.
> Would it be possible, instead of requiring non-threaded perl, to
> the installation of Interchange to warn (even warn strongly and
> a switch) before installing in a threaded perl environment? Or is
> more trouble than what I go through to manage my Perl?
The best solution I use and many others use is to install Perl into an
area just for IC's use. This perl then is used by IC and is non
threaded, while the rest of the system can use the threaded perl. Here
is a great doc on how to achieve this:
I use this on a couple high traffic sites and it works well.
More information about the interchange-users