Match cache size between puffdiff and lz4diff
lz4diff invokes puffpatch under the hood. Since cache size has a big
impact on speed of puffpatch(), use 5MB cache(default for update_engine
on device) to improve update speed.
Test: th
Bug: 311315583
Change-Id: I484c3855881551177a3fcc3701d2f202bc645aa2
diff --git a/lz4diff/lz4patch.cc b/lz4diff/lz4patch.cc
index 9de6d58..17fd8a2 100644
--- a/lz4diff/lz4patch.cc
+++ b/lz4diff/lz4patch.cc
@@ -172,10 +172,14 @@
bool puffpatch(std::string_view input_data,
std::string_view patch_data,
Blob* output) {
+ // Cache size has a big impact on speed of puffpatch, use a default of 5MB to
+ // match update_engine behavior.
+ static constexpr size_t kPuffPatchCacheSize = 5 * 1024 * 1024;
return puffin::PuffPatch(std::make_unique<StringViewStream>(input_data),
puffin::MemoryStream::CreateForWrite(output),
reinterpret_cast<const uint8_t*>(patch_data.data()),
- patch_data.size());
+ patch_data.size(),
+ kPuffPatchCacheSize);
}
std::vector<CompressedBlock> ToCompressedBlockVec(