Nenhuma descrição

Pierre Curto 856e77b716 Merge pull request #2 from ikkeps/master 10 anos atrás
lz4c 9cbcbabc0a Initial release 10 anos atrás
LICENSE 88478b2614 Added LICENSE 10 anos atrás
README.md 3dfa4c4faf Create README.md 10 anos atrás
block.go 9cbcbabc0a Initial release 10 anos atrás
export_test.go 9cbcbabc0a Initial release 10 anos atrás
lz4.go 9cbcbabc0a Initial release 10 anos atrás
lz4_test.go 5dc165e8dd changes based on gofmt -s; fixed small performance issue with NoChecksum==true 10 anos atrás
reader.go 52c49dea48 Fix reader, so it reads block len properly 10 anos atrás
writer.go 9b7b588240 Fix writing of block size 10 anos atrás

README.md

lz4

LZ4 compression and decompression in pure Go

Usage

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.