[PATCH 2 of 2 V2] revset: speed up existence checks for ordered filtered sets

Pierre-Yves David pierre-yves.david at ens-lyon.org
Wed Sep 23 08:23:36 UTC 2015



On 09/21/2015 07:17 PM, Durham Goode wrote:
> # HG changeset patch
> # User Durham Goode <durham at fb.com>
> # Date 1442793222 25200
> #      Sun Sep 20 16:53:42 2015 -0700
> # Node ID 9253d937b57d48c693c2820d914683efd2dfc00c
> # Parent  ab2a19c6961805bc67b0db2d615dc3fdfa949cb8
> revset: speed up existence checks for ordered filtered sets

I've queued this two with a third changesets removing implicit None 
check that Durham and I agreed on.

I've run revset benchmark on small repo, some positive impact is visible:

revset #0: draft() and ::tip
    min           max
0) 0.001971      0.001991
1) 0.001965      0.000428  21%

revset #1: ::tip and draft()
    min           max
0) 0.002017      0.001912
1) 0.001896  94% 0.000421  22%

revset #2: author(lmoscovicz)
    min           max
0) 1.049033      1.358913
1) 1.042508      0.319824  23%

revset #3: author(lmoscovicz) or author(mpm)
    min           max
0) 1.042512      1.367432
1) 1.019750      0.327750  23%

revset #4: author(mpm) or author(lmoscovicz)
    min           max
0) 1.050135      0.324924
1) 1.070698      0.319913

revset #5: roots((tip~100::) - (tip~100::tip))
    min           max
0) 0.000671      0.001018
1) 0.000605  90% 0.000946  92%

revset #6: roots((0::) - (0::tip))
    min           max
0) 0.149714      0.152369
1) 0.098677  65% 0.100374  65%

revset #7: (20000::) - (20000)
    min           max
0) 0.051019      0.042747
1) 0.035586  69% 0.016267  38%

-- 
Pierre-Yves David



More information about the Mercurial-devel mailing list