No description
| bench | ||
| src | ||
| src-exe | ||
| test | ||
| .envrc | ||
| .gitignore | ||
| compress.cabal | ||
| flake.lock | ||
| flake.nix | ||
| fourmolu.yaml | ||
| LICENSE | ||
| README.md | ||
Compresses files using Huffman coding.
On The Great Gatsby in plain text on project Gutenberg, it achieves a 0.526 compression ratio when using a word size of two bytes. On an arbitrary RAW image, it peaks at .622 with a 32 bit word size and .645 with a 16 bit one.
To run with Nix:
nix run ".#" --experimental-features "nix-command flakes" -- compress < myFile > myFile.compressed
nix run ".#" --experimental-features "nix-command flakes" -- decompress < myFile.compressed > myFile-decompressed
sha256sum myFile myFile-decompressed
wc -c myFile.compressed myFile
To run with cabal:
cabal run . -- compress < myFile > myFile.compressed
cabal run . -- decompress < myFile > myFile-decompressed
sha256sum myFile myFile-decompressed
wc -c myFile.compressed myFile