[PATCH] revset: don't create changectx when matching for files

Matt Mackall mpm at selenic.com
Mon Mar 23 14:23:18 CDT 2015


On Fri, 2015-03-20 at 12:43 -0700, Durham Goode wrote:
> 
> On 3/20/15 11:41 AM, Matt Mackall wrote:
> > On Tue, 2015-03-17 at 10:51 -0700, Durham Goode wrote:
> >> A more detailed breakdown of the profiling is here:
> >> https://urldefense.proofpoint.com/v1/url?u=https://bpaste.net/show/1affea0af5e4&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=pHOG6Hz51SkYmYr%2FxoTFzw%3D%3D%0A&m=JBD9noTgZxxkE1x0gleLTZvXo7v30tZZB0IIgGLjenw%3D%0A&s=4d6f5d76347e2a86763013a5b788bf968294e44fe363188c56b3d767186231b9
> >>
> >> It looks like repoview introduces some overhead (simply switching to an
> >> unfiltered repo gets us from 12s to 9.9s, despite this repo not having
> >> any obsolescence) and the remaining time is in the changectx constructor.
> > Perhaps we should fast-path that instead.
> >
> I talked with Pierre-Yves and it's non-trivial to fast path 
> repoview.changelog when working with repositories that do have filtered 
> changes (which will soon be all of ours).

Yes, you definitely can't fast-path the slow path. I'll take a stab at
fixing the fast path.

>   So if the current work around 
> is too hacky, we'll have to come back and revisit this when we have more 
> time.

Just keep in mind that even small improvements in the performance of the
filtering layer and contexts apply everywhere.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list