Я делал немного сжатия тестирования производительности, связанные с некоторыми возможное развитие MySQL (думаю, что «лучше сжатых MyISAM таблиц») и был потрясен тем, разница между GZIP и bzip2.
Учитывая, файл данных MyISAM примерно 2661512 (или 2,5 Гб), я его с помощью сжатого и GZIP и bzip2 с использованием их соответствующих -9 варианты для достижения максимального сжатия и приурочен каждый. Я сделал это дважды. Затем я распаковать полученный файл на стандартный вывод и отправил результаты в / Dev / нуль и приурочен, что слишком. Раз в мм: сс и размер в КБ.
макет время | комп. размер | разл время | |
GZIP | 14:31 | 349736 | 0:55 |
bzip2 | 39:44 | 275344 | 9:46 |
Излишне говорить, что я был просто потрясен результатами. Понятно, что bzip2 производит меньше сжатых файлов, но он делает это на очень большие затраты — особенно, если вы думаете использовать его в приложении, которое требует частого декомпрессии. Одно дело, для сжатия файлов, а не смотреть на них еще раз в течение нескольких лет. Но мы говорим о сжатых таблиц, которые бы видеть много использования.
Ничего себе.
А как насчет myisampack и MySQL, сжатых таблиц ? Мы старались, что уже. Результирующий файл 921888 КБ (900MB). Нам нужно сделать совсем немного лучше.
Дэйв Смит сказал:
Какие вы собираетесь после: время, пространство, или оба? Пытались ли вы поиск bzip2 уровень сжатия GZIP, который соответствует производительности для размера или космос?
Ну, Дэйв Смит уже сделал большую часть предложение, которое я собирался сделать. т.е. сколько времени нужно для того, bzip2, чтобы достичь того же уровня сжатия GZIP, как -9?
Я знал, bzip2 был жесткий сжатия, и я был vaguly знать, что это было больше ресурсов процессора. Я понятия не имел, что при -9 было то, что гораздо более интенсивным!
Ты уверен, что ваш / Dev / нуль на быстрый диск? 🙂
Формат 7z ( https://www.7-zip.org/) было бы интересно для сравнения тоже.
Конечно.
Дайте мне версия для FreeBSD, и я постараюсь его.
Если вы идете по времени с разумной степенью сжатия, посмотреть на lzop. Мы обнаружили, что идеальный компромисс в компресс-раз-раз распаковать сценариев (например, местных партий, или передача данных по высокоскоростной сети)
Существуют аппаратные карты для SSL. Кто-нибудь продаже карт для GZIP, BZIP2 и т.д., или добавление этих функций SSL карты? Это имело бы смысл (особенно в последние браузеры принимают сжатый контент).
Я немного запутался в соответствии с концепцией здесь. Являются ли эти таблицы только для чтения? Потому что, если они не являются, вероятно, даст прямо сейчас. Если они, конечно, какая-то GZ дефлирования может быть лучше, чем то, что упаковано MyISAM обеспечивает. Если вы знаете много о ваших данных и Есть некоторые конкретные модели, оптимальной подход Хаффмана с очень большой словарь, было бы целесообразно и изящный вид, хотя я подозреваю, что если ваши данные были, что много повторений больших строк, было бы быть проще просто предварительно перекодировать его в вставить сцену.
Ключ к такого рода проблемы (действительно, какой-либо компрессии ситуации) является понимание ваших данных и ваши потребности, и найти правильный матча, нет один-размер-подходит-всем. Почему нужно, чтобы все настолько малы, в данном приложении? Чтобы получить его, чтобы вписаться в ядро с индексами? (Это хорошая цель …)
Ну, я не эксперт по сжатию algoriths, но, насколько я могу вспомнить, GZIP и bzip2 работать схожим образом: берут кусок данных (размер в зависимости от степени сжатия) и сжать его, основанных на подобных токенов. bzip2 использует большие куски, поэтому его можно вырезать более дубликатов жетонов и тем самым генерировать файлы меньшего размера, но это также требует больше времени и обработки информации.
Gzip доступен в аппаратной форме:
https://slashdot.org/apache/03/03/19/1340218.shtml?tid=137
Страницы руководства bzip2 содержится некоторая информация о том -1 до -9 параметры влияют блока и скорость. Оказалось, что нет большой разницы в скорости.
Мне нравится GZIP лучше, потому что вы можете перенаправить все к нему. Вы не можете сделать то же самое с bzip2. Например, если я могу сделать
дд, если = / dev/fd0 | GZIP-9c> fd0.img.gz
Я не могу сделать, что в BZIP, потому что не может писать на экране, как GZIP делает с-с вариант.
Я был укушен одно и то же несколько недель назад. Мне пришлось изменить сценарий резервного копирования, которая была демпинг на ленту с GZIP -9. Я знал, что bzip2 сжатие должно было быть лучше, поэтому я решил, какого черта, s/gzip/bzip2 /.
Это относительно небольшая машина, и уровень 0 свалки только займет около часа. С моим «улучшение», я пришел в конце следующего утра и обнаружил свалку еще работает … Yeesh.)
Как только я вернулся и начал тестирование, я обнаружил, что в некоторых случаях GZIP -9 был быстрее, чем GZIP -1. Я полагаю, это происходит потому, что Есть меньше блоков выписать. Пойдите число …
Джереми, я попытался установить обратную ссылку на эту запись через Simpletracks, но это не сработало. Что же подвох?
По электронной почте, странно. Теперь она есть. Просто во втором, когда я разместил мои комментарии.
Первый раз я пытался использовать bzip2 я был убежден, что я miscompiled двоичный, но нет, это был просто принимать навсегда.
Похоже, catch22 с bzip2 в том, что для личного пользования, вы только действительно заботятся о сохранении пространства, если файл godawful огромный, и в этом случае время, необходимое для сжатия весьма запретительными (по крайней мере для нас, ленивых людей, которые хотят сделать компьютер NOW).
Это, наверное, полезно для распространения больших пакетов, где вы больше заботятся о трафик с вашего сервера, чем время, которое пользователи будут сидеть там ждет пакет для распаковки.
Ааа, я немного опоздал на вечеринку (как я не читал этого был в отпуске за бит). Я думаю, я знаю, что это слишком:)
Мы могли бы хотят общаться бит, наша группа перешла этой области несколько раз с различными инструментами и или различными данными и размеров.
Вы могли бы действительно хотите видеть разн. что диск IO делает, когда вы переходите из GZIP -1 до -9 GZIP на декомпрессию. Результаты не являются традиционными и нелинейных! Насколько мне известно, это был мой первый «лунный» проект на работе …. Мне кажется, история их.
Привет, всем.
Я ученик. Если вы не возражаете, пожалуйста, напишите команды, используемые для достижения наиболее уровень сжатия в GZ и bz2 форматов на Linux платформы.
Спасибо.
Трент
Рам не так, bzip2 может писать в стандартный вывод, как GZIP.
От человека странице:
Если ни имена файлов не указаны, bzip2 сжимает со стандартного ввода на стандартный вывод. В этом случае, bzip2 будет снижаться, чтобы написать сжатый вывод на терминал, как это было бы совершенно непонятно, и поэтому бессмысленно.
Как и при сжатии, поставляя не имена файлов причины декомпрессии со стандартного ввода на стандартный вывод.
Чтобы быть справедливым, вероятно, вы должны сравнить свои результаты с критериями, используя «CanterburyCorpus».
Кроме того, как это влияет на размер времени / пространства компромисс? Она не требует слишком много точек данных, чтобы получить соответствующий спуск кривой. После этого вы можете сравнить формально приложений.
Кроме того, что система эта выжал на? Может либо GZIP или bzip2 требуют больше оперативной памяти? Какой размер блока вы использовали? Имеет один пострадал от подкачки?
Просто мои 2 цента …
-Шейн
Оборудование / ОС: Linux 2.6 Intel PIII 900MHZ/512MB RAM/ATA-66 IDE DISK
Теста: 192 МБ сладкий Linux 2.6.8.1 исходных кодов ядра:
-Ги-г — г — 1 корень корень 192M 28 сентября 18:14 Linux-2.6.8.1.tar
7za —
реальные 11m24.977s
Пользователь 11m13.116s
системы 0m9.700s
Размер: 31Мб linux.7za
bzip2 -9
реальные 5m42.995s
Пользователь 5m33.766s
системы 0m4.104s
размер: 34М Linux-2.6.8.1.tar.bz2
GZIP -9
реальные 1m19.165s
Пользователь 1m13.315s
системы 0m4.408s
Размер: 43M Linux-2.6.8.1.tar.gz
Краткое содержание:
Никаких реальных сюрпризов — выходной говорит само за себя. 7za имел преимущество сжатия, но гораздо медленнее, чем как bzip2 и GZIP. Gzip -9 полетели.
Несмотря на долгую все время сжатия использования. Мне нравится, что 7za существует! Я только хотел было воспользоваться на Big Endian метизы (SPARC / КПП)
~ Деннис
Couiple приемов для bzip2:
1. Сборка двоичных для вашей машины. Я уменьшил время сжатия от 20% только путем восстановления bzip2 Fedora Core бинарная «-март = pentium4-O2-fomit-кадр-указатель» переключатели компилятора.
2. ПО СМП pbzip2 использования машины. Он призывает libbz2.so в русской темы для одновременного сжатия и выписывает bzip2-совместимых archve.
Привет для проекта колледжа исследований я хочу, чтобы вычислить размер блока bz2 файл из его шестнадцатеричный дамп. Не могли бы вы предложить конкретные смещения байтов, которые обеспечивают переход от одного блока к другому или от начала файла до конца.
С уважением,
https://jeremy.zawodny.com/blog/archives/000953.html
Просмотров: 1647