Skip to content

Commit

Permalink
Doc update
Browse files Browse the repository at this point in the history
  • Loading branch information
conor42 committed Jan 30, 2018
1 parent ea27643 commit 078fa63
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
The __Fast LZMA2 Library__ is a lossless high-ratio data compression library based on the LZMA2 codec in 7-zip.

The library uses a parallel buffered radix matchfinder and some optimizations from Zstandard to achieve a 20% to 100%
speed gain over 7-zip at the higher levels, depending on the source data. It also uses some threading, portability, and testing code from Zstandard.
speed gain over 7-zip at the higher levels, depending on the source data. It also uses some threading, portability, and testing code
from Zstandard.

Use of the parallel buffered radix matchfinder instead of BT4 allows multithreaded execution with a simple design and low memory
requirement. The library can compress using many threads without dividing the input into large chunks. Extra
Expand All @@ -10,7 +11,7 @@ memory used per thread is typically no more than a few megabytes, unlike 7-zip i
The largest caveat is that the matchfinder is a block algorithm, and to achieve about the same ratio as 7-zip requires double the
dictionary size, which raises the decompression memory usage. However a reduced dictionary size results in only a small loss of ratio.
A high-compression option is provided to select parameters which achieve higher compression on smaller dictionaries. The speed/ratio
tradeoff is less optimal with this enabled, but is still normally faster than a BT4-based LZMA2 encoder like 7-zip.
tradeoff is less optimal with this enabled, but it is still normally faster than BT4.

Tested vs 7-zip LZMA2 on the [Silesia compression corpus] using two threads. The design goal for the encoder and compression level
parameters was to move the line as far as possible toward the top left of the graph. This provides an optimal speed/ratio tradeoff.
Expand All @@ -23,9 +24,9 @@ Compression data rate vs ratio

### Build

The library is work in progress, and build methods aren't finished properly. There are VS 2015 projects for building a benchmark program, fuzz tester,
and a DLL. Rudimentary gcc makefiles are included for the benchmark and DLL, and user nemequ has contributed a CMake file.
If anyone would like to contribute files for make, cmake, or other build systems, please do so.
The library is work in progress, and build methods aren't comprehensive for all systems. There are VS 2015 projects for building a
benchmark program, fuzz tester, and a DLL. Makefiles for gcc are included for the benchmark, fuzzer and DLL, and user nemequ has
contributed a CMake file. If anyone would like to help improve the build methods, please do so.

### Status

Expand Down

0 comments on commit 078fa63

Please sign in to comment.