lz4.c : changed a tuning parameter name to MEMORY_USAGE, to better reflect its impact
Makefile : default produces native binary, all produce native & 32-bits binaries


git-svn-id: https://lz4.googlecode.com/svn/trunk@70 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
diff --git a/Makefile b/Makefile
index 5b87bb6..dbefc12 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,9 @@
   OUTPUT    = LZ4Demo.exe
 endif
 
-all: lz4demo
+default: lz4demo
+
+all: lz4demo lz4demo32
 
 lz4demo: lz4.c lz4.h lz4hc.c lz4hc.h bench.c lz4demo.c
 	gcc      -O3 -I. -std=c99 -Wall -W -Wundef -Wno-implicit-function-declaration lz4hc.c lz4.c bench.c lz4demo.c -o $(OUTPUT)
diff --git a/lz4.c b/lz4.c
index 06e2829..b2156cb 100644
--- a/lz4.c
+++ b/lz4.c
@@ -34,12 +34,12 @@
 //**************************************

 // Tuning parameters

 //**************************************

-// COMPRESSIONLEVEL :

-// Increasing this value improves compression ratio

-// Lowering this value reduces memory usage

-// Reduced memory usage typically improves speed, due to cache effect (ex : L1 32KB for Intel, L1 64KB for AMD)

-// Memory usage formula : N->2^(N+2) Bytes (examples : 12 -> 16KB ; 17 -> 512KB)

-#define COMPRESSIONLEVEL 12

+// MEMORY_USAGE :

+// Memory usage formula : N->2^N Bytes (examples : 10 -> 1KB; 12 -> 4KB ; 16 -> 64KB; 20 -> 1MB; etc.)

+// Increasing memory usage improves compression ratio

+// Reduced memory usage can improve speed, due to cache effect

+// Default value is 14, for 16KB, which nicely fits into Intel x86 L1 cache

+#define MEMORY_USAGE 14

 

 // NOTCOMPRESSIBLE_CONFIRMATION :

 // Decreasing this value will make the algorithm skip faster data segments considered "incompressible"

@@ -57,8 +57,8 @@
 #define LZ4_COMPRESSMIN 0

 

 // BIG_ENDIAN_NATIVE_BUT_INCOMPATIBLE :

-// This will provide a boost to performance for big endian cpu, but the resulting compressed stream will be incompatible with little-endian CPU.

-// You can set this option to 1 in situations where data will stay within closed environment

+// This will provide a small boost to performance for big endian cpu, but the resulting compressed stream will be incompatible with little-endian CPU.

+// You can set this option to 1 in situations where data will remain within closed environment

 // This option is useless on Little_Endian CPU (such as x86)

 //#define BIG_ENDIAN_NATIVE_BUT_INCOMPATIBLE 1

 

@@ -181,7 +181,7 @@
 //**************************************

 #define MINMATCH 4

 

-#define HASH_LOG COMPRESSIONLEVEL

+#define HASH_LOG (MEMORY_USAGE-2)

 #define HASHTABLESIZE (1 << HASH_LOG)

 #define HASH_MASK (HASHTABLESIZE - 1)