浏览代码

Slight performance improvement in read_zlib.

Jelmer Vernooij 16 年之前
父节点
当前提交
c2851a457f
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      dulwich/pack.py

+ 3 - 2
dulwich/pack.py

@@ -75,7 +75,7 @@ def take_msb_bytes(map, offset):
 
 
 def read_zlib(data, offset, dec_size):
 def read_zlib(data, offset, dec_size):
     obj = zlib.decompressobj()
     obj = zlib.decompressobj()
-    x = ""
+    ret = []
     fed = 0
     fed = 0
     while obj.unused_data == "":
     while obj.unused_data == "":
         base = offset+fed
         base = offset+fed
@@ -83,7 +83,8 @@ def read_zlib(data, offset, dec_size):
         if len(add) < 1024:
         if len(add) < 1024:
             add += "Z"
             add += "Z"
         fed += len(add)
         fed += len(add)
-        x += obj.decompress(add)
+        ret.append(obj.decompress(add))
+    x = "".join(ret)
     assert len(x) == dec_size
     assert len(x) == dec_size
     comp_len = fed-len(obj.unused_data)
     comp_len = fed-len(obj.unused_data)
     return x, comp_len
     return x, comp_len