[Bug 5809] New: Performance regression on pulling + incoming in 5cfdf6137af8 (from 10s to 40s)

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Thu Mar 1 21:22:39 UTC 2018


https://bz.mercurial-scm.org/show_bug.cgi?id=5809

            Bug ID: 5809
           Summary: Performance regression on pulling + incoming in
                    5cfdf6137af8 (from 10s to 40s)
           Product: Mercurial
           Version: default branch
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Keywords: perfregression
          Severity: bug
          Priority: wish
         Component: Mercurial
          Assignee: bugzilla at mercurial-scm.org
          Reporter: lothiraldan at gmail.com
                CC: mercurial-devel at mercurial-scm.org

ASV detected a regression on incoming when specifying a revision on
https://www.mercurial-scm.org/repo/hg/rev/5cfdf613.

The regression detected were detected on pypy
(http://perf.octobus.net/#regressions?sort=3&dir=desc).

The scenario is the following:
- Starting on the same repository, strip X (10, 100, 1000) changesets.
- Rebuild caches with debugupdatecache.
- Identify the hash of the default branch on the original repository.
- Do a `hg incoming -r HASH`.

The pypy snapshot we are using on the bench machine has 91957 changesets and
169 heads. The repo we are running incoming in has X (10, 100, 1000) changesets
less than the target and around 30% of them are on the default branch.


I reproduced the issue on a private repository on both incoming and pull. 
The repository has around 1 million changesets and 2500 heads.


With a difference of 10 changesets between the two repositories and only 2
pulled changeset, `hg pull --rev xxx ../source` went from ~10s on 4.5 to ~40s
with 5cfdf613. (+30 seconds, 4 time slower)

ASV seems to indicate that the performance regression is not dependent on the
number of changesets missing between the two repositories.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list