Mercurial > public > mercurial-scm > hg
comparison mercurial/bundlerepo.py @ 4988:14486eea8e7a
revlog: speed up chunkcache
- use a reasonable cache size
- avoid an extra copy when we pull in big revs
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 23 Jul 2007 20:44:08 -0500 |
parents | b4066fcbd6ba |
children | 1aaed3d69772 |
comparison
equal
deleted
inserted
replaced
4987:8d30004ada40 | 4988:14486eea8e7a |
---|---|
75 def chunk(self, rev, df=None, cachelen=4096): | 75 def chunk(self, rev, df=None, cachelen=4096): |
76 # Warning: in case of bundle, the diff is against bundlebase, | 76 # Warning: in case of bundle, the diff is against bundlebase, |
77 # not against rev - 1 | 77 # not against rev - 1 |
78 # XXX: could use some caching | 78 # XXX: could use some caching |
79 if not self.bundle(rev): | 79 if not self.bundle(rev): |
80 return revlog.revlog.chunk(self, rev, df, cachelen) | 80 return revlog.revlog.chunk(self, rev, df) |
81 self.bundlefile.seek(self.start(rev)) | 81 self.bundlefile.seek(self.start(rev)) |
82 return self.bundlefile.read(self.length(rev)) | 82 return self.bundlefile.read(self.length(rev)) |
83 | 83 |
84 def revdiff(self, rev1, rev2): | 84 def revdiff(self, rev1, rev2): |
85 """return or calculate a delta between two revisions""" | 85 """return or calculate a delta between two revisions""" |