aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Wienand <ianw@vmware.com>2011-09-09 20:19:35 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2011-09-09 20:19:35 +0200
commitc2a06db69de7562024524a89a7b0f0f7e61c5999 (patch)
treefd38f4525062bc8b22e1dfe142e6f5fc6e3f5e42
parent880eec8f33843d00142d2639dfe7d807dc125cf9 (diff)
downloadbusybox-w32-c2a06db69de7562024524a89a7b0f0f7e61c5999.tar.gz
busybox-w32-c2a06db69de7562024524a89a7b0f0f7e61c5999.tar.bz2
busybox-w32-c2a06db69de7562024524a89a7b0f0f7e61c5999.zip
gzip: new GZIP_BIG_MEM option
Enabling the config option on my standard linux box and zipping a random 250mb file: small mem: 21.85user 0.44system 0:22.35elapsed big mem: 13.45user 0.46system 0:13.94elapsed Signed-off-by: Ian Wienand <ianw@vmware.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--archival/Config.src10
-rw-r--r--archival/gzip.c6
2 files changed, 15 insertions, 1 deletions
diff --git a/archival/Config.src b/archival/Config.src
index 81788ecd9..9f4908178 100644
--- a/archival/Config.src
+++ b/archival/Config.src
@@ -187,6 +187,16 @@ config FEATURE_GZIP_LONG_OPTIONS
187 help 187 help
188 Enable use of long options, increases size by about 106 Bytes 188 Enable use of long options, increases size by about 106 Bytes
189 189
190config GZIP_BIG_MEM
191 bool "Trade memory for gzip speed"
192 default n
193 depends on GZIP
194 help
195 Enable big memory options for gzip, including larger I/O
196 buffers and bigger hash tables. Faster, but uses at least
197 twice as much memory. Select if speed is more important than
198 memory use.
199
190config LZOP 200config LZOP
191 bool "lzop" 201 bool "lzop"
192 default y 202 default y
diff --git a/archival/gzip.c b/archival/gzip.c
index 403eb4dcb..0e0b68142 100644
--- a/archival/gzip.c
+++ b/archival/gzip.c
@@ -81,7 +81,11 @@ aa: 85.1% -- replaced with aa.gz
81 81
82/* =========================================================================== 82/* ===========================================================================
83 */ 83 */
84#define SMALL_MEM 84#if ENABLE_GZIP_BIG_MEM
85# define BIG_MEM
86#else
87# define SMALL_MEM
88#endif
85 89
86#ifndef INBUFSIZ 90#ifndef INBUFSIZ
87# ifdef SMALL_MEM 91# ifdef SMALL_MEM