Re: More love requested - g_module_open always lazy
- From: "Laszlo (Laca) Peter" <Laszlo Peter Sun COM>
- To: John Rice <John Rice Sun COM>
- Cc: performance-list gnome org
- Subject: Re: More love requested - g_module_open always lazy
- Date: Thu, 27 Oct 2005 12:36:44 -0400
Cool, thanks everyone.
Here's the list of g_module_open (foo, 0) calls I've found in
my 2.12 based stack. So the gtk/pango ones are fixed and it
really doens't matter in programs like gdk-pixbuf-query-loaders.
The most important ones are the platform libraries and large apps.
Thanks,
Laca
pango-1.10.1/pango/modules.c:
pango_module->library = g_module_open (pango_module->path, 0);
gtk+-2.8.6/gdk-pixbuf/queryloaders.c:
module = g_module_open (path, 0);
module = g_module_open (path, 0);
gtk+-2.8.6/gtk/gtkfilesystem.c:
fs_module->library = g_module_open (fs_module->path, 0);
gtk+-2.8.6/gtk/queryimmodules.c:
module = g_module_open (path, 0);
gtk+-2.8.6/gtk/gtkimmodule.c:
im_module->library = g_module_open (im_module->path, 0);
gtk+-2.8.6/gtk/gtkthemes.c:
engine->library = g_module_open (engine_path, 0);
libglade-2.5.1/glade/glade-xml.c:
allsymbols = g_module_open(NULL, 0);
allsymbols = g_module_open(NULL, 0);
GConf-2.12.0/gconf/gconf-backend.c:
module = g_module_open(file, 0);
gnome-pilot-2.0.13/libgpilotdCM/gnome-pilot-conduit-management.c:
if ((dlhandle = g_module_open (location,0))==NULL) {
gnome-applets-2.12.1/libgswitchit/gswitchit_plugin_manager.c:
GModule *module = g_module_open (fullPath, 0);
nautilus-2.12.1/libnautilus-private/nautilus-module.c:
module->library = g_module_open (module->path, 0);
gimp-2.3.4/libgimpmodule/gimpmodule.c:
module->module = g_module_open (module->filename, 0);
control-center-2.12.1/libgswitchit/gswitchit_plugin_manager.c:
GModule *module = g_module_open (fullPath, 0);
gnome-games-2.12.1/gnome-stones/object.c:
plugin->handle= g_module_open (filename, 0);
gaim-1.5.0/src/plugin.c:
plugin->handle = g_module_open(filename, 0);
planner-0.13/libplanner/mrp-storage-module-factory.c:
factory->library = g_module_open (factory->name, 0);
planner-0.13/src/planner-plugin-loader.c:
plugin->handle = g_module_open (file, 0);
planner-0.13/src/planner-view-loader.c:
view->handle = g_module_open (file, 0);
glade-2.10.1/glade/glade_plugin.c:
module = g_module_open (library_file, 0);
thunderbird-1.5b1/intl/ctl/src/pangoLite/modules.c:
module = g_module_open(module_name, 0);
thunderbird-1.5b1/intl/ctl/src/pangoLite/querymodules.c:
module = g_module_open (path, 0);
xchat-2.4.5/src/common/plugin.c:
handle = g_module_open (filename, 0);
xchat-2.4.5/src/common/plugin.c:
handle = g_module_open (filename, 0);
evolution-data-server-1.4.1.1/camel/camel-provider.c:
module = g_module_open (path, 0);
evolution-data-server-1.4.1.1/libedataserver/e-data-server-module.c:
module->library = g_module_open (module->path, 0);
evolution-2.4.1/e-util/e-plugin.c:
if ((epl->module = g_module_open(epl->location, 0)) == NULL) {
firefox-1.5b2/intl/ctl/src/pangoLite/modules.c:
module = g_module_open(module_name, 0);
firefox-1.5b2/intl/ctl/src/pangoLite/querymodules.c:
module = g_module_open (path, 0);
On Thu, 2005-10-27 at 09:33 +0100, John Rice wrote:
> Hi,
>
> Just posting this to follow up on the g_module_open issue uncovered by
> laca at the Gnome Boston Summit. Should always use the RTLD_LAZY flag.
> If we don't we can get performance hit on startup for large apps such as
> Firefox.
>
> Matthias has made the changes for Gkt+ but others are out there lurking
> in the stack. So if anyone feels like some house cleaning go for it.
>
> I'll see if we can't a few bods to do some of this as well as the
> g_return* macro cleanup as well.
>
> JR
>
> http://bugzilla.gnome.org/show_bug.cgi?id=319557
>
>
> ------- Additional Comments From Matthias Clasen 2005-10-27 03:52 -------
> I have changed all calls in GTK+, and I can probably convince Behdad to
> fix the
> one in Pango. It might be worth posting this information to the new
> performance-list, to get some janitorial effort going.
>
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]