summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2010-12-04 14:07:29 +0000
committerLars Wirzenius <liw@liw.fi>2010-12-04 14:07:29 +0000
commit97aa4d99ae1919583330d8bbb8fc60548a88eb79 (patch)
tree8a30b06de484093cdb1afcdb72c133f4480ec978
parent3d3b0df260b8f8f47a3e414db793d4afd41fdc25 (diff)
downloadobnam-97aa4d99ae1919583330d8bbb8fc60548a88eb79.tar.gz
Optimize by not doing two checksum lookups for each chunk id.
-rw-r--r--obnamlib/store.py8
1 files changed, 2 insertions, 6 deletions
diff --git a/obnamlib/store.py b/obnamlib/store.py
index 59e52606..2f2315ef 100644
--- a/obnamlib/store.py
+++ b/obnamlib/store.py
@@ -393,21 +393,17 @@ class Store(object):
if chunk_id not in other_chunks]
return chunk_ids
- def remove_from_chunksums_for_this_client(chunk_ids):
- for chunk_id in chunk_ids:
- checksum = self.chunklist.get_checksum(chunk_id)
- self.chunksums.remove(checksum, chunk_id, self.current_client_id)
-
def remove_unused_chunks(chunk_ids):
for chunk_id in chunk_ids:
checksum = self.chunklist.get_checksum(chunk_id)
+ self.chunksums.remove(checksum, chunk_id,
+ self.current_client_id)
if not self.chunksums.chunk_is_used(checksum, chunk_id):
self.remove_chunk(chunk_id)
logging.debug('_really_remove_generation: %d' % gen_id)
chunk_ids = self.client.list_chunks_in_generation(gen_id)
chunk_ids = filter_away_chunks_used_by_other_gens(chunk_ids, gen_id)
- remove_from_chunksums_for_this_client(chunk_ids)
remove_unused_chunks(chunk_ids)
self.client.remove_generation(gen_id)