Re: A cheap performance optimization
- From: James Henstridge <james jamesh id au>
- To: Matthias Clasen <mclasen redhat com>
- Cc: desktop-devel-list gnome org
- Subject: Re: A cheap performance optimization
- Date: Sat, 08 Jan 2005 00:12:13 +0800
Matthias Clasen wrote:
One of the compiler people here at RedHat complained to me that most of
Gnome is linked with --export-dynamic, which really bloats both the size
and the load times (although prelink may alleviate that a bit). The ld
documentation contains exact details about when --export-dynamic is
needed, but it is never needed for libraries, and in most cases, it is
not needed for apps either.
It is also worth noting that --export-dynamic breaks libtool's
-export-symbols and -export-symbols-regex options, causing all symbols
in a library to be exported.
Currently, most of Gnome gets --export-dynamic from gmodule-2.0.pc,
which is required by many libraries. Fortunately, with GLib 2.6, fixing
this is as easy as requiring gmodule-no-export-2.0.pc instead of
gmodule-2.0.pc. For completeness, I just added gmodule-export-2.0.pc as
well.
It would be a nice goal for Gnome 2.10 to replace all uses of
gmodule-2.0.pc by either gmodule-no-export-2.0.pc or gmodule-
export-2.0.pc (I guess the latter will be rarely needed).
I'm not sure how much use the gmodule-no-export-2.0.pc file will be for
applications using GTK, since gmodule-2.0 is a dependency of gtk+-2.0.pc
(so "pkg-config --libs gtk+-2.0" includes --export-dynamic).
Neither prepending or appending "gmodule-no-export-2.0" to the
pkg-config module list changes this, and having no-export variants for
every pkg-config file sitting on top of gmodule doesn't seem like a very
robust solution.
James.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]