on Thu Sep 27 2012, Ciprian Dorin Craciun <ciprian.craciun-AT-gmail.com> wrote:

>     Hello all!
>
>     I've used `mbsync` for quite some while to mirror my GMail account
> to my laptop, but lately this task has become quite impossible...
>
>     The reason is simple: having 700k (as in 700.000, don't ask why!)
> emails, with about 2k plus each day, just takes for ever... (My guess
> is that `mbsync` tries to fetch the meta data of all these, and until
> it starts to fetch the first new email, it spends about 10-15 minutes,
> and this after about 3 retries (because GMail "barfs" some times)...)
>
>     Now, just to be clear, I'm not criticizing `mbsync` in any way, as
> my use case is actually a peculiar one... (And from what I see from
> the IMAPv4 protocol it's quite impossible to make efficient
> synchronization for large mailboxes...)

Actually it's not that strange.  I have fewer messages than you do, but
not by an order of magnitude (about 250K).  Offlineimap can handle this
situation reasonably efficiently (but it has other issues I want to
avoid), so I don't think it's impossible at all.

I'm currently working on my initial sync, so I don't know how it will
behave once that's done, but when I restart mbsync it still spends
several minutes just looking at the list of messages and deciding what
to do.  I'm very interested in finding a good solution for this
use-case.

Just a thought for Oswald about where to look: I have not analyzed the
code in detail, but the structure of some of the "for" loops suggests
there may be an O(N^2) algorithm or two in there (e.g. in match_tuids)?
If I am wrong, please don't take offense; it was only the most cursory
examination.

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
isync-devel mailing list
isync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/isync-devel

Reply via email to