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/