Evolution crawls on FreeBSD
Roy Marles
roy at marples.name
Tue Mar 4 09:00:27 UTC 2008
On Sunday 02 March 2008 23:12:37 Jean-Yves Lefort wrote:
> Indeed, a casual inspection of libexec/rtdl-elf/rtld.c shows that the
> SO_NEEDED lists (Obj_Entry.needed) are walked recursively. Removing
> the useless entries might therefore have a dramatic impact on
> performance.
One thing that may help here is allowing the use of cutsom LDFLAGS -
namely -Wl,--as-needed. This removes SO_NEEDED references when the library
really isn't needed. For a more indepth discussion on the benefits of this,
read this article [1]. I had a quick look at ports, but it doesn't seem to
honor LDFLAGS in any port. Sadly most of the world needs to be compiled with
this LDFLAG for it to really work, so I didn't look much futher. FreeBSD base
system compiles fine with it though :)
You should also note that as-needed isn't a default Gentoo build option but a
lot of people use it safely and it's one of the optimisations developers try
an fix.
It's also useful to note that on Gentoo/FreeBSD-6.2 this problem does not
exist at all. Yes, I'm very aware that G/FBSD isn't FBSD, as we backported
some patches from 7 and make some of our own. One of these patches was to
rtld.c, available here [2]
Thanks
Roy
[1] http://www.gentoo.org/proj/en/qa/asneeded.xml
[2]
http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-freebsd/freebsd-libexec/files/freebsd-libexec-6.1-libfallback.patch?annotate=1.2
More information about the freebsd-gnome
mailing list