mcmilk / zstdmt

Multithreading Library for Brotli, Lizard, LZ4, LZ5, Snappy and Zstandard
Other
185 stars 33 forks source link

add snappy delete lz5 and update zstd #7

Closed jinfeihan57 closed 4 years ago

jinfeihan57 commented 4 years ago

lz5 and Lizard are now merged, only Lizard. So I deleted lz5. And updated zstd to the latest version 1.4.5. Snappy is very fast.On a single core of a Core i7 processor in 64-bit mode, Snappy compresses at about 250 MB/sec or more and decompresses at about 500 MB/sec or more. Multithreading can achieve better performance. so I added snappy method.

ghost commented 4 years ago

Lizard was previously developed as LZ5 (Phoronix article), and the GitHub repository introduction says "Lizard (formerly LZ5) is an efficient compressor with very fast decompression", so the removal of LZ5 references and codes is justified.

mcmilk commented 4 years ago

Currently I don't like the removal of lz5. Also the code should be pllain C, no C++. Can you adjust that ?

ghost commented 4 years ago

@jinfeihan57 他不喜欢移除 LZ5,而原始程式码应该以纯 C 来编写,不应使用 C++。

@mcmilk I see why LZ5 should be kept now - this page says that Lizard (formerly known as LZ5 v2.0) is optimized for decompression speed (and is a completely new algorithm), while LZ5 v1.5 is optimized for compression ratio.

jinfeihan57 commented 4 years ago

@mcmilk Snappy, both the implementation and the main interface, is written in C++. So Can't change C++ to c. I have restored lz5. You can still merge if you want. But this is up to you.

ghost commented 4 years ago

@jinfeihan57 How about writing the code based on andikleen/snappy-c, the C port of Snappy?

mcmilk commented 4 years ago

I thought that the c++ code has some c include file, and we can just use them. I also hadn't looked into the code currently, sorry. Maybe in the weekend, I hope it's okay for you.

jinfeihan57 commented 4 years ago

andikleen/snappy-c This seems to be a solution, I will check it out on the weekend.