[PATCH 3 of 3] cmdutil: speed up walkchangerevs() when both following and pruning

Patrick Mézard pmezard at gmail.com
Sun Nov 30 11:25:42 CST 2008

Peter Arrenbrecht a écrit :
> On Thu, Nov 27, 2008 at 11:43 PM, Patrick Mézard <pmezard at gmail.com> wrote:
>> Peter Arrenbrecht a écrit :
>>> # HG changeset patch
>>> # User Peter Arrenbrecht <peter.arrenbrecht at gmail.com>
>>> # Date 1226932056 -3600
>>> # Node ID de304148dfd96f03226ff201819a2a5bbe072121
>>> # Parent  cb0aeff301c4caca5b8a636a49afadd997267f82
>>> cmdutil: speed up walkchangerevs() when both following and pruning
>> Unfortunately I cannot observe any speedup here, it's even the opposite. The patched version is consistently slower for me with small (pyglet) and large (hudson) repos, running log on random branches. Can you indicate a public repo where the patch version is faster, with the command line you use ?

I can see the improvements on your crew sample. Here are mines (real time, best of 3 runs, without and with your patches):

* Firebug (http://mezard.eu/share/firebug.hg 1.5M)

time hg log -fr firebug1.4:null -P performance  > /dev/null
450ms / 475ms

* Django (http://mezard.eu/share/django.hg 22M)

time hg log -fr 615f9285682a:null -P gis > /dev/null
1.100ms / 1.130ms

time hg log -fr gis:null -P 615f9285682a > /dev/null
555ms / 580ms

time hg log -fr unicode:null -P 598d81dc81b8 > /dev/null
525ms / 513ms

I tried to match revisions so the "outgoing" request would make sense, at least in Django tests. Perhaps, I am doing something wrong here. My problem is I saw much worse result with large repo, but I have to assess the log query made sense first.

Patrick Mézard

More information about the Mercurial-devel mailing list