Pregunta

En una cuestión de rendimiento, ¿cómo se compara Python 3 con Python 2.x?

¿Fue útil?

Solución

3.0 es más lento que 2.5 en los puntos de referencia oficiales. De " ¿Qué & # 8217; s Nuevo en Python 3.0 " :

  

El resultado neto del 3.0   generalizaciones es que Python 3.0   Ejecuta el benchmark de pystone en torno al 10%.   Más lento que Python 2.5. Más probable   La mayor causa es la eliminación de   Carcasa especial para enteros pequeños.   Hay margen de mejora, pero   ¡sucederá después del lanzamiento de la versión 3.0!

Otros consejos

Yo diría que cualquier diferencia será por debajo de trivial. Por ejemplo, hacer un bucle sobre una lista será exactamente igual.

La idea detrás de Python 3 es limpiar la sintaxis del lenguaje en sí misma: eliminar cosas ambiciosas como excepto Exception1, Exception2 , limpiar los módulos estándar (no urllib, urllib2, httplib, etc.).

Realmente no hay mucho que puedas hacer para mejorar su rendimiento, aunque imagino que cosas como la recolección de basura y el código de administración de memoria habrán tenido algunos ajustes, pero no va a ser un "wow, mi generación de estadísticas de base de datos. el código se completa en la mitad del tiempo! " mejora: eso es algo que se obtiene al mejorar el código, en lugar del lenguaje.

Realmente, el rendimiento del lenguaje es irrelevante: todos los idiomas interpretados funcionan básicamente a la misma velocidad. ¿Por qué encuentro Python " más rápido " es todo el moudles incorporado y la sintaxis agradable para escribir - algo que ha se ha mejorado en Python3, así que supongo que en esos términos, sí, el rendimiento de python3 es mejor que python2.x. .

La biblioteca IO se ha rediseñado completamente, y la nueva implementación está en Python puro. Si bien esta es una mejora funcional, en la actualidad es mucho más lenta. Se está trabajando para volver a escribir la mayor parte del nuevo sistema en C. Para obtener más información, consulte estos error informes .

Creo que, en última instancia, es demasiado pronto para hacer ese tipo de comparación todavía. Espere hasta que esté fuera de beta antes de compararlo. El intérprete probablemente será pulido enormemente antes del lanzamiento, pero en general, creo que para la mayoría de los usos, el rendimiento sería comparable y, si está ejecutando una aplicación realmente consciente de la velocidad, ¿es realmente el lenguaje correcto usar python?

A menos que haya planes para una nueva máquina virtual de algún tipo (y no he oído hablar de ninguno de esos planes), existe toda la razón para creer que a largo plazo el rendimiento de Py3K será, al menos asintóticamente, igual la de 2.5

Puede tomar algunos meses, pero eventualmente sucederá, ya que nada en las nuevas características de Py3k es intrínsecamente menos eficiente.

Para concluir, no creo que haya lugar para preocuparse por ello. Ni para esperar una mejora importante de algún tipo.

No lo hago si es más rápido ahora, pero debo esperar que eventualmente será porque ahí es donde ocurrirá el nuevo trabajo de rendimiento y no todo eso será portado hacia atrás.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top