[Bug 5956] New: Calculating ellipsis data is slow
mercurial-bugs at mercurial-scm.org
mercurial-bugs at mercurial-scm.org
Thu Aug 9 17:22:15 UTC 2018
https://bz.mercurial-scm.org/show_bug.cgi?id=5956
Bug ID: 5956
Summary: Calculating ellipsis data is slow
Product: Mercurial
Version: default branch
Hardware: PC
OS: Linux
Status: UNCONFIRMED
Severity: feature
Priority: wish
Component: Mercurial
Assignee: bugzilla at mercurial-scm.org
Reporter: 7895pulkit at gmail.com
CC: mercurial-devel at mercurial-scm.org
We are testing ellipsis internally and it turns out be very slow to compute the
ellipsis data. Computing the ellipsis data is 3-4x slower than just cloning the
whole repository.
I got the server profiling for this:
remote: | 100.0% __main__.py: <module> line 2:
remote: | 100.0% dispatch.py: _callcatch line 41:
remote: | 100.0% scmutil.py: callcatch line 363:
remote: | 100.0% dispatch.py: _runcatchfunc line 161:
remote: | 100.0% color.py: setup line 345:
remote: | 100.0% wireprotoserver.py: serve_forever line 4945:
remote: | 100.0% wireprotoserver.py: serveuntil line 797:
remote: | 100.0% wireprotoserver.py: _runsshserver line 804:
remote: | 97.6% wireprotov1server.py: dispatch line 658:
remote: | 97.6% wireprotov1server.py: getbundle line 74:
remote: | 97.6% exchange.py: getbundlechunks line 446:
remote: | 97.6% exchange.py: _getbundletagsfnodes line 1913:
remote: | 97.6% narrowbundle2.py: getbundlechangegrouppart_narrowline 485:
remote: | 97.6% narrowbundle2.py: _computeellipsis line 315:
remote: \ 51.4% manifest.py: read line 142:
remote: | 51.4% revlog.py: revision line 498:
remote: | 51.3% revlog.py: _chunks line 2130:
remote: | 51.1% revlog.py: decompress line 2044:
remote: | 51.1% util.py: decompress line 2420:
remote: \ 46.0% manifest.py: diff line 143:
remote: | 41.8% manifest.py: matches line 1033:
remote: | 41.8% manifest.py: _matches line 985:
remote: \ 34.6% manifest.py: _load line 998:
remote: | 34.6% manifest.py: _load_for_read line 856:
remote: | 34.6% manifest.py: parse line 1107:
remote: | 34.4% revlog.py: revision line 1517:
remote: | 34.0% revlog.py: _chunks line 2130:
remote: | 33.9% revlog.py: decompress line 2044:
remote: | 33.9% util.py: decompress line 2420:
remote: \ 6.9% manifest.py: _matches line 1008:
remote: | 5.8% manifest.py: _matches line 1008:
remote: ---
The command run was `hg clone server-repo repo --debug --narrow --include
'contrib/f1/f2'`.
I know we have a very big repo, but at the same time, I also think that we can
speed this up and it will be good.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list