1
0
mirror of https://github.com/djcb/mu.git synced 2024-06-27 07:35:16 +02:00
mu/lib
Jakub Sitnicki d93b8135a6 Revert "* bugfix for issue 164"
This reverts commit c7b28419ab.

The reverted change fails to sort threads correctly when there is an
empty container, serving as a parent to orphan messages, in the thread
tree as demonstrated by the test in commit f49296759e ("tests:
threads: Test if orphan message promotes its thread").

Also, the reverted commit introduces a performance hit. The time it
takes to sort threads has increased roughly by a factor of 4.

Current state:

$ 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):

       4967.692519      task-clock (msec)         #    1.000 CPUs utilized            ( +-  0.14% )

       4.969247128 seconds time elapsed                                          ( +-  0.14% )

With the reverted patch applied:

$ 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% )

The benchmark was ran on a maildir with ~16k messages:

$ mu find maildir:/INBOX | wc -l
16503
2014-07-15 07:24:56 +02:00
..
tests tests: threads: Test if grandchild message promotes only its subthread 2014-07-15 07:24:47 +02:00
doxyfile.in * lib: doxygen support (WIP, just starting...) 2012-10-27 14:42:21 +03:00
Makefile.am * cleanup: drop gmime-2.4 support 2013-07-21 14:44:44 +03:00
mu-bookmarks.c * update copyright years 2013-03-30 11:32:07 +02:00
mu-bookmarks.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-contacts.c * mu-contacts, mu-msg-file: better deal with contacts with control chars 2013-06-24 22:42:18 +03:00
mu-contacts.h * mu: add the backend for freq information for contacts 2013-06-16 23:02:19 +03:00
mu-container.c Revert "* bugfix for issue 164" 2014-07-15 07:24:56 +02:00
mu-container.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-date.c * use timegm instead of the tzset hack 2013-10-07 00:50:36 +03:00
mu-date.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-flags.c * mu: unbreak unit test after flag changes (fixes #247) 2013-07-07 10:46:35 +03:00
mu-flags.h * mu: unbreak unit test after flag changes (fixes #247) 2013-07-07 10:46:35 +03:00
mu-index.c * minor update 2013-12-21 10:01:04 -08:00
mu-index.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-log.c * update copyright years 2013-03-30 11:32:07 +02:00
mu-log.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-maildir.c * minor 2013-12-01 20:21:44 +02:00
mu-maildir.h * cosmetics 2013-06-24 22:44:36 +03:00
mu-msg-crypto.c * update copyright years 2013-03-30 11:32:07 +02:00
mu-msg-doc.cc * update copyright years 2013-03-30 11:32:07 +02:00
mu-msg-doc.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-msg-fields.c * mu-msg-fields.[ch]: cleanup a bit 2013-05-13 00:03:06 +03:00
mu-msg-fields.h * mu-msg-fields.[ch]: cleanup a bit 2013-05-13 00:03:06 +03:00
mu-msg-file.c index: improve error message when file does not seem to be an email 2013-10-13 19:58:25 +03:00
mu-msg-file.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-msg-iter.cc * mu: fix duplicate detection 2013-04-30 21:53:16 +03:00
mu-msg-iter.h * merge branch 'master' of github.com:djcb/mu 2013-06-13 23:56:35 +03:00
mu-msg-part.c * cleanup: drop gmime-2.4 support 2013-07-21 14:44:44 +03:00
mu-msg-part.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-msg-prio.c * update copyright years 2013-03-30 11:32:07 +02:00
mu-msg-prio.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-msg-priv.h * cleanup: drop gmime-2.4 support 2013-07-21 14:44:44 +03:00
mu-msg-sexp.c * lib: fix body layout 2013-05-15 00:42:33 +03:00
mu-msg.c * cosmetics 2013-06-24 22:44:36 +03:00
mu-msg.h * cleanup: drop gmime-2.4 support 2013-07-21 14:44:44 +03:00
mu-query.cc * better error message for some broken queries 2013-09-07 09:43:33 +03:00
mu-query.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-runtime.c * fix a few compiler warnings 2013-05-13 22:30:27 +03:00
mu-runtime.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-script.c * update copyright years 2013-03-30 11:32:07 +02:00
mu-script.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-store-priv.hh * mu-store-priv: when rebuilding, remove the contacts-cache file, too 2013-04-07 16:04:49 +03:00
mu-store-read.cc * mu-store-read: cleanup function a bit 2013-12-21 10:14:31 -08:00
mu-store-write.cc * mu: store date as 0 if it does not exist; this allows searching 2014-03-22 18:51:39 +02:00
mu-store.cc * update copyright years 2013-03-30 11:32:07 +02:00
mu-store.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-str.c Potential fix for issue #433: make check fails on Scientific Linux 6 2014-06-05 14:07:13 +01:00
mu-str.h * handle message-ids a bit specially, update unit tests 2013-10-13 20:05:29 +03:00
mu-threader.c * minor 2013-12-01 20:21:44 +02:00
mu-threader.h * update copyright years 2013-03-30 11:32:07 +02:00
mu-util.c * fix the mu_util_fputs_encoded/bsd heisenbug 2013-09-07 18:39:00 +03:00
mu-util.h * mu: some improvement in script handling 2013-07-23 22:23:27 +03:00