Hi, On Fri, Jan 17, 2003 at 11:50:19AM +0000, Tom Badran wrote: > On Friday 17 Jan 2003 10:22 am, Hamish Moffatt wrote: > > On Tue, Jan 14, 2003 at 02:30:57PM -0500, Jack Howarth wrote: > > > prelink is a program which modifies ELF shared libraries and ELF dynam- > > > ically linked binaries, so that the time which dynamic linker needs for > > > their relocation at startup significantly decreases and also due to > > > fewer relocations the runtime memory consumption decreases too (espe- > > > cially number of unshareable pages). Such prelinking information is > > > only used if all its dependant libraries have not changed since pre- > > > linking, otherwise programs are relocated normally. > > > > So Jack, can you give an example of a program where a significant amount > > of time is spent having the dynamic linker work out the correct linkage? > > ie a package that would benefit significantly from prelinking. > > Konqueror has something like a 75% reduced startup time when prelinked > (figure taken from various gentoo users and kde developers). If linking plays such a big part in the (noticeable) startup time of these applications, then IMHO that signifies broken design, and indeed, inventing a new .so for every three functions /is/ broken design. More of all that linking should be done at build time, not at run time. In most cases you need exactly matching minor versions for all those KDE/Gnome support libraries anyway - just look at how often the soname versions are incremented. Just provide a single Qt lib, a single KDE lib that uses it, and the same for GTK+ and Gnome, resp. Make no illusions, nobody's going to use your utility functions standalone anyway, outside of those environments. This way, you can have two libs per environment, plus glibc and possibly libstdc++. I cannot imagine that the linker need so much time to map those. If it does, then the APIs are simply too wide (which they are). All IMHO, of course. Cheers, Emile. -- E-Advies / Emile van Bergen | emile@e-advies.info tel. +31 (0)70 3906153 | http://www.e-advies.info
Attachment:
pgp5DeWRp_Ekx.pgp
Description: PGP signature