notmuch/lib
Austin Clements b3caef1f06 Optimize thread search using matched docid sets.
This reduces thread search's 1+2t Xapian queries (where t is the
number of matched threads) to 1+t queries and constructs exactly one
notmuch_message_t for each message instead of 2 to 3.
notmuch_query_search_threads eagerly fetches the docids of all
messages matching the user query instead of lazily constructing
message objects and fetching thread ID's from term lists.
_notmuch_thread_create takes a seed docid and the set of all matched
docids and uses a single Xapian query to expand this docid to its
containing thread, using the matched docid set to determine which
messages in the thread match the user query instead of using a second
Xapian query.

This reduces the amount of time required to load my inbox from 4.523
seconds to 3.025 seconds (1.5X faster).
2010-12-07 16:40:05 -08:00
..
database-private.h lib: Rework interface for maildir_flags synchronization 2010-11-11 03:40:19 -08:00
database.cc lib: Remove the notion of TAGS_INVALID 2010-11-11 03:40:19 -08:00
directory.cc lib: Add new, public notmuch_message_get_filenames 2010-11-11 03:40:19 -08:00
filenames.c notmuch_filenames_create: Take a reference to underlying filename list 2010-11-11 03:40:19 -08:00
index.cc Fix to index the "Re" term present in any subject. 2010-11-23 18:11:04 -08:00
libsha1.c libify: Move library sources down into lib directory. 2009-11-09 16:24:03 -08:00
libsha1.h lib: Add GCC visibility(hidden) pragmas to private header files. 2010-11-01 22:35:48 -07:00
Makefile Makefiles: Use .DEFAULT to support arbitrary targets from sub directories. 2010-01-06 10:32:06 -08:00
Makefile.local Increment library version to 1.3.0 2010-11-11 20:42:45 -08:00
message-file.c Make Received: header special in notmuch_message_file_get_header 2010-04-26 14:44:06 -07:00
message.cc Optimize thread search using matched docid sets. 2010-12-07 16:40:05 -08:00
messages.c lib: Add new implementation of notmuch_filenames_t 2010-11-11 03:40:19 -08:00
notmuch-private.h Optimize thread search using matched docid sets. 2010-12-07 16:40:05 -08:00
notmuch.h tags_to_maildir_flags: Fix to preserve existing, unsupported flags 2010-11-11 16:36:02 -08:00
query.cc Optimize thread search using matched docid sets. 2010-12-07 16:40:05 -08:00
sha1.c Typsos 2009-11-18 03:21:36 -08:00
tags.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
thread.cc Optimize thread search using matched docid sets. 2010-12-07 16:40:05 -08:00
xutil.c xutil: Implement xstrndup without relying on strndup. 2009-12-01 12:51:39 -08:00
xutil.h lib: Add GCC visibility(hidden) pragmas to private header files. 2010-11-01 22:35:48 -07:00