Re: dconf



Hi Ryan,

On Thu, 2009-04-02 at 11:37 -0400, Ryan Lortie wrote:
> dconf is very efficient.  The majority case in accessing settings is 
> reading (think about desktop login: 1000s of settings read, none 
> written).

	I'm sold on the efficiency win of d-conf's design; but there is at
least a chunk of work here needed to stop people writing settings on
login; if you checkout:
	http://www.gnome.org/~michael/gconf-login-trace.txt

	grep for ->set and we have ~200+ hits during login; most of these are
from the panel (now I believed ~fixed), and NetworkManager (AFAIR not
addressed), but others are scattered around the place.

>   Reading in dconf is done directly from a memory-mapped file 
> containing the settings in an efficient tree format and doesn't require 
> an extra service to be running.  The service is only needed for writes. 
>   Communication occurs over DBus, of course. :)

	What was the final answer wrt. NFS ? I was wondering - assuming writes
are as infrequent and temporally grouped as we hope they will be; could
we not simply re-write the whole binary file after some suitable delay
and do some write, [fsync to taste], rename, thing ? Presumably that
would remove any chance of setting D/B corruption over NFS (?).

	I look forward to playing with d-conf; I was wondering - how do you
deal with the separation of l10n data - not just schema key
translations, but localised default values: gconf goes to some effort to
split out the first (but sadly not the second) - it'd be great to see
that done well.

	Another thing that perhaps isn't as easy as it could be around gconf is
packaging, cleanly capturing the difference between a "make install"
style developer use - where you want to merge settings to the prefix,
and the "rpmbuild" style packager use where you want to defer that until
package install time. Having simple, and nicely documented analogs of
the various interesting gconftool-2 --makefile-install-foo type options
would be great.

	HTH,

		Michael.

-- 
 michael meeks novell com  <><, Pseudo Engineer, itinerant idiot



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