gzip: flush output buffer after stored blocks only if necessary
function old new delta
flush_block 671 680 +9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/archival/gzip.c b/archival/gzip.c
index 7df38c2..92130e7 100644
--- a/archival/gzip.c
+++ b/archival/gzip.c
@@ -634,7 +634,8 @@
put_8bit(*buf++);
}
/* The above can 32-bit misalign outbuf */
- flush_outbuf_if_32bit_optimized();
+ if (G1.outcnt & 3) /* syscalls are expensive, is it really misaligned? */
+ flush_outbuf_if_32bit_optimized();
}