[Akonadi] [Bug 334218] synchronizations of large folders with filesystem contents hogs a Sandybridge core for minutes

Christian Mollekopf chrigi_1 at fastmail.fm
Wed May 21 00:14:07 BST 2014


https://bugs.kde.org/show_bug.cgi?id=334218

--- Comment #17 from Christian Mollekopf <chrigi_1 at fastmail.fm> ---
Git commit 81f30e18c975f9cc44da7c904ed612df804200da by Christian Mollekopf, on
behalf of Martin Steigerwald.
Committed on 03/05/2014 at 14:53.
Pushed by cmollekopf into branch 'kolab/integration/4.13.0'.

Also do not sort directory entries in listCurrent and listNew in key cache:

QDir sorts the list of directory entries unless specified otherwise.
The last commit already disabled the sorting in maildir.cpp.

This commit completes the work and makes the remaining sorting calls
in the callgrind dumps at

https://bugs.kde.org/show_bug.cgi?id=334218#c7

go away completely as demonstrated in the callgrind dumps at:

https://bugs.kde.org/show_bug.cgi?id=334218#c12

Subjectively this has a huge impact on the performance of KMail with huge
maildir. KMail hardly blocks anymore on folder changes and feels much more
responsive now.

Akonadi maildir resource went from hogging a Sandy Bridge core for minutes
to not appearing using 100% of one core in even one averaged 10 second
interval in atop. I hardly see it in atop at all anymore, except when
accessing very large folders such as one with Linux Kernel mailing list
and more than 245000 unread mails.

Thanks to Sergio for pointing out the remaining sorting calls in the second
callgrind dump and for help.

Now the bottleneck appears to be MaildirResource::listRecursive but I do
not know whether further optimization is necessary at this point.

Both changes tested with kdepimlibs master as of today and KMail 4.12.4
from Debian unstable packages with an enormous maildir including a
folder for Linux Kernel mailing list with more than 245000 unread mails.

REVIEW: 117975

DIGEST: Huge performance improvement for POP3 users with large maildirs.

M  +2    -0    resources/maildir/libmaildir/keycache.cpp

http://commits.kde.org/kdepim-runtime/81f30e18c975f9cc44da7c904ed612df804200da

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list