para - ¿Python es más rápido y ligero que C++?
navegador rapido y ligero para android (8)
Creo que esas estadísticas muestran que Python es mucho más lento y usa más memoria para esos puntos de referencia. ¿Estás seguro de que los estás leyendo correctamente?
Según mi experiencia, que es principalmente escribir programas vinculados a la red y al sistema de archivos en Python, Python no es significativamente más lento de ninguna manera que importe. Para ese tipo de trabajo, sus beneficios superan sus costos.
Siempre he pensado que las ventajas de Python son la legibilidad del código y la velocidad de desarrollo, pero el uso del tiempo y la memoria no eran tan buenos como los de C ++.
Estas estadísticas me impresionaron mucho.
¿Qué te dice tu experiencia sobre el uso de tiempo y memoria Python vs C ++?
Creo que estás leyendo esas estadísticas incorrectamente. Muestran que Python es hasta 400 veces más lento que C ++ y, con la excepción de un solo caso, Python es más como un hory de memoria. Sin embargo, en lo que respecta al tamaño de la fuente, Python gana a toda máquina.
Mis experiencias con Python muestran la misma tendencia definida de que Python es del orden de 10 a 100 veces más lento que C ++ cuando se hace un gran número de crujidos. Hay muchas razones para esto, las principales son: a) se interpreta Python, mientras se compila C ++; b) Python no tiene primitivas, todo lo que incluye los tipos integrados (int, float, etc.) son objetos; c) una lista de Python puede contener objetos de diferente tipo, por lo que cada entrada tiene que almacenar datos adicionales sobre su tipo. Todo esto dificulta gravemente tanto el tiempo de ejecución como el consumo de memoria.
Sin embargo, esto no es motivo para ignorar Python. Una gran cantidad de software no requiere mucho tiempo o memoria, incluso con el factor de lentitud de 100 veces. El costo de desarrollo es donde Python gana con el estilo simple y conciso. Esta mejora en el costo de desarrollo a menudo supera el costo de recursos adicionales de CPU y memoria. Sin embargo, cuando no lo hace, gana C ++.
El problema aquí es que tienes dos idiomas diferentes que resuelven dos problemas diferentes ... es como comparar C ++ con el ensamblador.
Python es para el desarrollo rápido de aplicaciones y para cuando el rendimiento es una preocupación mínima.
C ++ no es para el desarrollo rápido de aplicaciones y hereda un legado de velocidad de C: para programación de bajo nivel.
El tamaño de la fuente no es realmente una cosa sensata de medir. Por ejemplo, el siguiente script de shell:
cat foobar
es mucho más corto que sus equivalentes Python o C ++.
Es el mismo problema con el lenguaje de programación administrado y fácil de usar que siempre: son lentos (y algunas veces consumen memoria).
Estos son idiomas para controlar en lugar de procesar. Si tuviera que escribir una aplicación para transformar imágenes y tuviera que usar Python también, todo el procesamiento podría escribirse en C ++ y conectarse a Python a través de enlaces, mientras que la interfaz y el control del proceso serían definitivamente Python.
Mi experiencia es la misma que la de los puntos de referencia. Python puede ser lento y usa más memoria. Escribo mucho, mucho menos código y funciona la primera vez con mucha menos depuración. Como administra la memoria para mí, no tengo que hacer ninguna gestión de memoria, lo que ahorra horas de búsqueda de fugas en el núcleo.
¿Cuál es tu pregunta?
También: Psyco vs. C ++ .
Todavía es una mala comparación, ya que nadie haría las pruebas numéricas crujientes en las que los puntos de referencia tienden a centrarse en Python puro de todos modos. Una mejor sería comparar el rendimiento de las aplicaciones realistas, o C ++ versus NumPy, para tener una idea de si su programa será notablemente más lento.
Todos los usos más lentos (> 100x) de Python en el tiroteo son operaciones científicas que requieren un alto conteo de GFlop / s. NO deberías usar Python para esos de todos modos. La forma correcta de usar python es importar un módulo que haga esos cálculos, y luego ir a pasar una tarde relajada con su familia. Esa es la manera pitónica :)