Interested Article - LZJB

LZJB алгоритм сжатия данных без потерь , изобретённый в 1998 году для сжатия аварийных дампов программ и данных в файловой системе ZFS . Основан на методе сжатия с использованием словаря . Этот алгоритм включает множество исправлений к алгоритму , который в свою очередь является вариантом , являющимся членом семейства алгоритмов сжатия Lempel-Ziv . Этот алгоритм нацелен на увеличение скорости сжатия .

В 2012—2013 годах в ZFS рассматривалась замена LZJB на байт-ориентированный LZ4 , как более быстрый метод с немного лучшим сжатием .

Сжатый поток в LZJB является байтовым. Для разметки потока используется управляющий байт, описывающий типы следующих 8 последовательностей. Каждый бит управляющего байта определяет тип одного элемента . Бит со значением 0 соответствует литеральному байту: один байт сжатого потока копируется в выходной поток. Бит со значением 1 означает ссылку в словарь («совпадение»). Два следующих за ним байта содержат 6-битное поле длины и 10-битное поле смещения (LLLLLLdd dddddddd). Биты длины декодируются в длину от 3 до 66 байтов (длина равна L+3), затем из выходного буфера выбирается строка, отстоящая на «смещение» (d) байтов назад от текущей позиции.

Примечания

  1. M. A. Basir, M. H. Yousaf. (англ.) // The Nucleus. — 2012. — Vol. 49 , no. 2 . — P. 133 . 12 февраля 2017 года.
  2. Y. Rathore, M. Ahirwar, R. Pandey. (англ.) // Journal of Computer Science IJCSIS. — 2013. — October ( vol. 11 , no. 10 ). — P. 90 . 14 декабря 2018 года.
  3. . Дата обращения: 17 октября 2018. 17 октября 2018 года.
  4. . Дата обращения: 17 октября 2018. Архивировано из 9 октября 2018 года.
  5. от 17 октября 2018 на Wayback Machine / Wikibooks

Ссылки

  • / OpenSolaris, Illumos
  • в ZFS on Linux
  • / Wikibooks
Источник —

Same as LZJB