2009/3/25 Marius Gedminas <mar...@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...@funkyhat.org

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
Ubuntu-devel-discuss mailing list
Ubuntu-devel-discuss@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss

Reply via email to