[PATCH 6 of 6] revset: fix a crash with 'roots(wdir())'

Matt Harbison mharbison72 at gmail.com
Wed Jul 1 20:09:20 CDT 2015


On Tue, 30 Jun 2015 23:51:51 -0400, Pierre-Yves David  
<pierre-yves.david at ens-lyon.org> wrote:

>
>
> On 06/30/2015 08:31 PM, Matt Harbison wrote:
>> On Tue, 30 Jun 2015 23:24:32 -0400, Pierre-Yves David
>> <pierre-yves.david at ens-lyon.org> wrote:
>>
>>>
>>>
>>> On 06/30/2015 07:56 PM, Matt Harbison wrote:
>>>> # HG changeset patch
>>>> # User Matt Harbison <matt_harbison at yahoo.com>
>>>> # Date 1435715342 14400
>>>> #      Tue Jun 30 21:49:02 2015 -0400
>>>> # Node ID c3aecbbe50596e54402e4bd98931d33f1b2d5d01
>>>> # Parent  e26c2caf800020627f58e45f799ce932c6aee761
>>>> revset: fix a crash with 'roots(wdir())'
>>>
>>> This series worries me about two things:
>>>
>>> 1) performance impact, can we get than benchmarked
>>
>> I've seen you do benchmarking patches before, but admittedly didn't pay
>> much attention to what you were doing or how to benchmark.  Can you
>> point me to some specific steps to perform?
>
> Sure,
>
> The benchmark runner is in contrib/revsetbenchmarks.py and should be  
> documented (come back with any question you have, so we can improve the  
> doc) there is file with "canonical" revset in "*-revsets.txt" they  
> should be self documenting too.
>
> (thanks for looking at this)

I ran this:

    ./contrib/revsetbenchmarks.py -f contrib/all-revsets.txt c76e8d14383a  
tip

It looks like it flags the following:

#26: children(tip~100)  rev..rst      106%
#55: :10000 and draft() reverse       105%

Not sure why 34 errors out on OS X.  A second run had both at 105%, so it  
wasn't a system hiccup, but the raw numbers seem small.  I can paste the  
whole thing if you want, but it wraps and doesn't line up...


Result by revset
================

Revision:
0) Revision  25788:c76e8d14383a: merge with stable
1) Revision  (tip) 25794:172d6d986ffa: revset: fix a crash with  
'roots(wdir())'

revset #26: children(tip~100)
    plain         min           max           first         last           
reverse       rev..rst      rev..ast      sort          sor..rst       
sor..ast
0) 0.006284      0.005795      0.005781      0.006023      0.005848       
0.005667      0.005655      0.006309      0.005788      0.006040       
0.005840
1) 0.006154      0.005787      0.005791      0.006062      0.005805       
0.005782      0.006006 106% 0.006349      0.005813      0.006033       
0.006106

revset #55: :10000 and draft()
    plain         min           max           first         last           
reverse       rev..rst      rev..ast      sort          sor..rst       
sor..ast
0) 0.002676      0.002839      0.002840      0.002791      0.002730       
0.002700      0.003087      0.002979      0.002697      0.002876       
0.002825
1) 0.002698      0.002843      0.002845      0.002901      0.002858       
0.002841 105% 0.003001      0.002972      0.002816      0.002868       
0.002744


More information about the Mercurial-devel mailing list