|
|
@@ -0,0 +1,28 @@
|
|
|
+# lz4
|
|
|
+LZ4 compression and decompression in pure Go
|
|
|
+
|
|
|
+## Usage
|
|
|
+
|
|
|
+```go
|
|
|
+import "github.com/pierrec/lz4"
|
|
|
+```
|
|
|
+
|
|
|
+## Description
|
|
|
+
|
|
|
+Package lz4 implements reading and writing lz4 compressed data (a frame),
|
|
|
+as specified in http://fastcompression.blogspot.fr/2013/04/lz4-streaming-format-final.html,
|
|
|
+using an io.Reader (decompression) and io.Writer (compression).
|
|
|
+It is designed to minimize memory usage while maximizing throughput by being able to
|
|
|
+[de]compress data concurrently.
|
|
|
+
|
|
|
+The Reader and the Writer support concurrent processing provided the supplied buffers are
|
|
|
+large enough (in multiples of BlockMaxSize) and there is no block dependency.
|
|
|
+Reader.WriteTo and Writer.ReadFrom do leverage the concurrency transparently.
|
|
|
+The runtime.GOMAXPROCS() value is used to apply concurrency or not.
|
|
|
+
|
|
|
+Although the block level compression and decompression functions are exposed and are fully compatible
|
|
|
+with the lz4 block format definition, they are low level and should not be used directly.
|
|
|
+For a complete description of an lz4 compressed block, see:
|
|
|
+http://fastcompression.blogspot.fr/2011/05/lz4-explained.html
|
|
|
+
|
|
|
+See https://github.com/Cyan4973/lz4 for the reference C implementation.
|