After upgrading from Mutt 1.5.21 to 1.5.23, trying to <limit> on
the contents of the bodies of emails ("l ~b some-string") has
become shockingly slow. It goes through about 10 messages per
second, taking minutes to filter a medium-size mailbox.
Granted, this is on a ten-year-old Athlon X2 but, as I recall,
Mutt 1.5.21 used to do the same operation much faster on the
same hardware. And I don't mean 20% faster, more like an order
of magnitude faster.
Filtering on headers ("l ~h some-string") is still as fast as it
used to be.
Anyone knows what happened and what can be done about it ?
Thanks in advance.
Top ten of the output of ltrace -c :
% time seconds usecs/call calls function
------ ----------- ----------- --------- --------------------
15.52 213.163929 152 1396375 strchr
12.39 170.096294 152 1115322 strcmp
11.40 156.587240 152 1026538 __ctype_b_loc
10.35 142.148496 152 930708 strlen
10.14 139.233797 154 900301 fgets
9.74 133.693317 152 877458 strspn
6.33 86.957602 2350205 37 wgetch
5.14 70.518078 153 460849 fgetc
4.04 55.524286 546 101517 __realpath_chk
1.57 21.558909 152 141393 memcpy
Top ten of the output of strace -c :
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
89.88 2.396996 598 4010 clone
7.31 0.195005 49 4010 waitpid
1.85 0.049213 0 690970 15945 lstat64
0.30 0.008000 75 106 select
0.29 0.007648 0 101517 readlink
0.08 0.002057 0 40242 rt_sigaction
0.06 0.001554 0 20764 read
0.05 0.001281 2 707 mkdir
0.04 0.001011 0 16043 rt_sigprocmask
0.03 0.000778 0 8016 alarm
--
André Majorel http://www.teaser.fr/~amajorel/