Timo Sirainen put forth on 2/28/2010 6:21 AM:
On Thu, 2010-02-25 at 21:04 +0200, Timo Sirainen wrote:
Looks like some input stream seeking optimizations are broken (when one input stream reads from another, which reads from another, ...). I already managed to fix the performance problem, but now it's corrupting saved mails sometimes. So a while longer to get it fully fixed :) And since it's a pretty big change, I'm not sure if I want to risk breaking v1.2 by changing it, so maybe it's v2.0 only.
Fixed now in v2.0 and optimized also conversion to uppercase:
http://hg.dovecot.org/dovecot-2.0/rev/de2798fbbae6 http://hg.dovecot.org/dovecot-2.0/rev/23858ce6422e
After this, searching your spam mailbox goes from:
v1.2 OK Search completed (26.084 secs).
to
v2.0 OK Search completed (2.172 secs).
It's still slower than v1.0's 1.83 secs, but the increased slowness is most likely because v1.0 didn't support case-insensitive unicode searches.
Awesome-- 13x increase in speed. Nice work Timo. I'll definitely appreciate it when I move to 2.0. Maybe it'll be fast enough I can get rid of Squat.
Any chance these changes will make it as a bug fix into 1.2.11? How extensive were the changes required to fix this bug?
-- Stan