<<< Date Index >>>     <<< Thread Index >>>

Re: resyncing a 40k folder generates 380k mail_addr_is_user calls for 5mn



On Wed, Mar 28, 2007 at 12:02:33AM +0200, Vincent Lefevre wrote:
> On 2007-03-27 08:33:27 -0700, Marc MERLIN wrote:
> > However, if the parent directory of the folder I'm viewing, gets
> > modified (let's say I'm in ~/Maildir/.snd/ and I send a new mail),
> > mutt takes a silly time to resync the folder, like 4mn for 40,000
> > messages.
> 
> That's probably the bug I reported here:
> 
>   http://bugs.mutt.org/1931
> 
> (I don't use the header cache).

I don't think that's it.

When I open my 40,000 message Sent folder, it takes maybe 5sec.

after opening mutt:
magic:~$ wc -l .muttdebug0
1462 .muttdebug0
magic:~$ grep -c 'mail_addr_is_user:' .muttdebug0
211

after going to Sent folder:
magic:~$ wc -l .muttdebug0
124381 .muttdebug0
magic:~$ grep -c 'mail_addr_is_user:' .muttdebug0
427

I send an Email, it gets added to my Sent folder, and wait 5mn for mutt to
resync:
magic:~$ wc -l .muttdebug0
723660 .muttdebug0
magic:~$ grep -c 'mail_addr_is_user:' .muttdebug0
380841

So, that's almost 10 mail_addr_is_user per mail in the inbox, and each takes
almost 0.0008s, which yields 300 seconds for 40,000 messages.

First, it looks like mail_addr_is_user is a pretty slow call, but it's also 
weird
that it gets called so many times.

Hopefully that helps pinpointing the problem.

Marc
-- 
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems & security ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/