Skip to content

Commit 4f04459

Browse files
authored
Update README.md
1 parent 9a3d169 commit 4f04459

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

README.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,30 @@ Use at your own risk. Always keep a copy of your original files.
4343
src="https://img.shields.io/coverity/scan/16859.svg"/>
4444
</a>
4545

46+
## Why Kanzi
47+
48+
There are many excellent, open-source lossless data compressors available already.
49+
50+
If gzip is starting to show its age, zstd and brotli are open-source, standardized and used
51+
daily by millions of people. Zstd is incredibly fast and probably the best choice in many cases.
52+
There are a few scenarios where Kanzi could be a better choice:
53+
54+
- gzip, lzma, brotli, zstd are all LZ based. It means that they can reach certain compression
55+
ratios only. Kanzi also makes use of BWT and CM which can compress beyond what LZ can do.
56+
57+
- These LZ based compressors are well suited for software distribution (one compression / many decompressions)
58+
due to their fast decompression (but low compression speed at high compression ratios).
59+
There are other scenarios where compression speed is critical: when data is generated before being compressed and consumed
60+
(one compression / one decompression) or during backups (many compressions / one decompression).
61+
62+
- Kanzi has built-in data specific transforms (multimedia, utf, text, dna, ...) that can be chosen and combined
63+
at compression time to better compress all kinds of data.
64+
65+
- Kanzi can take advantage of the multiple cores of a modern CPU to improve performance
66+
67+
- It is easy to implement a new transform or entropy codec to either test an idea or improve
68+
compression ratio on speficic kinds of data.
69+
4670

4771
## Benchmarks
4872

@@ -54,7 +78,7 @@ clang++ 14.0.0-1ubuntu1.1
5478

5579
Ubuntu 22.04.3 LTS
5680

57-
Kanzi version 2.2 C++ implementation. Default block size.
81+
Kanzi version 2.2 C++ implementation.
5882

5983
On this machine kanzi can use up to 16 threads depending on compression level
6084
(the default block size at level 9 is 32MB, severly limiting the number of threads

0 commit comments

Comments
 (0)