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
Respuesta
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.
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.
- 1. oscilación interfaz de usuario no tiene sistema operativo nativo mirar
- 2. Usar el Mapa de teclas predeterminado del sistema operativo nativo
- 3. Detectar el sistema operativo
- 4. Sistema operativo de espacio aislado
- 5. Desarrollo de un sistema operativo
- 6. ¿Dónde puedo encontrar información detallada sobre cómo interactúa AWT con el sistema operativo nativo?
- 7. Iniciar un sistema operativo nativo en un disco duro como una máquina virtual
- 8. Actualizar sistema operativo Android programáticamente
- 9. Detectar sistema operativo en Clojure
- 10. sistema operativo y aplicaciones WPF
- 11. Cómo determinar el sistema operativo
- 12. Establecer nivel de compresión al generar un archivo ZIP usando RubyZip
- 13. Ruby/rubyzip alternativa capaz de manejar rar/tar/zip/7z?
- 14. C biblioteca de sistema operativo independiente
- 15. Pregunta de arranque del sistema operativo básico
- 16. Tiempo de compilación del sistema operativo
- 17. Libros de Android en el sistema operativo
- 18. Diferencias fundamentales entre el sistema operativo Linux y el sistema operativo móvil (Android)
- 19. jQuery - detectando el sistema operativo y la versión del sistema operativo
- 20. malloc en un sistema integrado sin un sistema operativo
- 21. ¿Qué sistema operativo móvil debo codificar?
- 22. Requisitos del sistema operativo para arc4random_uniform()
- 23. Pilas NFC en el sistema operativo Android
- 24. ¿OSX es un sistema operativo POSIX?
- 25. Sistema operativo recomendado para Visual Studio 2008
- 26. ¿Cómo detectar el sistema operativo en ejecución?
- 27. ¿qué es un sistema operativo sin tics?
- 28. El sistema operativo está eliminando el hilo
- 29. Determine el sistema operativo en .vimrc
- 30. Cómo determinar el sistema operativo en elisp?
Comparativa === – denysonique