2009/3/25 Marius Gedminas <marius at pov.lt>:
> No. Sqlite likes to fsync(). Ext3 blocks the whole system when you
> fsync(). Remember when Firefox 3 first appeared in Ubuntu?
I don't think fsync() is inherently bad, just it's overuse. Surely it would be possible to configure gconf in such a way that it batched writes to the db.
A disadvantage with that could be if there's a crash between a change being made and the change being written to the db it would be lost, but I don't think that's particularly serious, it's just a setting, not data.
> Although, if read-only operations don't fsync(), and if GNOME doesn't
> actually update any gconf settings at boot time, maybe boot would be
> improved, at the cost of subsequent disk spinups.
I'm quite sure sqlite reads don't trigger fsync()s, and if there are writes then batching them would stop that being an issue.
A potential issue with this is any apps that are using gconf wrong (i.e. reading their own xml files rather than asking gconfd), I've no idea whether there are any that do that though.
I'm not even pointing at sqlite specifically, I perhaps there's a better db format that could be used, I just think that multiple xml files is not ideal for gconf at all.
Looking at the source for gconf2 it looks like the xml backend is abstracted quite neatly from the main body of the code so perhaps it wouldn't be too difficult to create an experimental sqlite/somedb backend and compare performance.
Sorry if I'm barking up the wrong tree here and making unecessary noise, just thought it was best to voice my idea in case it turns out to be a good one ;)
Thanks
--
Matt Wheeler
m at funkyHat.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 270 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/ubuntu-devel-discuss/attachments/20090325/29c263e4/attachment.pgp>