mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
b3caef1f06
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). |
||
---|---|---|
.. | ||
database-private.h | ||
database.cc | ||
directory.cc | ||
filenames.c | ||
index.cc | ||
libsha1.c | ||
libsha1.h | ||
Makefile | ||
Makefile.local | ||
message-file.c | ||
message.cc | ||
messages.c | ||
notmuch-private.h | ||
notmuch.h | ||
query.cc | ||
sha1.c | ||
tags.c | ||
thread.cc | ||
xutil.c | ||
xutil.h |