Dirk-Jan C. Binnema <[email protected]> writes: > On Monday Jul 21 2014, Jakub Sitnicki wrote: > >> Hi, >> >> Since commit c7b28419abd9 ("* bugfix for issue 164" [1]) I have >> experienced a slowdown when displaying messages in threaded format. >> >> Has anyone else also noticed that showing threads takes now longer >> than before? (Mentioned change was merged on 2014-03-20.) >> >> On a 16k maildir, using mu from master @ c7b2841, threading and >> sorting by date takes: >> >> $ perf stat --event=task-clock --repeat=10 -- \ >> mu find maildir:/INBOX -n 1 -t > /dev/null >> >> Performance counter stats for 'mu find maildir:/INBOX -n 1 -t' (10 runs): >> >> 5242.073458 task-clock (msec) # 1.000 CPUs utilized >> ( +- 0.50% ) >> >> 5.244428658 seconds time elapsed >> ( +- 0.50% ) >> >> While one commit before that (master @ bd9d99a) it takes only: >> >> $ perf stat --event=task-clock --repeat=10 -- \ >> mu find maildir:/INBOX -n 1 -t > /dev/null >> >> Performance counter stats for 'mu find maildir:/INBOX -n 1 -t' (10 runs): >> >> 1231.761588 task-clock (msec) # 0.996 CPUs utilized >> ( +- 1.02% ) >> >> 1.236209133 seconds time elapsed >> ( +- 1.08% ) >> >> I didn't see any way to make the current iterative solution any faster >> so I went for it and rewrote it from scratch. Changes are here: >> >> https://github.com/jsitnicki/mu.git thread-sort [2] >> >> My goal was to get the thread sorting performance back to what it was >> before commit c7b2841 and to keep the behavior as is. >> >> After the rewrite the time it takes to sort threads has dropped down >> back to a level that I'm happy with: >> >> $ perf stat --event=task-clock --repeat=10 -- \ >> mu find maildir:/INBOX -n 1 -t > /dev/null >> >> Performance counter stats for 'mu find maildir:/INBOX -n 1 -t' (10 runs): >> >> 1459.883316 task-clock (msec) # 0.998 CPUs utilized >> ( +- 0.72% ) >> >> 1.462540088 seconds time elapsed >> ( +- 0.77% ) >> >> On the way, I've extended mu's test suite for threads to ensure that >> that I haven't broken the behavior that commit c7b2841 introduced. So >> far everything have been working as expected for me. >> >> Would such an optimization be of interest to any other mu/mu4e users? >> If so, then I've submitted a pull request: >> >> https://github.com/djcb/mu/pull/455 >> >> Looking forward to comments and feedback. >> >> Cheers, >> Jakub >> >> [1] https://github.com/djcb/mu/commit/c7b28419abd9 >> >> [2] https://github.com/jsitnicki/mu/tree/thread-sort > > > Wow -- that's quite some improvement -- thanks for looking into > this! I'll give it a spin.
My pleasure. Thanks for creating mu & mu4e. Please let me know if anything doesn't work as expected or if any part of the changes need some polishing. Cheers, Jakub > > Thanks, > Dirk. > > > -- > Dirk-Jan C. Binnema Helsinki, Finland > e:[email protected] w:www.djcbsoftware.nl > pgp: D09C E664 897D 7D39 5047 A178 E96A C7A1 017D DA3C -- You received this message because you are subscribed to the Google Groups "mu-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
