Go to file
John Goerzen 0841e03a4c [319117] Unroll loop to speed performance on large folders
From: "Nikita V. Youshchenko"
I trued to use offlineimap and found that while being quite fast on
small folders, it takes up to several minutes (of 100% busy CPU and
almost no network traffic) to sync a folder with 2000+ messages.

While looking into the code, I found why this happens.
In folder/Base.py, in method BaseFolder.syncmessagesto_copy(),
dest.getmessagelist() is called inside a loop, while being a loop
invariant. Similar thing happens in BaseFolder.syncmessagesto_delete()
for self.getmessagelist().
This causes quadratic complexity over folder size.

Moving these calls out of loops make large folder sync fast (several
seconds instead of several minutes for folder with 2000 messages on
700MHz P3).
2005-08-23 08:15:09 +01:00
bin Updated copyright and version files for 4.0.10 2005-05-24 00:12:58 +01:00
debian Noted changelog for next upload 2005-06-17 19:19:08 +01:00
docs/sgml-common Step 2 of SVN to arch tree conversion 2005-04-16 20:33:35 +01:00
offlineimap [319117] Unroll loop to speed performance on large folders 2005-08-23 08:15:09 +01:00
ChangeLog Removed dep on profile 2005-02-10 05:37:33 +01:00
ChangeLog.svn Moved Subversion changelog to ChangeLog.svn; added Arch ChangeLog 2004-10-18 20:01:19 +01:00
COPYING Step 2 of SVN to arch tree conversion 2005-04-16 20:33:35 +01:00
COPYRIGHT Updated copyright and version files for 4.0.10 2005-05-24 00:12:58 +01:00
Makefile Removed old subversion commands 2005-06-02 19:58:01 +01:00
manual.html Regen docs 2005-06-17 19:18:30 +01:00
manual.pdf Regen docs 2005-06-17 19:18:30 +01:00
manual.ps Regen docs 2005-06-17 19:18:30 +01:00
manual.txt Regen docs 2005-06-17 19:18:30 +01:00
offlineimap.1 Regen docs 2005-06-17 19:18:30 +01:00
offlineimap.conf Added courier example 2005-01-17 21:07:35 +01:00
offlineimap.conf.minimal Step 2 of SVN to arch tree conversion 2005-04-16 20:33:35 +01:00
offlineimap.py Updated copyright and version files for 4.0.10 2005-05-24 00:12:58 +01:00
offlineimap.sgml Fixed foldertrans to be nametrans in doc, debian 314429 2005-06-17 19:18:10 +01:00
README Step 2 of SVN to arch tree conversion 2005-04-16 20:33:35 +01:00
setup.py Step 2 of SVN to arch tree conversion 2005-04-16 20:33:35 +01:00
UPGRADING Step 2 of SVN to arch tree conversion 2005-04-16 20:33:35 +01:00

OfflineIMAP
Copyright (C) 2002, 2003 John Goerzen <jgoerzen@complete.org>
This software comes with ABSOLUTELY NO WARRANTY; see the file
COPYING for details.  This is free software, and you are welcome
to distribute it under the conditions laid out in COPYING.

gopher://quux.org/1/devel/offlineimap
http://quux.org/devel/offlineimap

Please see manual.txt; the information previously in README has been moved
there.