~sbinet/pzlib

Go parallel zlib (de)compression
503441de — Sebastien Binet 2 months ago
pzlib: add badges and credits to pgzip
9bbc625f — Sebastien Binet 2 months ago
pzlib: prevent allocations w/ sync.Pool.{Get,Put}
a4745941 — Sebastien Binet 2 months ago
all: apply staticcheck fixes

clone

read-only
https://git.sr.ht/~sbinet/pzlib
read/write
git@git.sr.ht:~sbinet/pzlib

You can also use your local clone with git send-email.

#pzlib

Build status GoDoc

Go parallel zlib compression/decompression. This is a fully zlib compatible drop-in replacement for compress/zlib.

This will split compression into blocks that are compressed in parallel. This can be useful for compressing big amounts of data. The output is a standard zlib compressed data.

The zlib decompression is modified so it decompresses ahead of the current reader. This means that reads will be non-blocking if the decompressor can keep ahead of your code reading from it. CRC calculation also takes place in a separate goroutine.

pzlib is an adaptation of klauspost/pgzip for the zlib usecase.

#Installation

$> go get git.sr.ht/~sbinet/pzlib/...

#Usage

Godoc Documentation

To use as a replacement for zlib, exchange

import "compress/zlib"

with:

import zlib "git.sr.ht/~sbinet/pzlib"

#License

This contains large portions of code from the Go repository - see GO_LICENSE for more information. The changes are released under MIT License. See LICENSE for more information.