Re: [Evolution-hackers] evolution-1.4 method trace ...



On Thu, 2003-06-12 at 19:17, Ettore Perazzoli wrote:
> Hi Michael,
> 
> thanks for looking into this.
> 
> On Wed, 2003-06-11 at 05:36, Michael Meeks wrote:
> > 	Perhaps doing a one-time recursive cache lookup of:
> > 
> > 	/apps/evolution/summary/		x11
> > 	/apps/evolution/shell/view_defaults/	x8
> > 	/apps/evolution/mail/display/		x12
> > 	/apps/evolution/calender/tasks/		x5
> > 	/apps/evolution/calender/display/	x16
> > 
> > 	Would save ~50 round-trips to gconfd and presumably save a number of
> > milliseconds on startup / view switch.
> > 
> > 	It's also easy to fix with a few:
> > 
> > 	gconf_client_add_dir (gconf_client_get_default (),
> > 	                      "apps/evolution/summary",
> > 	                      GCONF_CLIENT_PRELOAD_RECURSIVE,
> > 	                      NULL);
> 
> What if we just add a similar thing, but for "/apps/evolution", in the
> shell on startup?  Since all the modules are using the default
> GConfClient, that should propagate to all of them?
> 
speaking of what, here's a patch to PRELOAD_RECURSIVE in
e-config-listener.

> Although maybe it's better to have a separate GConfClient per component
> to make sure they don't react to a "value_changed" when they shouldn't.
> 
maybe all GConf uses should use the e-config-listener thing in e-util.

cheers
? e-component-listener-orbit-small.c
? e-component-listener-orbit-small.h
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/e-util/ChangeLog,v
retrieving revision 1.394
diff -u -p -r1.394 ChangeLog
--- ChangeLog	10 Jun 2003 20:44:25 -0000	1.394
+++ ChangeLog	12 Jun 2003 20:48:33 -0000
@@ -1,3 +1,8 @@
+2003-06-12  Rodrigo Moya <rodrigo ximian com>
+
+	* e-config-listener.c (add_key): use GCONF_CLIENT_PRELOAD_RECURSIVE
+	when adding watched directories to avoid GConfd round-trips.
+
 2003-05-30  Jeffrey Stedfast  <fejj ximian com>
 
 	* e-meta.c (meta_load): Stat the file to make sure it exists
Index: e-config-listener.c
===================================================================
RCS file: /cvs/gnome/evolution/e-util/e-config-listener.c,v
retrieving revision 1.17
diff -u -p -r1.17 e-config-listener.c
--- e-config-listener.c	5 Feb 2003 21:58:38 -0000	1.17
+++ e-config-listener.c	12 Jun 2003 20:48:33 -0000
@@ -231,7 +231,7 @@ add_key (EConfigListener *cl, const char
 	kd->used_default = used_default;
 
 	/* add the listener for changes */
-	gconf_client_add_dir (cl->priv->db, key, GCONF_CLIENT_PRELOAD_NONE, NULL);
+	gconf_client_add_dir (cl->priv->db, key, GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
 	kd->lid = gconf_client_notify_add (cl->priv->db, key,
 					   (GConfClientNotifyFunc) property_change_cb,
 					   kd, NULL, NULL);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]