Matt Mackall <mpm@selenic.com> [Wed, 12 Jan 2011 11:34:42 -0600] rev 13260
perf: fix ordering of invalidate in perfindex
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 21:52:03 -0600] rev 13259
revlog: do revlog node->rev mapping by scanning
Now that the nodemap is lazily created, we use linear scanning back
from tip for typical node to rev mapping. Given that nodemap creation
is O(n log n) and revisions searched for are usually very close to
tip, this is often a significant performance win for a small number of
searches.
When we do end up building a nodemap for bulk lookups, the scanning
function is replaced with a hash lookup.
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:12:32 -0600] rev 13258
revlog: introduce a cache for partial lookups
Partial lookups are always O(n), and often we look up the same
one multiple times.
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:09:06 -0600] rev 13257
tags: avoid a pointless usage of revlog.nodemap
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:06:07 -0600] rev 13256
mq: avoid using revlog.nodemap unnecessarily
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:01:14 -0600] rev 13255
perf: make perfindex results useful on hg with lazyparser
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:01:04 -0600] rev 13254
revlog: only build the nodemap on demand