暫無描述

Markus Stenberg 3ece337a98 Added SetBytes to the Benchmarks to see bytes/second. 8 年之前
fuzz b49c44d6bd remove stray .DS_Store file 8 年之前
lz4c 859ad0cfea close writer 9 年之前
testdata 88df27974e fixed #16 8 年之前
.gitignore f5b77fd73d added .gitignore, closes #14 9 年之前
.travis.yml be9203377d updated travis.yml 8 年之前
LICENSE 88478b2614 Added LICENSE 11 年之前
README.md 6fd11ec8ec added godoc and travis icons 10 年之前
block.go 8a90232770 Improve copy efficiency in block decompression 8 年之前
export_test.go 9cbcbabc0a Initial release 11 年之前
lz4.go a5a5642aca Remove mallocs in writer.go 9 年之前
lz4_test.go 3ece337a98 Added SetBytes to the Benchmarks to see bytes/second. 8 年之前
reader.go 383c0d87b5 Merged pull from arya: Fix compression/decompression bug when BlockDependency=true #6 10 年之前
writer.go 88df27974e fixed #16 8 年之前

README.md

godoc Build Status

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.