Re: 40% slowdown with dynamic /bin/sh

From: Jacques A. Vidrine <nectar_at_FreeBSD.org>
Date: Tue, 25 Nov 2003 09:19:39 -0600
On Mon, Nov 24, 2003 at 10:06:12PM -0500, Andrew Gallatin wrote:
> How about Gordon's initial bootstone, which increased by 25%?
> http://docs.freebsd.org/cgi/mid.cgi?16091.44150.539095.704531
> 
> And I just did a "make clean" run in /usr/ports/archivers (by manually
> mv'ing a static and dynamic sh to /bin in turn):
> 
> static:       96.63 real        53.45 user        39.27 sys
> dynamic:     112.42 real        55.51 user        51.62 sys
> 
> The wall clock is bad (16% worse) and the system time is worse (31%).
> 
> 
> So.. 
> 
> 1) Microbenchmark:	40% worse
> 2) Bootstone(*):	25% worse
> 3) Ports:		16% worse

So can we just have a statically linked /bin/sh and get on with life?
That seems to have the most impact.  We can also expend our efforts
to improve dynamic linking performance, since that will improve the
performance of the other 99.9% of the universe.

Users who REALLY REALLY need /bin/sh to support 3rd-party NSS modules
in the mean time can build /bin/sh dynamically.  Or we can have
/usr/bin/sh as someone else suggested (most of the FreeBSD world's
shell scripts--- which are what we *really* seem to be talking
about--- already have #! /bin/sh).

I prefer to keep as much of the world dynamic, both for dlopen support
and for easier system patching.  But I can also understand the desire
to avoid a penalty for all those short but oft-run scripts.

In any case, I'd really like to see a goal for 5.3-RELEASE that
includes bringing dynamically-linked /bin/sh performance (*much*)
closer to statically-linked /bin/sh performance.

Cheers,
-- 
Jacques Vidrine   NTT/Verio SME      FreeBSD UNIX       Heimdal
nectar_at_celabo.org jvidrine_at_verio.net nectar_at_freebsd.org nectar_at_kth.se
Received on Tue Nov 25 2003 - 06:19:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:31 UTC