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

Matt Mackall mpm at selenic.com
Mon Dec 1 14:13:33 CST 2008


On Sun, 2008-11-30 at 18:25 +0100, Patrick Mézard wrote:
> 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

Just a note that contrib/perf.py is very useful for this sort of
benchmarking.

-- 
Mathematics is the supreme nostalgia of our time.



More information about the Mercurial-devel mailing list