Add the tag list to the unified message metadata pass.
authorAustin Clements <amdragon@mit.edu>
Thu, 9 Dec 2010 06:54:34 +0000 (01:54 -0500)
committerAustin Clements <amdragon@mit.edu>
Mon, 21 Mar 2011 06:45:18 +0000 (02:45 -0400)
commitd19c5de17a606e08860a5de951c780038dec2f89
treee6645c7cfe0ebf76021d60a40ec692f37c4295ee
parentf271071330fed2947abfa7e9956a85a978924548
Add the tag list to the unified message metadata pass.

Now each caller of notmuch_message_get_tags only gets a new iterator,
instead of a whole new list.  In principle this could cause problems
with iterating while modifying tags, but through the magic of talloc
references, we keep the old tag list alive even after the cache in the
message object is invalidated.

This reduces my index search from the 3.102 seconds before the unified
metadata pass to 1.811 seconds (1.7X faster).  Combined with the
thread search optimization in b3caef1f0659dac8183441357c8fee500a940889,
that makes this query 2.5X faster than when I started.
lib/message.cc