Каков самый простой, но эффективный алгоритм сжатия?
Выкачайте, lzma, и т.д. не допустимые опции. Мне нужно что-то, что компилирует действительно маленький, как: RLE, LZX, Хаффман, и т.д.
Примечание: Данные являются 95%-м текстом ASCII
Править: Данные являются ~20kb в данный момент, но я ожидаю, что это будет расти к 1 МБ
Edit2:
Другие интересные опции
smaz https://github.com/antirez/smaz
FastLZ http://fastlz.org/
Похоже, что LZO был разработан для удовлетворения ваших требований:
- Декомпрессия проста и очень быстра.
- Для распаковки не требуется память.
- Сжатие происходит довольно быстро.
вы можете попробовать http://scz-compress.sourceforge.net/
Этот бенчмарк имеет много сравнений. Проверьте его, так как он также показывает алгоритмы, используемые в процессе сжатия.
Большинство словарных схем вполне подойдут. Любая из LZ. Мы используем разновидность LZ77 во встроенных системах для многих наших простых задач сжатия, и она прекрасно работает почти без затрат памяти. Какая система сжимает и что распаковывает? Это определит тип компрессора, с которым вы можете обойтись.