Categorygithub.com/rasky/go-lzo
repositorypackage
0.0.0-20200203143853-96a758eda86e
Repository: https://github.com/rasky/go-lzo.git
Documentation: pkg.go.dev

# README

go-lzo

Build status Coverage Status

Native LZO1X implementation in Golang

This code has been written using the original LZO1X source code as a reference, to study and understand the algorithms. Both the LZO1X-1 and LZO1X-999 algorithms are implemented. These are the most popular of the whole LZO suite of algorithms.

Being a straightforward port of the original source code, it shares the same license (GPLv2) as I can't possibly claim any copyright on it.

I plan to eventually reimplement LZO1X-1 from scratch. At that point, I will be also changing license.

Benchmarks

These are the benchmarks obtained running the testsuite over the Canterbury corpus for the available compressor levels:

CompressorLevelOriginalCompressedFactorTimeSpeed
LZO1X-1-18521760895748151.6%0.16s109MiB/s
LZO1X-999118521760821734755.6%1.38s13MiB/s
LZO1X-999218521760772487958.3%1.50s12MiB/s
LZO1X-999318521760738437760.1%1.68s10MiB/s
LZO1X-999418521760726667460.8%1.69s10MiB/s
LZO1X-999518521760697987962.3%2.75s6.4MiB/s
LZO1X-999618521760693859362.5%4.53s3.9MiB/s
LZO1X-999718521760690536262.7%6.94s2.5MiB/s
LZO1X-999818521760671347763.8%20.96s863KiB/s
LZO1X-999918521760671206963.8%22.82s792KiB/s