Rubyzip против собственного сжатия ОС

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


person randomuser    schedule 09.02.2011    source источник


Ответы (2)


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

person randomuser    schedule 23.11.2011

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

person OTrain    schedule 15.11.2011