Re: A cheap performance optimization
- From: Andrew Sobala <aes gnome org>
- To: Matthias Clasen <mclasen redhat com>
- Cc: GNOME Desktop Hackers <desktop-devel-list gnome org>, Bastien Nocera <hadess hadess net>
- Subject: Re: A cheap performance optimization
- Date: Fri, 07 Jan 2005 16:21:05 +0000
On Fri, 2005-01-07 at 11:15 -0500, Matthias Clasen wrote:
> On Fri, 2005-01-07 at 15:43 +0000, Bastien Nocera wrote:
> > On Fri, 2005-01-07 at 10:42 -0500, 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.
> > >
> > > 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).
> >
> > Wasn't this needed to be able to use custom widget creation functions
> > with libglade?
>
> >From reading the ld docs, it should only be necessary if a dlopened
> module wants to use a symbol defined in the executable. The custom
> widget creation functions probably live in the executable, but libglade
> isn't normally dlopened, is it ?
It is required for libglade to get a pointer to a function that it knows
the name of as a string from the glade file (ie.
glade_xml_signal_autoconnect) that is defined in the executable, even
when libglade is linked to normally (using ld, not dlopen).
Don't know why or anything about it, but I have used libglade in the
past.
--
Andrew
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]