diff options
author | Ian Wienand <ianw@vmware.com> | 2011-09-09 20:19:35 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2011-09-09 20:19:35 +0200 |
commit | c2a06db69de7562024524a89a7b0f0f7e61c5999 (patch) | |
tree | fd38f4525062bc8b22e1dfe142e6f5fc6e3f5e42 | |
parent | 880eec8f33843d00142d2639dfe7d807dc125cf9 (diff) | |
download | busybox-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.src | 10 | ||||
-rw-r--r-- | archival/gzip.c | 6 |
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 | ||
190 | config 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 | |||
190 | config LZOP | 200 | config 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 |