Mercurial > hg
view tests/test-fastannotate-diffopts.t @ 51516:e0f92bd98c24 stable
phases: avoid a potentially costly dictionary interation in some case
If we retract for the draft phase, there is not non-public item to be retracted
and we can skip this part. This part is was apparently super costly thanks to
Python.
On mozilla-try-2019-02-18, a perf::unbundle call with a 10 000 changesets
bundle gives give use the following timing.
e57d4b868a3e: 4.6 seconds
ac1c75188440: 102.5 seconds
this-changeset: 30.0 seconds
So we recovered about ⅔ of the regression, the next changeset will give us the
rest back.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 25 Mar 2024 01:50:31 +0100 |
parents | 1ddb296e0dee |
children |
line wrap: on
line source
$ cat >> $HGRCPATH << EOF > [extensions] > fastannotate= > EOF $ hg init repo $ cd repo changes to whitespaces $ cat >> a << EOF > 1 > > > 2 > EOF $ hg commit -qAm '1' $ cat > a << EOF > 1 > > 2 > > > 3 > EOF $ hg commit -m 2 $ hg fastannotate -wB a 0: 1 0: 1: 2 0: 1: 1: 3