├── .github └── workflows │ └── rust.yml ├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── benches ├── bv.rs └── lz.rs ├── docs ├── benchmark.svg ├── details.md ├── dmc.svg ├── fse.svg ├── matlen.svg ├── matoff.svg ├── pareto.svg ├── prof.png └── sizebreakdown.svg ├── fuzz ├── .gitignore ├── Cargo.toml └── fuzz_targets │ ├── lz4.rs │ ├── lz4_decode.rs │ ├── simple_decoder.rs │ └── simple_encoder.rs ├── rustfmt.toml ├── scripts ├── compare_pareto.py ├── gen_lz_testcase.py └── gen_sharp_input.py ├── src ├── bin │ └── cli.rs ├── bitvector.rs ├── block.rs ├── coding │ ├── adaptive.rs │ ├── arithmetic.rs │ ├── entropy.rs │ ├── hist.rs │ └── mod.rs ├── full.rs ├── lib.rs ├── lz │ ├── lz4.rs │ ├── matcher.rs │ └── mod.rs ├── models │ ├── bitwise.rs │ ├── dmc.rs │ ├── mixer.rs │ └── mod.rs ├── nop.rs ├── pager.rs └── utils.rs └── tests ├── block_and_full.rs ├── bv.rs ├── encoder.rs ├── hist.rs ├── lz4.rs ├── matcher.rs ├── nop.rs └── utils.rs /.github/workflows/rust.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/.github/workflows/rust.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | debug/ 2 | target/ 3 | data/ 4 | build/ 5 | Cargo.lock 6 | .vscode/ 7 | *.swp 8 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/README.md -------------------------------------------------------------------------------- /benches/bv.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/benches/bv.rs -------------------------------------------------------------------------------- /benches/lz.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/benches/lz.rs -------------------------------------------------------------------------------- /docs/benchmark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/docs/benchmark.svg -------------------------------------------------------------------------------- /docs/details.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/docs/details.md -------------------------------------------------------------------------------- /docs/dmc.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/docs/dmc.svg -------------------------------------------------------------------------------- /docs/fse.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/docs/fse.svg -------------------------------------------------------------------------------- /docs/matlen.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/docs/matlen.svg -------------------------------------------------------------------------------- /docs/matoff.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/docs/matoff.svg -------------------------------------------------------------------------------- /docs/pareto.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/docs/pareto.svg -------------------------------------------------------------------------------- /docs/prof.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/docs/prof.png -------------------------------------------------------------------------------- /docs/sizebreakdown.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/docs/sizebreakdown.svg -------------------------------------------------------------------------------- /fuzz/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | corpus 3 | artifacts 4 | coverage 5 | -------------------------------------------------------------------------------- /fuzz/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/fuzz/Cargo.toml -------------------------------------------------------------------------------- /fuzz/fuzz_targets/lz4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/fuzz/fuzz_targets/lz4.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/lz4_decode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/fuzz/fuzz_targets/lz4_decode.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/simple_decoder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/fuzz/fuzz_targets/simple_decoder.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/simple_encoder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/fuzz/fuzz_targets/simple_encoder.rs -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | max_width = 80 2 | 3 | -------------------------------------------------------------------------------- /scripts/compare_pareto.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/scripts/compare_pareto.py -------------------------------------------------------------------------------- /scripts/gen_lz_testcase.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/scripts/gen_lz_testcase.py -------------------------------------------------------------------------------- /scripts/gen_sharp_input.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/scripts/gen_sharp_input.py -------------------------------------------------------------------------------- /src/bin/cli.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/bin/cli.rs -------------------------------------------------------------------------------- /src/bitvector.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/bitvector.rs -------------------------------------------------------------------------------- /src/block.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/block.rs -------------------------------------------------------------------------------- /src/coding/adaptive.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/coding/adaptive.rs -------------------------------------------------------------------------------- /src/coding/arithmetic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/coding/arithmetic.rs -------------------------------------------------------------------------------- /src/coding/entropy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/coding/entropy.rs -------------------------------------------------------------------------------- /src/coding/hist.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/coding/hist.rs -------------------------------------------------------------------------------- /src/coding/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/coding/mod.rs -------------------------------------------------------------------------------- /src/full.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/full.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/lz/lz4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/lz/lz4.rs -------------------------------------------------------------------------------- /src/lz/matcher.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/lz/matcher.rs -------------------------------------------------------------------------------- /src/lz/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/lz/mod.rs -------------------------------------------------------------------------------- /src/models/bitwise.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/models/bitwise.rs -------------------------------------------------------------------------------- /src/models/dmc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/models/dmc.rs -------------------------------------------------------------------------------- /src/models/mixer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/models/mixer.rs -------------------------------------------------------------------------------- /src/models/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/models/mod.rs -------------------------------------------------------------------------------- /src/nop.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/nop.rs -------------------------------------------------------------------------------- /src/pager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/pager.rs -------------------------------------------------------------------------------- /src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/src/utils.rs -------------------------------------------------------------------------------- /tests/block_and_full.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/tests/block_and_full.rs -------------------------------------------------------------------------------- /tests/bv.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/tests/bv.rs -------------------------------------------------------------------------------- /tests/encoder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/tests/encoder.rs -------------------------------------------------------------------------------- /tests/hist.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/tests/hist.rs -------------------------------------------------------------------------------- /tests/lz4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/tests/lz4.rs -------------------------------------------------------------------------------- /tests/matcher.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/tests/matcher.rs -------------------------------------------------------------------------------- /tests/nop.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/tests/nop.rs -------------------------------------------------------------------------------- /tests/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nadavrot/compressor/HEAD/tests/utils.rs --------------------------------------------------------------------------------