[PATCH evolve-ext] inhibit: improve transaction marker perf

Durham Goode durham at fb.com
Sun Nov 8 00:15:48 CST 2015



On 11/7/15 9:52 PM, Martin von Zweigbergk wrote:
>
>
> On Sat, Nov 7, 2015 at 5:21 PM Durham Goode <durham at fb.com 
> <mailto:durham at fb.com>> wrote:
>
>     # HG changeset patch
>     # User Durham Goode <durham at fb.com <mailto:durham at fb.com>>
>     # Date 1446945001 28800
>     #      Sat Nov 07 17:10:01 2015 -0800
>     # Node ID 7c680f209f7af35c7c476eecc2f9eec13b32ad62
>     # Parent  48547b4c77defdd17c670b1eb0eb94272edf0207
>     inhibit: improve transaction marker perf
>
>     The old algorithm was a revset "::X and obsolete()". This was
>     inefficient because
>     it requires walking all the way down the ancestor chain (since the
>     revset did
>     not know it could stop walking at public nodes).
>
>
> I was hoping to reproduce the slowness on the Mozilla repo (270k 
> revisions), but "hg log -r '::tip and obsolete()'" runs in 180 ms. Do 
> you have a better command for me to try? How many obsmarkers in the 
> repo you tried it on?
You need to make sure you pass --hidden, otherwise the obsolete() revset 
resolves to an empty set and tests against it are cheap.

I have 1500 obs markers, if that affects things.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20151107/474999bf/attachment.html>


More information about the Mercurial-devel mailing list