summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2013-08-05 19:31:00 +0100
committerLars Wirzenius <liw@liw.fi>2013-08-05 19:31:00 +0100
commit1b899fac85976d69137d4685b3c8f1f18ab83f19 (patch)
tree0314f30150c4c0bcbafc2eb2bf6cc0bcc3684184
parentb298971d4992d63e7e8da53eaca29c1be8cebae3 (diff)
parent1b5777036e05a66a3c535aafb6d5915b7c800831 (diff)
downloadobnam-1b899fac85976d69137d4685b3c8f1f18ab83f19.tar.gz
Add a tiny speedup patch
-rw-r--r--obnamlib/checksumtree.py2
-rw-r--r--obnamlib/chunklist.py5
-rw-r--r--obnamlib/clientlist.py2
3 files changed, 5 insertions, 4 deletions
diff --git a/obnamlib/checksumtree.py b/obnamlib/checksumtree.py
index 75d6c3a7..3fdc0ac5 100644
--- a/obnamlib/checksumtree.py
+++ b/obnamlib/checksumtree.py
@@ -33,7 +33,7 @@ class ChecksumTree(obnamlib.RepositoryTree):
upload_queue_size, lru_size, hooks):
tracing.trace('new ChecksumTree name=%s' % name)
self.fmt = '!%dsQQ' % checksum_length
- key_bytes = len(self.key('', 0, 0))
+ key_bytes = struct.calcsize(self.fmt)
obnamlib.RepositoryTree.__init__(self, fs, name, key_bytes, node_size,
upload_queue_size, lru_size, hooks)
self.keep_just_one_tree = True
diff --git a/obnamlib/chunklist.py b/obnamlib/chunklist.py
index c6557d0b..5e1daf77 100644
--- a/obnamlib/chunklist.py
+++ b/obnamlib/chunklist.py
@@ -35,14 +35,15 @@ class ChunkList(obnamlib.RepositoryTree):
def __init__(self, fs, node_size, upload_queue_size, lru_size, hooks):
tracing.trace('new ChunkList')
- self.key_bytes = len(self.key(0))
+ self.fmt = '!Q'
+ self.key_bytes = struct.calcsize(self.fmt)
obnamlib.RepositoryTree.__init__(self, fs, 'chunklist', self.key_bytes,
node_size, upload_queue_size,
lru_size, hooks)
self.keep_just_one_tree = True
def key(self, chunk_id):
- return struct.pack('!Q', chunk_id)
+ return struct.pack(self.fmt, chunk_id)
def add(self, chunk_id, checksum):
tracing.trace('chunk_id=%s', chunk_id)
diff --git a/obnamlib/clientlist.py b/obnamlib/clientlist.py
index 9ca3d5a2..69ff1708 100644
--- a/obnamlib/clientlist.py
+++ b/obnamlib/clientlist.py
@@ -49,7 +49,7 @@ class ClientList(obnamlib.RepositoryTree):
tracing.trace('new ClientList')
self.hash_len = len(self.hashfunc(''))
self.fmt = '!%dsQB' % self.hash_len
- self.key_bytes = len(self.key('', 0, 0))
+ self.key_bytes = struct.calcsize(self.fmt)
self.minkey = self.hashkey('\x00' * self.hash_len, 0, 0)
self.maxkey = self.hashkey('\xff' * self.hash_len, obnamlib.MAX_ID,
self.SUBKEY_MAX)