У меня есть сервер приложений, у которого есть куча файлов, и мне может понадобиться динамически объединить подмножество из них во время выполнения и отправить их в один ответ HTTP в виде заархивированного файла. Давайте сделаем вид, что эти файлы A и B. Я могу либо предварительно хранить их как A.zip и B.zip, и объединить их в C.zip, у которых есть A и B внутри них, или просто сохранить их A и B и закрепить их в C.zip. Какой из них быстрее?Лучше ли комбинировать существующие zip-файлы и создавать новые?
0
A
ответ
1
Они - плохая идея. Создание C.zip с двумя файлами внутри, A.zip и B.zip, будет пытаться сжать в основном несжимаемые файлы и потребует трех шагов декомпрессии для извлечения вместо одного. (Вы можете избежать потери времени, пытаясь сжать с соответствующими параметрами, чтобы застегнуть молнию.) Извлечение A и B и застегивание нового C отбрасывает все усилия по сжатию, которые вступили в создание A и B, и повторяет все это при создании C.
Вместо этого вы хотите объединить два ZIP-файла, считая, что в нем нет встречного имени файла/путей. Вы можете использовать zipmerge для объединения двух zip-файлов.
Update:
Забавно, я только что вспомнил, что я написал один из них около года назад. Он называется zipknit.
Смежные вопросы
- 1. Как лучше создавать новые элементы?
- 2. Определение того, следует ли создавать новые объекты или обновлять существующие
- 3. Различать новые и существующие исключения
- 4. Удалите существующие изображения, прежде чем создавать новые изображения
- 5. Лучше ли комбинировать подклассы моделей и использовать неиспользуемые поля или создавать конкретные подклассы?
- 6. Лучше ли создавать новые поля в таблице post в Wordpress или создавать новую таблицу
- 7. JQuery - создавать новые радиокнопки
- 8. ColdFusion создавать новые строки
- 9. Лучше создавать новые VBO или просто менять данные? (OpenGL)
- 10. Лучший способ комбинировать существующие виды/контроллеры?
- 11. Получить новые и существующие элементы между списками
- 12. не уверен, следует ли создавать новые модели
- 13. Возможно ли получить существующие объекты лося, а не создавать новые, когда предоставляются одинаковые требуемые атрибуты?
- 14. Лучше ли создавать библиотеку с несколькими функциями или создавать классы?
- 15. Как сообщить PendingIntent, следует ли создавать новые или обновлять существующие широковещательные рассылки
- 16. Использует ли блоки автоматически создавать новые темы?
- 17. Linq Where Clauses - Лучше складывать или комбинировать?
- 18. Должен ли я использовать точки и прямоугольники или создавать новые?
- 19. Дизайн шаблонов: какие новые, где используются существующие?
- 20. Как лучше комбинировать документы для обработки XSLT?
- 21. Дизайн - Когда создавать новые функции?
- 22. libGDX: лучше ли повторно использовать экраны или создавать новые экземпляры каждый раз?
- 23. Прерывание Mousehook, распоряжаться и создавать новые Mousehook?
- 24. Сплит линии и создавать новые dataframe
- 25. Делает ли db: schema: загрузить удалять существующие таблицы и создавать новые? если да, то как не удалять существующие таблицы и данные?
- 26. Может ли Autofac создавать существующие объекты с зависимостями Mef?
- 27. создавать новые переменные из массива меньше
- 28. Python Efficiency: лучше ли создавать новые переменные и назначать им задачи, а не использовать одну и ту же переменную?
- 29. Как лучше всего комбинировать и оптимизировать эти два запроса?
- 30. Bind новые переменные __data__, сохранить существующие переменные
Если вы внимательно прочитали мой вопрос, я сказал, что C.zip содержит A и B, а не A.zip и B.zip. Итак, да, в основном то, что я прошу, это zipmerge быстрее, чем чистая zipping N файлов. – pathikrit
Да, конечно, слияние происходит быстрее. Слияние не рекомпрессируется. –
Ха-ха, только что узнал, что вы один из изобретателей gzip :) Почитаем, что мой тупой вопрос ответил вам :) – pathikrit