Skip to content

Commit

Permalink
Create README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
pierrec committed Mar 14, 2015
1 parent 9cbcbab commit 3dfa4c4
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.

0 comments on commit 3dfa4c4

Please sign in to comment.