Hunter23071985
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Сжатие ПО с целью заливки в Облако Всем привет! Теория: подбирая архиватор для сжатия ПО с целью заливки в Облако, важно выиграть размер, не тратя при этом много времени. Полагаю, у многих в коллекции софта есть набор APK, EXE, ISO, VHD и WIM. В идеале каждому набору нужен свой способ архивации. Конечно же внутри каждого набора файлы заметно отличаются. Тот же набор EXE - это дистрибутивы, TA/TS/NSIS/SFX portable и т.д. Но, наверное, 5 алгоритмов архивации в целом будет более, чем достаточно. ) По данным Squeeze Chart/Executable Compression сжатие 1 Гб ПО займёт от 6 минут до 10 дней с экономией от 503 до 712 МБ: • WinRar 5.40 [x64] solid best 1GB сожмёт 100 ГБ в 43 ГБ за 10 час. (на 1 ГБ надо 6 мин.) • FreeARC 0.67 -mx -ld1600m сожмёт 100 ГБ в 39 ГБ за 15 час. (на 1 ГБ надо 9 мин.) • 7-ZIP 16.0 [x64] ultra128:fb273:bt4:lc3 yx=9 сожмёт 100 ГБ в 39 ГБ за 23 час. (на 1 ГБ надо 14 мин.) Исходя из этого, вроде бы выбрать FreeARC - WinRar не столь эффективен (доп. инфо), а 7-ZIP не столь быстр (доп. инфо). Почитал смежные темы на Ru-Board и encode.ru, безусловно впечатлили посты раз, два, три. Полагаю, сейчас уже есть более перспективные методы/скрипты - профи ставят новые рекорды и одним FreeARC не обойтись. ) Практика, часть 1: подбор оптимального алгоритма сжатия на совокупности файлов • 2446 МБ - тестовый набор (1 APK, 1 VHD, 1 WIM, 2 ISO, NSIS+SFX+TA+TS portable; после сжал ч/з compact /c /f /s /a /i /exe:lzx "D:\1\Test\*.*", получил 1689 МБ за 83 с.) • 1534 МБ, 217 с. - WinRar 5.61 x86 жмёт 1 ГБ за 1,5 мин.; в теории сожмёт 100 ГБ в 63 ГБ за 4 час. Команда: Rar.exe a -s -m5 "D:\1\Test.rar" "D:\1\Test" (как задать "solid best 1GB" не нашёл) • 1478 МБ, 829 с. - 7zip 18.05-extra x86 жмёт 1 ГБ за 5,8 мин.; в теории сожмёт 100 ГБ в 60 ГБ за 16 час. Команда: 7za.exe a -t7z -m0=LZMA2:fb=273:x=9:d=96m:mt=2 "D:\1\Test.7z" "D:\1\Test" (как задать "ultra128:fb273:bt4:lc3 yx=9" не нашёл) • 1466 МБ, 931 с. - FreeArc-console 0.67 x86 жмёт 1 ГБ за 6,5 мин.; в теории сожмёт 100 ГБ в 60 ГБ за 18 час. Команда: Arc.exe a -m9x -ld192m "D:\1\Test.arc" "D:\1\Test"; Arc.exe a -mx -ld1600m даёт 'ERROR: write error (disk full?) in compression algorithm tempfile' • 1387 МБ, 994 с. - Arg_10 жмёт 1 ГБ за 6,9 мин.; в теории сожмёт 100 ГБ в 57 ГБ за 20 час. Команда: Arg.exe -c2 "D:\1\Test.arg" "D:\1\Test" • 1285 МБ, 258 с. - Arg_10_mx7-c2 жмёт 1 ГБ за 1,8 мин.; в теории сожмёт 100 ГБ в 53 ГБ за 6 час. Команда: Arg.exe -c2 "D:\1\Test.arg" "D:\1\Test" • 1284 МБ, 337 с. - Arg_10_mx7-c3 жмёт 1 ГБ за 2,4 мин.; в теории сожмёт 100 ГБ в 52 ГБ за 7 час. Команда: Arg.exe -c3 "D:\1\Test.arg" "D:\1\Test" • 1240 МБ, 3244 с. - Arg_10_mx7-c5 жмёт 1 ГБ за 22,6 мин.; в теории сожмёт 100 ГБ в 51 ГБ за 74 час. Команда: Arg.exe -c5 "D:\1\Test.arg" "D:\1\Test" Оптимальным алгоритмом сжатия стал Arg.exe -c3. Практика, часть 2: тестирование выбранного алгоритма на каждом типе файлов • APK (Navitel.Навигатор)......... 5,2 МБ/с; 1,37x за 29 с. (150,1 > 109,8 МБ) • ISO (Windows 7).................... 7,7 МБ/с; 1,13x за 35 с. (268,1 > 237,5 МБ) • ISO (Windows XP).................. 4,3 МБ/с; 1,14x за 27 с. (117,1 > 102,6 МБ) • portable NSIS (Photoshop)....... 6,5 МБ/с; 3,67x за 146 с. (953,7 > 259,7 МБ) • portable SFX (SimpleTV).......... 4,0 МБ/с; 1,00x за 22 с. (87,5 > 87,4 МБ) • portable TA (ZwCAD)............... 6,3 МБ/с; 1,30x за 31 с. (196,3 > 151 МБ) • portable TS (AVS Video Editor).. 1,8 МБ/с; 1,27x за 83 с. (153,5 > 120,9 МБ) • VHD (Windows 7).................... 8,8 МБ/с; 1,68x за 38 с. (336,1 > 199,7 МБ) • WIM (Windows 10).................. 5,7 МБ/с; 1,00x за 32 с. (183,6 > 182,9 МБ) • Итого.................................... 5,5 МБ/с; 1,69x за 443 с. (2446 > 1451,5 МБ) Просьба ко всем, кто "в теме" высказаться / поделиться батником для оптимального сжатия софта! Может у кого-то есть наработки, которыми можно поделиться? Пожалуйста, присоединяйтесь! |