[PATCH 0 of 2 WIP] generic facility to filter revisions from a revlog

Idan Kamara idankk86 at gmail.com
Sat Aug 18 10:45:22 CDT 2012


On Tue, Jul 17, 2012 at 6:56 PM, Bryan O'Sullivan <bos at serpentine.com>
wrote:
> On Fri, Jun 29, 2012 at 10:07 AM, Idan Kamara <idankk86 at gmail.com> wrote:
>>
>> Some things that still need checking/fixing:
>> - eliminate '[x]range(len(repo))' in favor of 'list/iter(repo)'
>
>
> This is potentially a showstopper performance problem for repos that
contain
> a large number of commits.
>
> We absolutely cannot iterate over every single rev in a repo that contains
> hundreds of thousands of changesets, and we should not even be building
> intermediate data structures that are O(#revs) except in rare cases where
we
> can be sure that this cost will be dwarfed by the cost of later
processing.

Did you mean that to build the range of revisions we'd have to
go over every revision to see if it should be filtered? I guess we could
cache the filtered range in that case.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20120818/5cb8b3a5/attachment.html>


More information about the Mercurial-devel mailing list