Dear evolution, Why are you taking 180 seconds (+- 20) to open mails ?
Dear user, I'm reading message metadata for every message in that folder, then for all the new mail that arrived while I was doing that.
Dear evolution, sqlite is good, not reading the entire maildirs in to filter mail, or open a folder, would be better.
iotop says: TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 14797 be/4 robertc 4.30 M/s 0.00 B/s 0.00 % 0.00 % evolution
Dear user, I know, but I'm still the program I was before sqlite... what to do? (bugs have been filed, tuits are currently lacking).
Dear evolution, I see you have a large db, but perhaps its just your cache size?
$ ls -l /home/robertc/.evolution/mail/imap/robertc@localhost/folders.db -rw-r--r-- 1 robertc robertc 953131008 2009-08-06 12:23 /home/robertc/.evolution/mail/imap/robertc@localhost/folders.db $ sqlite3 /home/robertc/.evolution/mail/imap/robertc@localhost/folders.db SQLite version 3.6.14.2 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> pragma default_cache_size; 2000 sqlite> pragma default_cache_size=50000; $ sqlite3 /home/robertc/.evolution/mail/imap/robertc@localhost/folders.db SQLite version 3.6.14.2 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> pragma default_cache_size; 50000
Dear user, oooo, that feels good.
2000 - the default, is 2MB of cache. evolution was using 535m of actual memory before, this gives it 25 times the cache size. My theory is that the still present read-all-message-info limitations in evolution were causing cache thrashing. (A DB doesn't help at all unless one actually is looking at less data :).