[Bug 4630] New: Rebasing across thousands of changesets on a large repository is slow
mercurial-bugs at selenic.com
mercurial-bugs at selenic.com
Tue Apr 28 15:55:11 UTC 2015
http://bz.selenic.com/show_bug.cgi?id=4630
Priority: normal
Bug ID: 4630
CC: mercurial-devel at selenic.com
Assignee: bugzilla at selenic.com
Summary: Rebasing across thousands of changesets on a large
repository is slow
Severity: bug
Classification: Unclassified
OS: All
Reporter: gregory.szorc at gmail.com
Hardware: All
Status: UNCONFIRMED
Version: 3.4-rc
Component: Mercurial
Product: Mercurial
I'm not yet sure whether this is a regression (testing now), but `hg rebase`
across thousands of changesets in my Firefox repository is extremely slow.
Specifically, applying individual changesets is taking several seconds per
changeset.
Here is a profile. Some of the contents will be from doing a 20,000+ file
working directory update.
CallCount Recursive Total(s) Inline(s) module:lineno(function)
3829775 0 26.2298 26.2298 <zlib.decompress>
949697 0 11.6072 11.6072 <open>
2038438 0 126.1228 10.5551
mercurial.revlog:1035(revision)
2037045 0 89.5936 8.8702
mercurial.revlog:976(_chunks)
2037045 0 2.1490 2.1490
<mercurial.mpatch.patches>
2037045 0 18.9800 1.9220
mercurial.revlog:1109(_checkhash)
1946068 0 1.8783 1.3969
mercurial.changelog:208(node)
1946021 0 1.8928 1.3331
mercurial.changelog:226(flags)
1946068 0 142.5942 10.1531
mercurial.changelog:306(read)
1946068 0 116.7430 9.9609
mercurial.revlog:1035(revision)
3892124 0 2.4511 2.4511 <method 'split' of
'str' objects>
1946062 0 1.6636 1.6636 <method 'index' of
'str' objects>
3892124 0 8.9393 1.6514
mercurial.encoding:83(tolocal)
1946062 0 1.1620 1.1620 <binascii.unhexlify>
2037045 0 89.5936 8.8702
mercurial.revlog:976(_chunks)
2874953 0 49.7314 3.4215
mercurial.revlog:964(_chunkraw)
3892342 0 28.4089 2.1917
mercurial.revlog:81(decompress)
3892342 0 1.3454 1.3454
mercurial.revlog:349(start)
3892342 0 0.7155 0.7155
mercurial.revlog:353(length)
3892342 0 0.5223 0.5223 <method 'append' of
'list' objects>
949459 0 8.5870 8.5870 <method 'read' of 'file'
objects>
4530518 0 8.0274 8.0274 <_heapq.heappop>
4518586 0 6.9824 6.9824 <_heapq.heappush>
4234016 0 4.4733 4.4733 <method 'update' of
'_hashlib.HASH' objects>
6956548 0 6.1317 4.2965
mercurial.changelog:220(parentrevs)
6956548 0 1.8353 1.8353
mercurial.revlog:347(parentrevs)
17 0 4.0722 4.0722
<mercurial.osutil.statfiles>
838034 0 4.1824 4.0054
mercurial.revlog:921(_addchunk)
1430542 0 0.1770 0.1770 <len>
9643208 0 3.7968 3.7968 mercurial.revlog:349(start)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list