Есть ли преимущество в этом, вместо того, чтобы просто оставлять файлы в несжатом виде в папках Windows?
Да.
Как отмечается в ответе Келтари , людям может быть легче работать с одним файлом, чем со многими. На практике, на самом деле, если у человека есть куча файлов, он часто может просто поместить файлы в одну папку, а затем выполнить файловые операции (например, копировать) над папкой. Общая концепция файла архива, содержащего файлы, и концепция каталога / папки, содержащей файлы, очень похожи. Фактически, эти концепции настолько похожи, что поддержка Microsoft для ZIP-файлов, встроенных в графический интерфейс WinXP (и более новых) и некоторых систем Win9x с добавленным определенным кодом, получила название "Сжатые папки Microsoft" в графическом интерфейсе Microsoft.
Пример: когда я использую SquirrelMail, почтовое веб-приложение, я могу загрузить файл. Я могу загрузить несколько файлов, по одному за раз. Я не могу просто выбрать кучу файлов и загрузить пакет. Если у меня есть 30 файлов для загрузки, я могу просто попросить 7-Zip сжать файлы, используя "хранилище", чтобы я не тратил кучу времени, пытаясь сжать данные много (если я знаю, что данные не сжимаются), и тогда я могу просто загрузить один (сжатый) файл в SquirrelMail.
Иногда некоторые расширения файлов (например, .exe) могут быть запрещены, в то время как архивы могут быть разрешены (брандмауэрами, защитой от вредоносного ПО, используемой почтовым клиентом и т.д.)
Тем не менее, могут быть и другие преимущества, помимо очевидной "простоты использования" с некоторым программным обеспечением. Если формат файлового архива содержит хэш целостности файла для сжатых данных, то при обращении к данным можно проверить целостность файла. Это может привести к обнаружению ошибок, которые могут не быть обнаружены, если формат файлового архива не использовался.
Конечно, теоретически файловая система может содержать метаданные, в которых хранится хэш файла. Разница здесь в том, что файловые системы обычно не содержат данных такого типа, в отличие от архивов. Таким образом, даже если файловые системы могут иметь эти данные, они, как правило, не имеют (по крайней мере, традиционно для многих старых типов файловых систем).
Еще одна причина, по которой метод "хранения" обычно реализуется архивным программным обеспечением, заключается в том, что его очень легко программировать. Таким образом, есть небольшой недостаток в том, чтобы сделать его доступным вариантом.
Если резервное копирование данных, то архив обычно будет содержать метку времени, которая может быть простым способом отметить время, когда включенные файлы старше, чем. Каталоги / папки могут не иметь одинаковые временные метки. Или они могли бы. С различными типами файловых систем (например, NTFS против exFAT против Ext3 против Btrfs против ISO9660) и различными операционными системами, реализующими эти файловые системы, и иногда с типами файловых систем, имеющих несколько дат (создание / изменение / доступ), люди могут не склонны доверять что дата каталога фактически отражает, когда содержимое обновлялось (вместо некоторого другого значения, например, когда каталог был создан, переименован или изменились разрешения, но не обязательно изменение данных). Временная метка архивного файла, особенно если это время является частью имени файла, обычно заслуживает доверия.
Помогает ли это с производительностью вообще для HDD?
Надеюсь, что нет. В конце концов, такие хранимые файлы обычно имеют накладные расходы (по некоторым данным, называемым "заголовком"), поэтому архивированные данные часто будут немного медленнее, а не быстрее. Однако могут существовать исключения: это может быть быстрее.
Иногда какой-то код может найти файл, что займет много времени (возможно, потому что он в основном сортирует большое количество файлов). После выполнения файловой операции (копирование / удаление / что угодно), поиск следующего файла займет много времени. Таких проблем часто можно избежать, используя программное обеспечение, включая драйверы файловой системы, которые оптимизированы для таких ситуаций. Однако в других случаях такие ситуации были известны. Копирование одного большого файла часто не будет иметь одинаковую стоимость. (Опять же, по крайней мере, исторически, иногда работа с большим файлом может иметь значительные затраты, которые могут быть еще большими.)
Самое большое преимущество использования хранилища, а не сжатия, заключается в том, что хранение происходит быстрее. Это связано с тем, что требуется время для выполнения вычислений, необходимых для сжатия данных.
Большая часть этого восприятия была основана на более старых технологиях. На самом деле сжатие может сэкономить время, если процессор работает достаточно быстро (чтобы сжатие данных не занимало много времени) и если данные сжаты достаточно, чтобы на диск можно было записывать / читать с диска меньше данных. Быстрое сжатие ЦП больших данных плюс медленная запись сжатых данных может быть быстрее, чем медленная запись несжатых данных.
Могут быть и другие факторы, такие как меньшее использование ("износ") более хрупкого оборудования (например, жестких дисков).
Скорость сжатия (и хранения сжатых данных) или хранения (несжатых данных) зависит от: скорости сжатия, эффективности сжатия (насколько меньше становятся данные после сжатия) и скорости записи / чтение большего количества данных. Результаты, как правило, меняются со временем, в зависимости от разницы в скорости процессора, эффективности алгоритма (разные алгоритмы и, возможно, разные опции, используемые для этих алгоритмов) и скорости хранения.
Как правило, декомпрессия часто выполняется намного быстрее, чем сжатие (потому что она просто воссоздает данные на основе известных результатов и не требует большого количества исследований / предположений), поэтому, если вам нужно записать данные один раз, а затем прочитать их много раз сжатие очень часто стоит. В других случаях многие люди не находят преимущества в использовании сжатия.
Поскольку мощность процессора значительно выше, чем в исторические времена, магазин, кажется, привыкнет меньше. (Люди часто терпят затраты по крайней мере на минимальные / быстрые формы сжатия.) Тем не менее, архивные программы (например, 7-Zip) часто хотят поддерживать "хранилище", чтобы люди могли по-прежнему получать доступ (извлекать / изменять) к архивам, использующим технику хранилища, и потому что это могло бы быть полезно для некоторых людей (в старых системах) и поскольку это может быть полезно для других задач (быстрое создание комбинации данных, не тратя время на попытки сжать данные, которые вряд ли будут хорошо сжаты), а также потому, что хранение является простым процессом, поэтому стимулов для его удаления практически нет, опция имеет тенденцию оставаться доступной.