View previous topic :: View next topic |
Author |
Message |
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Wed Oct 11, 2006 08:41 Post subject: Непрерывный ZIP архив – уменьшаем размер архива |
|
|
Иногда на компьютере не бывает нормального архиватора, зато есть Total Commander.
Если нужно скопировать множество небольших файлов, например текстовых, HTML, используйте непрерывные ZIP архивы.
Ни один архиватор не сделает такой архив за один проход, Рошаль тоже отказался.
1. Если есть папки, нажмите Ctrl+B, чтобы файлы были видны одним списком.
2. Выберите нужные файлы, отсортируйте по типу. Это нужно для того, чтобы файлы с одинаковым содержимым шли в архиве друг за другом.
3. Создайте архив без сжатия – нажмите Alt+F5, в на стройках выставите степень сжатия 0. Упакуйте архив.
4. Теперь сожмите получившийся файл с максимальным сжатием.
Для эксперимена были сжаты файлы с Рабочего стола – это сохранённые HTML странички с картинками (графика в папках). Полученные файлы имеют такие размеры:
Исходные файлы: 12.8 Mb (13 460 711 байт)
ZIP без сортировки: 9.0 Mb (9 500 537 байт)
ZIP с сортировкой: 9.0 Mb (9 507 077 байт)
Непрерывный ZIP без сортировки: 8.7 Mb (9 189 712 байт)
Непрерывный ZIP с сортировкой: 8.1 Mb (8 577 696 байт)
Конечно, ёмкости носителей растут каждый день, тем не менее, совет иногда может пригодиться.
! | Avada: | Эта тема представляется куда более уместной в "Общих вопросах", чем в "Секретах и советах". Тем более, что советов у нас и в других местах даётся много... | |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Wed Oct 11, 2006 13:01 Post subject: Re: Непрерывный ZIP архив – уменьшаем размер архива |
|
|
Моторокер wrote: | Ни один архиватор не сделает такой архив за один проход, Рошаль тоже отказался. |
От чего он отказался? Может я пропустил что-то... |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Wed Oct 11, 2006 14:06 Post subject: Re: Непрерывный ZIP архив – уменьшаем размер архива |
|
|
Volniy wrote: | Моторокер wrote: | Ни один архиватор не сделает такой архив за один проход, Рошаль тоже отказался. |
От чего он отказался? Может я пропустил что-то... |
Отказался встроить подобную фичу в WinRAR, типа запутает юзеров. А так бы удобно было, тем более, что галочка «Непрерывный архив» уже есть. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Wed Oct 11, 2006 14:26 Post subject: Re: Непрерывный ZIP архив – уменьшаем размер архива |
|
|
Моторокер wrote: | А так бы удобно было, тем более, что галочка «Непрерывный архив» уже есть. |
Так, что, этого разве недостаточно? |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Wed Oct 11, 2006 14:51 Post subject: |
|
|
Галочка – конечно хорошо, только
Quote: | Ни один архиватор не сделает такой архив за один проход |
_________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Wed Oct 11, 2006 15:39 Post subject: |
|
|
Моторокер wrote: | Галочка – конечно хорошо, только
Quote: | Ни один архиватор не сделает такой архив за один проход |
|
Вопрос ведь не в этом. Нужна ли такая экзотика в RAR, если там есть встроенная поддержка solid-архивов. Будет ли какой-то реальный эффект от этого наворота? |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Wed Oct 11, 2006 16:02 Post subject: |
|
|
Quote: | Нужна ли такая экзотика в RAR, если там есть встроенная поддержка solid-архивов. |
Не у всех есть RAR. Про ZIP знают больше народа. + встроенна поддержка в Win.
Eugene Roshal wrote: | Quote: | Если склеить много небольших файлов в ZIP архив без сжатия, а затем упаковать максимальным методом сжатия тоже в ZIP, то размер архива существенно уменьшится. В итоге размер архива получается больше, чем RAR, но зато и меньше, чем обычный ZIP. |
Это так, но работать с таким архивом будет менее удобно, чем с обычным ZIP или даже solid RAR.
Quote: | TAR+GZ, но в формате ZIP. При открытии такого файла в WinRAR можно было бы сразу переходить во внутренний архив, вот только для прочтения имен файлов надо будет распаковать его полностью. |
Похоже, немного не догнал.
Такой архив может попасть и к пользователям, у которых нет WinRAR. |
Quote: | Будет ли какой-то реальный эффект от этого наворота? |
Конечно, если много одинаковых файлов. Цифры выше. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
Nik
Joined: 01 Jan 2005 Posts: 583 Location: Киров
|
(Separately) Posted: Wed Oct 11, 2006 19:04 Post subject: |
|
|
Quote: | Не у всех есть RAR. Про ZIP знают больше народа. + встроенна поддержка в Win. |
Само собой, Рошаль отказался. Сами посудите - для RAR есть нормальный алгоритм создания непрерывных архивов. Такие архивы нормально распаковывает любой архиватор (поддерживающий формат RAR, разумеется). А каково будет обычному юзеру, у которого даже RAR'а нет, распаковывать такой вот "непрерывный" ZIP-архив? Имхо, проще завести WinRAR _________________ Качественный хостинг. |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Thu Oct 12, 2006 07:04 Post subject: |
|
|
Quote: | А каково будет обычному юзеру, у которого даже RAR'а нет, распаковывать такой вот "непрерывный" ZIP-архив? |
Не понимаю, в чем проблема? Зашёл в архив, там ещё архив, зашёл в него. Иногда и похлеще варианты встречаются, RAR в ZIP упакуют или наоборот. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Thu Oct 12, 2006 10:26 Post subject: |
|
|
Моторокер wrote: | Зашёл в архив, там ещё архив, зашёл в него. |
... дождавшись, пока этот внутренний полностью распакуется во временный каталог...
А вообще, не надо никаких премудростей. Что такое по-вашему TAR-архив? Это ведь и есть набор из всех файлов просто слитых последовательно в один файл. Обычно его жмут потом GZ, но кто мешает жать ZIP'ом или RAR'ом?
К сожалению, работа с вложенными архивами в TC оставляет желать лучшего, поэтому, когда есть такая возможность, лично я стараюсь вложенных архивов избегать. На фразу "не у всех есть RAR" можно ответить, что ещё во времена DOS были изобретены SFX-архивы, которые позволяют без ентого самого RAR'а преспокойненько обходиться. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Thu Oct 12, 2006 11:45 Post subject: |
|
|
Quote: | А вообще, не надо никаких премудростей. |
Описал реальный случай, когда на путере был только Total Commander. Обосновал цифрами. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Thu Oct 12, 2006 12:22 Post subject: |
|
|
Моторокер wrote: | когда на путере был только Total Commander. |
TAR-упаковщик есть в TC, вообще-то. Я хотел сказать, что то же самое можно сделать быстрее и проще, в частности - не переключать степень сжатия ZIP'а, не выводить по Ctrl+B, и не сортировать. Вот, см. результаты моих экспериментов:
Code: | TotalCmd_.tar.zip 38 849 322
TotalCmd_.zip.zip 38 844 474
TotalCmd_b.tar.zip 38 599 674
TotalCmd_b.zip.zip 38 611 219
TotalCmd_bs.tar.zip 38 483 156
TotalCmd_bs.zip.zip 38 509 091 |
Паковал всю папку Тотала (с плагинами и прочей дребеденью). Упаковка во всех случаях производилась двойная. А именно (обозначения):
TotalCmd_[b[s]].(tar|zip).zip
Если в имени указано "_b" - перед упаковкой было нажато сочетание Ctrl+B.
Если "_bs" - после Ctrl+B файлы ещё были отсортированы по расширению.
Если просто "_", ни того, ни другого выполнено не было.
Первое расширение "(tar|zip)" указывает, чем выполнялась упаковка в первый раз: соотвественно, TAR'ом или ZIP'ом с нулевой степенью сжатия.
Вторая упаковка всегда выполнялась ZIP'ом с 9-й степенью сжатия.
Как видим, результаты отличаются менее, чем на 1% (~366 Кб в абсолютном исчислении), и при этом (если уж гнаться за абсолютом) побеждает всё-таки упаковка, где первое сжатие выполнялось TAR'ом.
При всём при этом упаковка TAR'ом выполняется заметно быстрее, чем "нулевым" ZIP'ом, не говоря уж о том, что для сортировки и Ctrl+B требуется выполнить дополнительные действия, которые могут ещё дополнительно занять время (если каталог большой и разветвлённый), а выигрыш будет мизерным, если он будет вообще. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Thu Oct 12, 2006 12:35 Post subject: |
|
|
мм.. вон оно чо.
Правильно говорят: Первый век живи, второй век учись. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Thu Jul 12, 2007 04:58 Post subject: |
|
|
Ставим эксперимент
Есть примерно 17 тыс мелких HTML файлов в 16 директориях - файлы новостей (т.е. тексты похожи).
Исходная папка 22 Мб, на диске 66 Мб (NTFS, кластер 4 Кб)
Архив .tar 41 Мб (почему такой размер - может из-за "прокладок" между файлами?)
Архив .zip 18 Мб ("прямой")
Архив .tar.zip 2,5 Мб (разница в 7 раз!!!)
При этом, TAR сжимается вроде бы быстрее, чем сразу исходные файлы.
Архив .7z 1,4 Мб ("прямой")
Архив .tar.7z 1,4 Мб (разница в 10 Кб)
Оба раза одинаково медленно.
Получается, что разные типы файлов нужно сжать разными упаковщиками? А как их делить автоматом по типам? _________________ Xubuntu 20.10 |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Thu Jul 12, 2007 10:17 Post subject: |
|
|
Ник wrote: | (почему такой размер - может из-за "прокладок" между файлами?) |
Да. У tar'а эти "прокладки" довольно большие - то ли 512 байт, то ли килобайт.
Ник wrote: | Получается, что разные типы файлов нужно сжать разными упаковщиками? А как их делить автоматом по типам? |
Дело не в типах, а в конкретном содержимом как отдельных файлов, так и их всех вместе. Большое количество HTML-файлов - это гигантская экономия на всяких длинных именах тегов, которые постоянно встречаются. Если упаковщик поддерживает анализ содержимого нескольких файлов (хоть сам по себе, хоть трюком с TAR'ом), то эта экономия и проявляется.
А то, что разные упаковщики пакуют разные файлы по-разному - давно известно... _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|