40% slowdown with dynamic /bin/sh

Michael Edenfield kutulu at kutulu.org
Wed Nov 26 13:09:27 PST 2003

* M. Warner Losh <imp at bsdimp.com> [031126 14:51]:
> In message: <20031126144357.GK15294 at wombat.localnet>
>             Michael Edenfield <kutulu at kutulu.org> writes:
> : They were on a single CPU Athlon 500 with 320MB of RAM.
> 320MB is not enough RAM not to swap.
> However, having said that, I think everybody realizes the following:
> 	1) Dynamic linking is slower.
> 	2) Speed improvements in this area are possible, as
> 	   demonstrated by other projects.
> 	3) PIC code is slower than non-PIC code, in general, and also
> 	   gcc runs about 5-10% slower depending on if you are running
> 	   out of a shared library or a static one.  shared libraries
> 	   must use PIC code (at this time).
> 	4) People like to complain.

Just for the record, I've been running WITH_DYNAMICROOT since nearly the
day it came out and don't *notice* any problems.  Mostly because the
noise of dynamic linking overhead gets lost in the noise of "my hardware
sucks so bad I have to take a vacation during buildworlds."  My startup
takes upwards of 5 minutes anyway, another 45 seconds won't even make me
blink.  I'm certainly not complaining about the performance :)

I only posted those numbers to:

1) Give real world numbers, not "interesting but unrealistic numbers"
2) Show that even worst-case numbers weren't on the level of 40% slowdown.
3) Hopefully help someone figure out where to best improve the dynamic linker.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20031126/770c70b3/attachment.bin

More information about the freebsd-current mailing list