
h.m.brand at xs4all
Nov 16, 2009, 5:23 AM
Post #18 of 19
(466 views)
Permalink
|
|
Re: Building a shared libperl should be the default for 5.12
[In reply to]
|
|
On Mon, 16 Nov 2009 13:09:50 +0000, Nicholas Clark <nick [at] ccl4> wrote: > On Thu, Nov 12, 2009 at 11:18:54AM -0500, Andy Dougherty wrote: > > > I've always been skeptical about perlbench for these measurements -- > > doesn't it try hard to normalize out some of the basic looping overhead? > > Does that normalization remove any "interesting" information? (It's been a > > very long time since I looked at perlbench innards, so my recollections > > could be very out of date.) > > > > What do you get if you run each of those perl versions on a "typical" > > program? > > > > For example, I tried running spamassassin on a collection of recent mail, > > and it took 137s with -Uuseshrplib, and 167s with -Duseshrplib, or a 22% > > penalty! This was with two completely separate standalone spamasssassin > > installations, not running the spamd daemon or anything. (Threads came > > somewhere in between, at 152 seconds.) > > > > The system was a plain Debian/Linux/x86. It is rather heavily loaded (but > > then it's always heavily loaded). Each time was averaged over 5 trials, > > and the standard deviations were under one second. This mimics my typical > > usage of perl. > > Not as statistically "robust" as yours, but on my mostly unloaded x86 desktop > at work: > > Running Mail::SpamAssassin's regression tests, for a blead freshly built, -Os > > Without -Duseshrplib > > Files=143, Tests=2027, 413 wallclock secs ( 0.75 usr 0.11 sys + 176.51 cusr 7.63 csys = 185.00 CPU) > Files=143, Tests=2027, 402 wallclock secs ( 0.71 usr 0.12 sys + 176.56 cusr 8.21 csys = 185.60 CPU) > Files=143, Tests=2027, 408 wallclock secs ( 0.76 usr 0.12 sys + 176.69 cusr 7.62 csys = 185.19 CPU) > > With -Duseshrplib > > Files=143, Tests=2027, 491 wallclock secs ( 0.82 usr 0.10 sys + 213.58 cusr 7.92 csys = 222.42 CPU) > Files=143, Tests=2027, 490 wallclock secs ( 0.88 usr 0.07 sys + 213.59 cusr 7.70 csys = 222.24 CPU) > Files=143, Tests=2027, 488 wallclock secs ( 0.84 usr 0.13 sys + 213.04 cusr 7.70 csys = 221.71 CPU) > > > So about 17% more CPU time needed. > > That's not a good thing to turn on by default. > > We'd really need a way to build a shared perl library with shared flags, and > a regular perl without. I'm not so sure about that. If we do, I want to make absolutely sure that modules that depends on shared things (Tk, DBI) and modules that depend on those and/or shared libraries (DBD::Oracle) still function on a perl that was built without shared flags (on Linux, HP-UX (PA and IPF), AIX, VMS, windows and Sparc. -- H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/ using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00, 11.11, 11.23, and 11.31, OpenSuSE 10.3, 11.0, and 11.1, AIX 5.2 and 5.3. http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/ http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/
|