On Mon, Feb 20, 2012 at 10:03:51AM +0100, Florian Weimer wrote:
> Have you tried setting "PRAGMA journal_mode = WAL" on the SQLite
> database, using the sqlite3 command line tool?

Nope.  I didn't know it existed.  If it's needed for reasonable
performance, it should be set by default upon installation.

> More information is here:
> 
> <http://www.sqlite.org/pragma.html#pragma_journal_mode>
> 
> This should reduce the commit overhead.  Checkpoints still need fsync,
> but the are rare.  fsync behavior for checkpoints is controlled by
> "PRAGMA synchronous":
> 
> <http://www.sqlite.org/pragma.html#pragma_synchronous>
> 
> However, setting this would require changing the liferea code.

I tried using this and patched the source code.  It was ineffective.  I
tried a 1.8 prerelease and it was also terribly slow.  I've simply
stopped using liferea because the performance sucks so much and it drags
down the speed of the system with it.

From what I saw when I last looked at the source code, it seems that
liferea uses sqlite very inefficiently, creating temporary tables and
such.  Even if those tables are temporary, they still have to be added
to the database and committed.  I have little experience with SQL or
databases and even I know that such behavior is extremely inefficient.

liferea needs some serious work with regard to performance issues,
especially disk performance.  Without these fixes, at the very least it
needs to call ionice (or ioprio_set(2)) to set an idle IO scheduling
priority so that it isn't a drag on the system.

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

Attachment: signature.asc
Description: Digital signature

Reply via email to