[Bug 4958] New: Several operations including 'uncommit' and 'commit --amend' are very slow
mercurial-bugs at selenic.com
mercurial-bugs at selenic.com
Thu Nov 19 21:50:49 UTC 2015
https://bz.mercurial-scm.org/show_bug.cgi?id=4958
Bug ID: 4958
Summary: Several operations including 'uncommit' and 'commit
--amend' are very slow
Product: Mercurial
Version: 3.5.2
Hardware: PC
OS: Linux
Status: UNCONFIRMED
Severity: feature
Priority: wish
Component: evolution
Assignee: bugzilla at selenic.com
Reporter: zeratul976 at hotmail.com
CC: mercurial-devel at selenic.com,
pierre-yves.david at ens-lyon.org
I'm experiencing an issue where several operations on a local clone of a large
repository (mozilla-central) are very slow (a minute or more), including
'uncommit' and 'commit --amend'.
Here's a profile for an 'uncommit':
botond at botond-laptop:~/dev/mozilla/central$ hg uncommit . --profile
new changeset is empty
(use "hg prune ." to remove it)
CallCount Recursive Total(s) Inline(s) module:lineno(function)
5019183 11 27.4818 17.1618
mercurial.localrepo:29(__get__)
2214325 0 16.0778 13.2328
mercurial.context:32(__new__)
2214319 0 36.6911 12.4623
mercurial.context:373(__init__)
5019189 11 8.4174 8.1700
mercurial.scmutil:1127(__get__)
1638827 0 47.5288 7.8692
mercurial.localrepo:489(__getitem__)
1638879 0 14.7351 7.1027
mercurial.revset:3000(__contains__)
2282072 1711583 8.2346 6.8918
mercurial.demandimport:111(__getattribute__)
2 0 38.5338 5.8197
mercurial.obsolete:1137(_computebumpedset)
8282301 0 5.6648 5.6648 <isinstance>
2185120 13 41.2440 5.4090 mercurial.util:530(__get__)
2214333 0 8.2527 5.3328
mercurial.changelog:200(node)
1638630 0 72.1382 5.1803
mercurial.localrepo:520(set)
546209 0 24.4699 4.7739
mercurial.context:508(_parents)
2 0 13.6873 4.5074
mercurial.repoview:25(_getstatichidden)
570438 570426 151.0095 4.2784
mercurial.obsolete:1069(getrevs)
2 0 85.8408 3.6654
mercurial.obsolete:1110(_computeunstableset)
1093331 0 3.7050 3.1388
mercurial.obsolete:794(allprecursors)
2 0 25.9001 2.9227
mercurial.obsolete:1160(_computedivergentset)
2214333 0 2.9199 2.9199 mercurial.revlog:344(node)
1092504 0 4.0095 2.7914
mercurial.changelog:212(parentrevs)
570420 0 24.2301 2.7603
mercurial.context:165(obsolete)
546295 0 2.6346 2.6346 <_heapq.heappop>
546270 0 2.4972 2.4972 <_heapq.heappush>
1638630 0 19.1532 2.3500
mercurial.revset:3010(_iterfilter)
2185120 0 2.2981 2.2981
mercurial.util:535(cachevalue)
1092797 0 2.6601 2.2151 mercurial.phases:225(phase)
5589560 0 2.1248 2.1248
mercurial.localrepo:402(unfiltered)
1638879 0 16.7218 1.9867
mercurial.revset:2877(<lambda>)
1116628 0 26.4435 1.9428
mercurial.obsolete:1120(<genexpr>)
2214335 0 1.3081 1.3081 <built-in method __new__ of
type object at 0x919120>
And here's a profile for 'commit --amend':
botond at botond-laptop:~/dev/mozilla/central$ hg commit --amend --profile
amending changeset 4c87f20d684e
committing files:
gfx/layers/Layers.h
committing manifest
committing changelog
copying changeset ce180d2525e1 to 6c7c430d8c72
committing files:
gfx/layers/Layers.h
committing manifest
committing changelog
committed changeset 273148:cc3684442796
CallCount Recursive Total(s) Inline(s) module:lineno(function)
5292533 11 22.3100 14.2649
mercurial.localrepo:29(__get__)
2214349 0 12.6172 10.2621
mercurial.context:32(__new__)
2214334 0 30.0552 9.9013
mercurial.context:373(__init__)
5292550 11 6.5252 6.4279
mercurial.scmutil:1127(__get__)
4 0 19.2417 6.3900
mercurial.repoview:25(_getstatichidden)
1638839 0 39.1300 6.2883
mercurial.localrepo:489(__getitem__)
1638888 0 11.5396 5.7597
mercurial.revset:3000(__contains__)
2282298 1711768 6.1879 5.1940
mercurial.demandimport:111(__getattribute__)
2487695 0 7.6295 4.8014
mercurial.changelog:200(node)
8283959 0 4.5671 4.5671 <isinstance>
2185167 23 36.9832 4.0956 mercurial.util:530(__get__)
2 0 26.7963 4.0210
mercurial.obsolete:1137(_computebumpedset)
1638630 0 58.4342 3.9739
mercurial.localrepo:520(set)
1092597 0 3.5824 3.5824 <_heapq.heappop>
2185472 0 5.2207 3.5762
mercurial.changelog:212(parentrevs)
546211 0 28.4966 3.5331
mercurial.context:508(_parents)
1092545 0 3.3425 3.3425 <_heapq.heappush>
570442 570426 116.7100 3.2405
mercurial.obsolete:1069(getrevs)
2 0 68.2235 2.8986
mercurial.obsolete:1110(_computeunstableset)
2487697 0 2.8281 2.8281 mercurial.revlog:344(node)
1912340 0 3.2161 2.7581 mercurial.phases:225(phase)
2 0 21.0754 2.3407
mercurial.obsolete:1160(_computedivergentset)
1093333 0 2.6585 2.2731
mercurial.obsolete:794(allprecursors)
2 0 2.2116 2.2116 <posix.waitpid>
570420 0 17.7617 2.0889
mercurial.context:165(obsolete)
273109 0 4.6521 1.9839
mercurial.branchmap:338(branchinfo)
1638630 0 15.0839 1.8930
mercurial.revset:3010(_iterfilter)
5862928 0 1.6864 1.6864
mercurial.localrepo:402(unfiltered)
2185167 0 1.6768 1.6768
mercurial.util:535(cachevalue)
2185472 0 1.6445 1.6445
mercurial.revlog:352(parentrevs)
Please let me know if there is any other information I can provide to help
diagnose the problem.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list