2011-02-09 18 views
6

Me pregunto cuál sería la diferencia de rendimiento al comprimir datos usando rubyzip en comparación con el uso de bibliotecas de os nativos para realizar la compresión. Estoy buscando datos para comprimirlos desde una URL y luego uso ZipOutputStream para crear el archivo zip. En el caso de las utilidades nativas del sistema operativo, estoy pensando en usar la herramienta zip. Sería bueno escuchar algunos pros y contras para ambos enfoques.Rubyzip vs compresión de sistema operativo nativo

+7

Comparativa === – denysonique

Respuesta

2

Resulta que no hay mucha diferencia en cuanto al tiempo empleado en la operación o el uso de la CPU. Pero hubo una diferencia significativa en lo que respecta al uso de la memoria. Con rubyzip, el proceso terminó usando mucha más memoria en comparación con cuando se usa el zip. En nuestro caso de uso, el uso de la memoria era una preocupación importante y, por lo tanto, terminamos usando la utilidad zip.

1

Si está extrayendo los datos de la web, es dudoso que el cuello de botella sea rubyzip. Dudo que veas una gran diferencia en el rendimiento, ya que estará limitado por la velocidad de tu conexión web. Además, rubyzip usa bibliotecas nativas para hacer la mayor parte del trabajo. Probablemente funcionará bien y me sorprendería mucho si fuera mucho más lento para este tipo de aplicación. Ahora bien, si le preocupaban cuántos ciclos de CPU se necesitaban porque miles de subprocesos se ejecutarían a la vez, entonces es posible que desee utilizar las bibliotecas gnu C.

Cuestiones relacionadas