[Monodevelop-devel] Using SQLite as parser database

Michael Hutchinson m.j.hutchinson at gmail.com
Tue Jul 29 11:02:29 EDT 2008

On Tue, Jul 29, 2008 at 4:09 AM, "Andrés G. Aragoneses"
<aaragoneses at novell.com> wrote:
> I'm also worried about the fact that your opinion about SQLite may be
> biased because I guess you only used Win32 OS when you were working in
> SharpDevelop, right? There has been huge performance problems (locking
> problems) with SQLite in Linux, which recently caused a lot of
> discussions due to its usage in Firefox (which BTW is performing for me
> a lot worse than other browsers in Linux). I can't give you the exact
> reference of where I read (but I can give you some first google hits
> like [4] and [5]) it but AFAIK this is yet a problem to be solved
> upstream (don't remember if it's in the kernel or in the extX filesystem).

That's because Firefox uses SQLite in synchronous mode, which flushes
to disk (and ext3 causes ALL files on the disk to be flushed). We
wouldn't need that mode. Firefix also seems to write a huge amount of
daya to disk compared to what it needs, probably for the same reason
(excessive flushing of indices, etc)

It'd be fairer to compare Banshee, which opens its database with:
Execute ("PRAGMA cache_size = ?", cache_size);
Execute ("PRAGMA synchronous = OFF");
Execute ("PRAGMA temp_store = MEMORY");
Execute ("PRAGMA count_changes = OFF");

(see banshee/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs)

Banshee's database has not caused any substantial problems.

Michael Hutchinson

More information about the Monodevelop-devel-list mailing list