From 48652a65a6a875ad59bcc08fd4737341f2001558 Mon Sep 17 00:00:00 2001 From: Dan Christensen Date: Sat, 25 Mar 2017 19:44:19 -0400 Subject: [PATCH] With --compression auto,C, only use C if lz4 achieves at least 3% compression --- src/borg/helpers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/borg/helpers.py b/src/borg/helpers.py index fc4729652..2a07ac422 100644 --- a/src/borg/helpers.py +++ b/src/borg/helpers.py @@ -2162,13 +2162,13 @@ class CompressionDecider2: cdata = lz4.compress(data) data_len = len(data) cdata_len = len(cdata) - if cdata_len < data_len: + if cdata_len < 0.97 * data_len: compr_spec = compr_args.spec else: # uncompressible - we could have a special "uncompressible compressor" # that marks such data as uncompressible via compression-type metadata. compr_spec = CompressionSpec('none') - self.logger.debug("len(data) == %d, len(lz4(data)) == %d, choosing %s", data_len, cdata_len, compr_spec) + self.logger.debug("len(data) == %d, len(lz4(data)) == %d, ratio == %.3f, choosing %s", data_len, cdata_len, cdata_len/data_len, compr_spec) meta['compress'] = compr_spec return compr_spec, Chunk(data, **meta)