summaryrefslogtreecommitdiffstats
path: root/programs
diff options
context:
space:
mode:
authorPrzemyslaw Skibinski <inikep@gmail.com>2016-11-03 15:17:38 (GMT)
committerPrzemyslaw Skibinski <inikep@gmail.com>2016-11-03 15:17:38 (GMT)
commit8847faffbf78ad7166826a56fb15902fca0e2603 (patch)
treeaefb9aa47c9d0384c0cbe9300a659f9419b580c0 /programs
parentf38adde9e0c2ffcac66bf094c3f24e25ec24c8a6 (diff)
downloadlz4-8847faffbf78ad7166826a56fb15902fca0e2603.zip
lz4-8847faffbf78ad7166826a56fb15902fca0e2603.tar.gz
lz4-8847faffbf78ad7166826a56fb15902fca0e2603.tar.bz2
updated programs/README.md
Diffstat (limited to 'programs')
-rw-r--r--programs/README.md67
1 files changed, 64 insertions, 3 deletions
diff --git a/programs/README.md b/programs/README.md
index a952c2f..7a5d2e2 100644
--- a/programs/README.md
+++ b/programs/README.md
@@ -1,6 +1,67 @@
-This directory `programs` contains source files
-to generate `lz4` command line utility,
-and many test tools, such as `fuzzer`, `fullbench` and such.
+Command Line Interface for LZ4 library
+============================================
+
+Command Line Interface (CLI) can be created using the `make` command without any additional parameters.
+There are however other Makefile targets that create different variations of CLI:
+- `lz4` : default CLI supporting gzip-like arguments
+- `lz4c` : Same as `lz4` with additional support for decompression of legacy lz4 versions
+- `lz4c32` : Same as `lz4c`, but forced to compile in 32-bits mode
+
+
+#### Aggregation of parameters
+CLI supports aggregation of parameters i.e. `-b1`, `-e18`, and `-i1` can be joined into `-b1e18i1`.
+
+
+
+#### Benchmark in Command Line Interface
+CLI includes in-memory compression benchmark module for lz4.
+The benchmark is conducted using a given filename.
+The file is read into memory.
+It makes benchmark more precise as it eliminates I/O overhead.
+
+The benchmark measures ratio, compressed size, compression and decompression speed.
+One can select compression levels starting from `-b` and ending with `-e`.
+The `-i` parameter selects a number of iterations used for each of tested levels.
+
+
+
+#### Usage of Command Line Interface
+The full list of options can be obtained with `-h` or `-H` parameter:
+```
+Usage :
+ lz4 [arg] [input] [output]
+
+input : a filename
+ with no FILE, or when FILE is - or stdin, read standard input
+Arguments :
+ -1 : Fast compression (default)
+ -9 : High compression
+ -d : decompression (default for .lz4 extension)
+ -z : force compression
+ -f : overwrite output without prompting
+ -h/-H : display help/long help and exit
+
+Advanced arguments :
+ -V : display Version number and exit
+ -v : verbose mode
+ -q : suppress warnings; specify twice to suppress errors too
+ -c : force write to standard output, even if it is the console
+ -t : test compressed file integrity
+ -m : multiple input files (implies automatic output filenames)
+ -l : compress using Legacy format (Linux kernel compression)
+ -B# : Block size [4-7](default : 7)
+ -BD : Block dependency (improve compression ratio)
+--no-frame-crc : disable stream checksum (default:enabled)
+--content-size : compressed frame includes original size (default:not present)
+--[no-]sparse : sparse mode (default:enabled on file, disabled on stdout)
+Benchmark arguments :
+Benchmark arguments :
+ -b# : benchmark file(s), using # compression level (default : 1)
+ -e# : test all compression levels from -bX to # (default: 1)
+ -i# : iteration loops [1-9](default : 3), benchmark mode only
+ ```
+
+#### License
All files in this directory are licensed under GPL-v2.
See [COPYING](COPYING) for details.