#model

app dark

Practical BWT-based compressor

1 unstable release

Uses old Rust 2015

0.1.0 Jun 25, 2015

MIT/Apache

95KB
2.5K SLoC

Rust 2K SLoC // 0.1% comments C++ 702 SLoC // 0.1% comments Objective-C 8 SLoC

Dark compressor

Build Status Stories in Ready

git clone --recursive https://github.com/kvark/dark
cd dark
make

Dark aims to be a practical lossless universal data compressor. By combining the security of Rust with the state of art BWT implementation and compression techniques, Dark aims to be the trust-worthy tool for your day-to-day compression needs.

It requires rust-compress, and is developed in cooperation with this wonderful library.

Current status

The compressor can successfully pack and unpack any data in linear time, including the self executable. The following areas are being worked on:

  • SACA optimization (BWT forward speed)
  • Range/Binary coder optimization (pack/unpack speed)
  • BWT-DC model improvements (compression ratio)

Base line

The latest C-version of Dark-0.51 is replicated 1-to-1 here as the Dark compression model. It narrows down book1 to just 214445 bytes. Source of Dark-0.51 is also included in "etc/dark-c/", it was adopted to be multi-platform and include verbose logging.

Dependencies

~8.5MB
~29K SLoC