2

A question came to my mind reading an answer to the question What are the differences between gconf and dconf?.

In an reply to the above question, Oli said:

Binary read access is far faster than parsing XML.

However, there exist a W3C recommendation for binary XML, since 2010: Efficient XML Interchange (EXI) Format 1.0. Is this what dconf uses? If Yes, where is it confirmed? If No, was there some investigations toward it at some time, and what was the conclusions?

Thanks for any tracks, I'm curious to know.

1 Answer 1

2

The dconf database is a binary stored in /home/user/.config/dconf/user and, at least on my system is only 16kb in size. Management of the database and custom locations are discussed at the gnome site, although the discussion is mainly useful as background information as normally it is not necessary to modify any of the dconf options or database location. However, in the discussion it mentions the

binary dconf (GVDB) database format

and again on the gnome site the database is described as being a single compact binary format, and so it doesn't appear to have anything to do with EXI XML binaries.

It is possible to substantiate this point by searching through the Gnome mailing lists. A developer, Ryan Lortie, in this mail, talks about how

Reading in dconf is done directly from a memory-mapped file containing the settings in an efficient tree format

Ryan Lortie is still working on dconf, as he writes in his recent blog entry, but in his other entries he only mentions the GVDB database format used by dconf (for example here and here), and he does not mention anything about an EXI XML binary or it being discussed in relation to dconf.

For more information on dconf and gsettings, please see:

1
  • > “the discussion is mainly useful as background information as normally it is not necessary to modify any of the dconf options or database location”: I agree, one should use GIO/Gsettings to deal with configuration, and there is nothing wrong in using an opaque format in some cases (XML is an interchange format, and nothing mandate it for internal storage, although EXI may be an option when applicable). The reply you made is clear and exhaustive, I'm very fine with it.
    – Hibou57
    Oct 17, 2012 at 11:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .