Сжатие и распаковка файлов выполняется быстрее с многопоточной версией bzip2 которая называется lbzip2

Bzip2 по прежнему является одним из наиболее часто используемых инструментов сжатия в Linux, но он работает только с одним потоком, и я узнал , что lbzip2 имеет многопоточную bzip2 компрессию , которая должна привести к более высокой производительности на многоядерных системах.

lbzip2 не был установлен по умолчанию в Ubuntu 16.04, но его достаточно легко установить:

Я клонировал репозиторий mainline Linux на моей машине, так что давайте посмотрим, сколько времени требуется, чтобы сжать папку с помощью bzip2 (один поток):

9 минут и 22 секунды. Теперь давайте повторим тест с lbzip2 используя все 8 ядер моего процессора AMD FX8350:

2 минуты 32 секунд. Почти в 4x раза, не плохо. Это не в 8 раз быстрее, так как необходимо принять во внимание ввод / вывод и начальное сканирование диска, используется все 8-ядер, но не на полную мощность. Файлы были также сохранены в жестком диске, так что я бы предположил, что разница в производительности должна быть еще более заметной с SSD.

Мы можем видеть, что оба файла примерно такого же размера:

Я не совсем уверен, почему существует разница около 771 KB, так как оба инструмента предлагают ту же степень сжатия.

Это был тест сжатия. Как насчет декомпрессии? Я распаковал файл с bzip2 первым:

2 минуты и 49 секунд. Теперь давайте файл с lbzip2:

45 секунд! Опять же, разница в производительности является довольно серьезной.

Если вы хотите всегда использовать lbzip2 вместо bzip2, вы можете создать псевдоним:

Обратите внимание, что это приведет к конфликту ( “конфликтующие параметры сжатия”) при попытке сжать файлы с помощью -j / -bzip2 или -J, -xz варианты, так что вместо него, вы можете создать еще один псевдоним, например, tarfast.

lbzip2 не является единственным инструментом для поддержки многопоточного сжатия bzip2, а pbzip2 еще одна реализация. Тем не менее, один из отчетов указывает на то, что lbzip2 может быть в два раза быстрее, чем pbzip2 для сжатия файлов (скорость распаковки примерно такая же) что дает вам прекрасные возможности если вы регулярно делаете резервное копирование файлов.

tkaiser также тестировали различные алгоритмы сжатия (GZIP, pbzip2, LZ4, pigz) для сценария резервного копирования для Orange Pi платы, работающей на armbian, и измеряющую общую производительность PIPING для EMMC через различные компрессоры / Dev / null:

pigz выглядит лучшим решением (25,2 Мб / с) по сравнению с pbzip2 (15,2 МБ / с). lbzip2 эксперименты не проводились, но я думаю lbzip2 может показать лучшие результаты по сравнению с pigz как с точки зрения скорости, так и сжатия на основе предыдущего доклада, хотя фактические результаты могут отличаться в зависимости от используемого процессора.

Благодарим сайт cnx-software.com за предоставленную информацию.

Оригинал статьи тут

 

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments