MQ performance on large repo

Greg Ward greg at gerg.ca
Wed Mar 3 12:22:49 CST 2010


[me]
>> Well, we must be missing something.  I just re-ran the same cvs2hg
>> conversion three times, with hg 1.3, 1.4, and 1.5ish (current stable).
>>  Result: highly redundant fncache every time.
>>
>> Specifically, in every case:
>>   * the new hg repo created by cvs2hg has 3741 files in .hg/store/data
>>   * there are 3875 unique lines in .hg/store/fncache (sort -u | wc -l)
>>   * there are 28354 total lines in .hg/store/fncache
>>
>> Based on that, I conclude that strip's runtime will be dominated by
>> the time taken to read fncache for any repo created by cvs2hg with
>> Mercurial 1.3, 1.4, or 1.5.  ;-(

[Adrian]
> Does http://selenic.com/repo/hg-stable/rev/d5bd1beff794 improve this?

It does indeed!  I re-ran my cvs2hg conversion with latest crew stable
and the duplicate entries in fncache are gone.  So *now* I am willing
to apply the magic workaround ("echo bogus >> .hg/store/fncache && hg
verify) to filter out the duplicate entries and speed up strip by
several seconds.

Thanks Adrian!

[Benoit]
> If it does, you can move to the next big item on the profile list.

Geez, you guys never stop.  ;-)  I'll see what I can figure out...

Greg


More information about the Mercurial-devel mailing list