[PATCH 0 of 2] changeset_printer to use contexts
Alexander Solovyov
piranha at piranha.org.ua
Fri Oct 17 07:28:02 UTC 2008
On 2008-10-17, Matt Mackall wrote:
> On Tue, 2008-10-14 at 00:20 +0300, Alexander Solovyov wrote:
>> changeset_printer (and it's descendant changeset_templater) was using old
>> system with repo.changelog.read(). This patches updates them without
>> breaking API: first patch introduces changes inside this two classes and
>> second patch updates all users of them, which are switching between contexts
>> and repo.changelog to work with changeset_printer.
>> Tests pass after first patch (and, of course, after second ;-).
> What's the state of these patches? I seem to recall there was a
> performance regression?
Yes, there was and I can't find a way to improve situation. There is
times of current situation:
piranha at gtv ~/dev/hg/hg>hg --time log > /dev/null
Time: real 0.950 secs (user 0.930+0.000 sys 0.020+0.000)
piranha at gtv ~/dev/hg/hg>hg qpush renamed.patch
applying logctx.patch
applying ctxusers.patch
applying renamed.patch
Now at: renamed.patch
piranha at gtv ~/dev/hg/hg>hg --time log > /dev/null
Time: real 1.110 secs (user 1.090+0.000 sys 0.030+0.000)
It was more worse than now (~1.25s), but Benoit suggested to revent
parent finding to old version, because new (via ctx.parents()) was much
slower. So if you'd like, I can resend all three patches again with
profiling output, maybe someone will see what I can do to improve
situation...
--
Alexander
More information about the Mercurial-devel
mailing list