Browse Source

Skip useless lookup.

Jelmer Vernooij 16 years ago
parent
commit
c5e578de19
2 changed files with 5 additions and 3 deletions
  1. 3 1
      dulwich/object_store.py
  2. 2 2
      dulwich/pack.py

+ 3 - 1
dulwich/object_store.py

@@ -110,8 +110,10 @@ class ObjectStore(object):
         :return: tuple with object type and object contents.
         """
         for pack in self.packs:
-            if sha in pack:
+            try:
                 return pack.get_raw(sha, self.get_raw)
+            except KeyError:
+                pass
         # FIXME: Are thin pack deltas ever against on-disk shafiles ?
         ret = self._get_shafile(sha)
         if ret is not None:

+ 2 - 2
dulwich/pack.py

@@ -96,7 +96,7 @@ def iter_sha1(iter):
     return sha1.hexdigest()
 
 
-MAX_MMAP_SIZE = 256 * 1024 * 1024
+MAX_MMAP_SIZE = 1024 * 1024 * 1024
 
 def simple_mmap(f, offset, size, access=mmap.ACCESS_READ):
     """Simple wrapper for mmap() which always supports the offset parameter.
@@ -397,7 +397,7 @@ class PackData(object):
         self._header_size = 12
         assert self._size >= self._header_size, "%s is too small for a packfile (%d < %d)" % (filename, self._size, self._header_size)
         self._read_header()
-        self._offset_cache = LRUSizeCache(1024*1024*5, 
+        self._offset_cache = LRUSizeCache(1024*1024*100, 
             compute_size=compute_object_size)
   
     def _read_header(self):