[PATCH 6 of 6 V5] reachableroots: default to the C implementation

Pierre-Yves David pierre-yves.david at ens-lyon.org
Tue Aug 11 21:18:53 CDT 2015



On 08/11/2015 05:04 PM, Augie Fackler wrote:
>
>> On Aug 11, 2015, at 6:13 PM, Pierre-Yves David <pierre-yves.david at ens-lyon.org> wrote:
>>
>>
>>
>> On 08/11/2015 01:41 PM, Augie Fackler wrote:
>>> http://hg.durin42.com/hg-wip/graph/reachableroots has my latest
>>> patches ready to roll, but:
>>>
>>> I ran  ./contrib/revsetbenchmarks.py -f contrib/all-revsets.txt -R
>>> ../crew-clean @ reachableroots --variants=plain
>>>
>>> and didn't see any revelatory performance wins like the log messages
>>> implied. What I do see are things like:
>>>
>>> revset #56: (not public() - obsolete())
>>>     plain
>>> 0) 0.000124
>>> 1) 0.000105  84%
>>>
>>> and
>>>
>>> revset #72: draft()
>>>     plain
>>> 0) 0.000067
>>> 1) 0.000057  85%
>>>
>>> so I think it's a win, but maybe not as much as previously thought?
>>> Can you try redoing the benchmarks with the new code I've got and see
>>> where you end up?
>>
>> revset: 0::tip
>>    plain
>> 0) 0.032721
>> 1) 0.003761  11%
>>
>> revset: tip~150::tip
>>    plain
>> 0) 0.000426
>> 1) 0.000249  58%
>>
>> This is a win ;-)
>
> I have reproduced the perf wins and documented them in a commit message. Should we add 0::tip to the list of revsets to test in contrib?

Yes. Certainly in the all-revset file (with a comment).

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list