2011-02-09 3 views
6

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

+7

Benchmark it === – denysonique

ответ

2

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

1

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