gzip: new GZIP_BIG_MEM option
authorIan Wienand <ianw@vmware.com>
Fri, 9 Sep 2011 18:19:35 +0000 (20:19 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 9 Sep 2011 18:19:35 +0000 (20:19 +0200)
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>
archival/Config.src
archival/gzip.c

index 81788ecd94470277842ef411a2ef213f65bc914e..9f490817844cc019bf128aaa10e1172bc93bb6d4 100644 (file)
@@ -187,6 +187,16 @@ config FEATURE_GZIP_LONG_OPTIONS
        help
          Enable use of long options, increases size by about 106 Bytes
 
+config GZIP_BIG_MEM
+       bool "Trade memory for gzip speed"
+       default n
+       depends on GZIP
+       help
+         Enable big memory options for gzip, including larger I/O
+         buffers and bigger hash tables.  Faster, but uses at least
+         twice as much memory.  Select if speed is more important than
+         memory use.
+
 config LZOP
        bool "lzop"
        default y
index 403eb4dcb4eeabbd982cc0f44e4e7c28274ea3bd..0e0b681424e595837d552df974f148c85760e392 100644 (file)
@@ -81,7 +81,11 @@ aa:      85.1% -- replaced with aa.gz
 
 /* ===========================================================================
  */
-#define SMALL_MEM
+#if ENABLE_GZIP_BIG_MEM
+# define BIG_MEM
+#else
+# define SMALL_MEM
+#endif
 
 #ifndef INBUFSIZ
 #  ifdef SMALL_MEM