From 698330a601bcd51d7517edd9fc5466a136f1b1db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Thu, 29 Oct 2020 10:30:39 +0100 Subject: cascache.py: Optimize _fetch_tree() using add_objects() --- src/buildstream/_cas/cascache.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/buildstream/_cas/cascache.py b/src/buildstream/_cas/cascache.py index e19ac39ac..aa9bf17df 100644 --- a/src/buildstream/_cas/cascache.py +++ b/src/buildstream/_cas/cascache.py @@ -550,13 +550,14 @@ class CASCache: with open(objpath, "rb") as f: tree.ParseFromString(f.read()) - tree.children.extend([tree.root]) + dirbuffers = [tree.root.SerializeToString()] for directory in tree.children: - dirbuffer = directory.SerializeToString() - dirdigest = self.add_object(buffer=dirbuffer) - assert dirdigest.size_bytes == len(dirbuffer) + dirbuffers.append(directory.SerializeToString()) - return dirdigest + dirdigests = self.add_objects(buffers=dirbuffers) + + # The digest of the root directory + return dirdigests[0] # fetch_blobs(): # -- cgit v1.2.1