mirror of https://github.com/minio/minio.git
37 lines
1.6 KiB
Markdown
37 lines
1.6 KiB
Markdown
|
# go-lzo
|
||
|
|
||
|
[![Build status](https://travis-ci.org/rasky/go-lzo.svg)](https://travis-ci.org/rasky/go-lzo)
|
||
|
[![Coverage Status](https://coveralls.io/repos/rasky/go-lzo/badge.svg?branch=master&service=github)](https://coveralls.io/github/rasky/go-lzo?branch=master)
|
||
|
|
||
|
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:
|
||
|
|
||
|
Compressor | Level | Original | Compressed | Factor | Time | Speed
|
||
|
-----------|-------|----------|------------|--------|------|------
|
||
|
LZO1X-1 | - | 18521760 | 8957481 | 51.6% | 0.16s | 109MiB/s
|
||
|
LZO1X-999 | 1 | 18521760 | 8217347 | 55.6% | 1.38s | 13MiB/s
|
||
|
LZO1X-999 | 2 | 18521760 | 7724879 | 58.3% | 1.50s | 12MiB/s
|
||
|
LZO1X-999 | 3 | 18521760 | 7384377 | 60.1% | 1.68s | 10MiB/s
|
||
|
LZO1X-999 | 4 | 18521760 | 7266674 | 60.8% | 1.69s | 10MiB/s
|
||
|
LZO1X-999 | 5 | 18521760 | 6979879 | 62.3% | 2.75s | 6.4MiB/s
|
||
|
LZO1X-999 | 6 | 18521760 | 6938593 | 62.5% | 4.53s | 3.9MiB/s
|
||
|
LZO1X-999 | 7 | 18521760 | 6905362 | 62.7% | 6.94s | 2.5MiB/s
|
||
|
LZO1X-999 | 8 | 18521760 | 6713477 | 63.8% | 20.96s | 863KiB/s
|
||
|
LZO1X-999 | 9 | 18521760 | 6712069 | 63.8% | 22.82s | 792KiB/s
|
||
|
|