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
signature.asc
Description: Digital signature