Rubyzip против нативного сжатия ОС - PullRequest
6 голосов
/ 09 февраля 2011

Мне интересно, какая разница в производительности при архивации данных с использованием rubyzip по сравнению с использованием собственных библиотек os для выполнения сжатия. Я извлекаю данные для сжатия из URL-адреса, а затем использую ZipOutputStream для создания zip-файла. В случае нативных утилит ОС я думаю использовать zip-инструмент. Было бы приятно услышать некоторые плюсы и минусы для обоих подходов.

Ответы [ 2 ]

2 голосов
/ 23 ноября 2011

Оказывается, что нет большой разницы с точки зрения времени, затрачиваемого на операцию или использование процессораНо была значительная разница в использовании памяти.При использовании rubyzip процесс занял гораздо больше памяти по сравнению с использованием утилиты zip.В нашем случае использование памяти было серьезной проблемой, и поэтому мы в конечном итоге использовали утилиту zip.

1 голос
/ 16 ноября 2011

Если вы извлекаете данные из Интернета, сомнительно, что узким местом будет rubyzip. Я сомневаюсь, что вы увидите большую разницу в производительности, поскольку она будет в основном ограничена скоростью вашего веб-соединения. Плюс rubyzip использует нативные библиотеки для выполнения большей части работы. Вероятно, будет работать нормально, и я был бы очень удивлен, если бы это было намного медленнее для приложений такого типа. Теперь, если вы обеспокоены тем, сколько циклов ЦП потребовалось, потому что тысячи потоков будут работать одновременно, вы можете использовать библиотеки gnu C.

...