Mercurial > public > mercurial-scm > hg-stable
diff mercurial/localrepo.py @ 35317:137a08d82232
transaction: build changes['revs'] as range instead of a set
Revisions are added consecutively, so a range can easily represent them
in the changes list. This saves around 45 Bytes / revision on 64bit
platforms and reduces the memory footprint of issue5691 by 15MB.
Don't copy changes['revs'] in getobsoleted. Ranges have a very efficient
contains implementation already.
Differential Revision: https://phab.mercurial-scm.org/D1615
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Fri, 08 Dec 2017 01:23:34 +0100 |
parents | c752fbe228fb |
children | d13526333835 |
line wrap: on
line diff
--- a/mercurial/localrepo.py Wed Dec 06 16:43:07 2017 -0500 +++ b/mercurial/localrepo.py Fri Dec 08 01:23:34 2017 +0100 @@ -1275,7 +1275,7 @@ validator=validate, releasefn=releasefn, checkambigfiles=_cachedfiles) - tr.changes['revs'] = set() + tr.changes['revs'] = xrange(0, 0) tr.changes['obsmarkers'] = set() tr.changes['phases'] = {} tr.changes['bookmarks'] = {}