Тестил сегодня архиваторы. На своих, вполне конкретных данных - дано C#-скомпилированный проект - вся папка 33 мегабайта. В нём и картинок, и документации, и всяких xml полно. Всего помаленьку
Архивировалась целиком папка Release
Сама папка - 34 163 566
TAR - просто контейнер, без сжатия 34 269 696
Zip (winZip последней версии) - настройка "Best" - 10 488 500
hades писал(а): ↑Чт ноя 08, 2018 3:52 am
И стоит потраченное время такого сжатия? По мне так - нет. Седьмой зип пока вне конкуренции.
Так скажем - есть разные кейсы и разные задачи. Если у тебя такой задачи не стояло, то конечно не стоит. Как архиватор общего назначения не подойдёт. А вот как специализированное решение конкретной задачи - вполне.
PS: Читал про китайцев которые под это дело делают асики. Скорость на два порядка выше. Но правда в свободной продаже так и не нашел.
Свободное место заполняем нулями. Путем создания файла состоящего только из нулей.
Используем дельту если архив не единственный в серии.
1. Распаковывается раза в два быстрее чем запаковывается - то есть всё равно дохера
2. Аплоад в формы не вариант - не проходит по требованиям проц+память. Выделять по 4Гига на один процесс закачки и давать доступ к файлу через (10 мегабайт * полчаса) это странненько.
Демосцена так-же не вариант - у них совсем другой тип упаковки и требования к этому всему. Никакой архиватор там не поможет.
3. По упаковке равов - а зачем нулями забивать? Быстрее запустить в стрим напрямую "только данные" и их налету жать. Ещё минус забивки нулями, это то, что очень легко сделать непреднамеренную зипбомбу
4. Не рекомендую. Лучший напрямую юзать librsync - зачем пользовать обёртку, коей xdelta и является? Но на самом деле всё зависит от требований, и дифы это не про архивацию совсем.
Более реалистичные архиваторы для реального мира -
zpaq102 - 6 597 497 - 140 секунд
RAZOR 6 742 127 - 42 секунды
paq9a - 6 821 170 - 30 секунд
PS: Вообще надо смотреть по необходимому сету - ибо часть архиваторов жмёт хорошо картинки-музыку, часть БД, часть текста, часть бинарники. Поэтому мои таблицы для конкретного кейса могут совершенно не подойти.
PS2: Ибо мне нужны бинарники, то только сжатие без потери, только хардкор.
Ещё один из плюсов использования "нестандартных" архиваторов, это то, что можно добавить достаточно прозрачно, информацию для восстановления - через тот-же par2. Что позволит достаточно легко разовые потери восстановить. ХЗ насколько это нужно, но для сведения оставлю тут.
Тут от прошлого заказчика пришли - ещё другой софт так же настроить CI с этими архиваторами.
Даже учитывая время, даже учитывая память, даже учитывая что пиздец с распаковкой - людям нужно.
PS: Как я понял для спутниковых каналов, где мегабайт стоит 5 рублей это всё окупается. И скорость в районе старых добрых 33,6
PS2: В моём случае софт, таблички для всяких контейнеровозов, для заполнения таможенных табличек - грубо говоря иногда приходится обновляться без захода в порт и посреди окияна)