He buscado respuestas y parece que parece viejo o desactualizado. ¿Python 3 se ha actualizado aún, por lo que es decentemente más rápido que Python 2.7 o aún así me conviene seguir con mi código viable?Python 2.7 o Python 3 (por velocidad)?
Respuesta
El problema no es sobre la velocidad: tienen la misma velocidad o Python 3.x es más rápido (según los puntos de referencia que mire). Más específicamente, Python 2 solía ser más rápido, pero aparentemente están a la par el uno del otro ahora (?). Vea los comentarios y este slide deck (hacia la parte posterior).
Los desarrolladores centrales también están trabajando activamente en la optimización de Python 3: cada nueva versión de Python 3 ha sido faster then the last. Puede mantenerse al tanto de las últimas propuestas e ideas sobre la optimización de Python (así como las numerosas complicaciones) al monitorear el python-dev mailing list.
Más bien, la razón por la que muchas personas solían dar por no actualizar es porque cuando salió Python 3, y durante varios años después, la mayoría de las bibliotecas de Python no se actualizaron para funcionar en Python 3.x. Sin embargo, afortunadamente, esta situación ha mejorado enormemente en la actualidad: la mayoría de las bibliotecas de terceros ahora son compatibles con Python 3.
El Python FAQ contiene más información. También puede comprobar el Python Wall of Superpowers o Py3 Readiness para obtener una visión general de que las bibliotecas de Python populares son actualmente compatibles con Python 3.
Actualización: (verano 2017)
me siento un poco obligado a señalar que el apoyo a Python 2 es formally ending in 2020.
Muchas bibliotecas 3 ª parte también están planeando en seguir su ejemplo - un gran subconjunto del ecosistema científica (por ejemplo matplotlib, pandas, ipython) están planeando dropping support for Python 2 in 2020, Django es dropping support ... No me sorprendería que otra las bibliotecas hacen lo mismo.
Por lo tanto, si está interesado en asegurarse de que puede usar las últimas y mejores características en Python o en su biblioteca favorita, debería considerar migrar a Python 3 más pronto que tarde.
Estas son algunas guías sobre la conversión de Python 2 a 3 código:
Esto también es precisamente (la otra razón) por la que aún no lo he actualizado. Parece que el soporte es limitado para muchas de las bibliotecas que uso. – MyNameIsKhan
En realidad, Python 3 tiende a ser un poco más lento que 2.x. No mucho y puedes tratarlos de la misma manera con fines prácticos, pero el hecho de que cada número entero ahora sea 'largo' y cada cadena ahora 'unicode' tenga algo de sobrecarga. – kindall
Hay otras mejoras importantes de velocidad, en particular en el subprocesamiento y GIL, por lo que si va a usarlo para algo que involucra subprocesos (la mayoría de los servidores web) o algunos cálculos intensivos probablemente> = 3.2 será más rápido en general. – Feras
Python 3.3 se incluye una optimización de las cadenas Unicode que reduce su consumo de memoria . Eso podría traducir en un código más rápido si más de eso cabe en el caché.
Realmente la única manera de saberlo es comparar su código más crítico en ambos y ver cuál es la diferencia.
Acepto: la evaluación comparativa es el camino a seguir. – Michael0x2a
La necesidad de bibliotecas para sus aplicaciones determinará si Python3 o Pyhton2 es mejor.
Preguntó acerca de la velocidad, no cuál es mejor. Pidió información, no un juicio o preferencia. – Xennex81
FYI, here es un benchmark de rendimiento que compara Python 2.7 con Python 3.3. Python 3.3 es más rápido que Python 2.7.
@JimFerrans bien, está actualizado ahora –
- 1. python 2.7 vs python 3.1
- 2. Python 2.7 argparse
- 3. Velocidad del generador en python 3
- 4. urllib.request en Python 2.7
- 5. $ PYTHONSTARTUP con python 2.7 y python 3.2
- 6. Ttk en python 2.7
- 7. Nuevo proyecto: Python 2 o Python 3?
- 8. Python 2.7 en Ubuntu
- 9. MSSQL en python 2.7
- 10. mod_python para python 2.7
- 11. Python 2.7 print() error
- 12. python 2.7 minúsculas
- 13. soporte pypcap para python 2.7?
- 14. MySQLdb para Python 2.7 (Ubuntu)
- 15. Comience IDLE con python 3 en Linux (Python 2.7 instalado al costado)
- 16. Instalar Python 2.7 sin root
- 17. Usando ffmpeg con Python 2.7
- 18. Las descripciones de Python no funcionan en Python 2.7
- 19. Python 2.7: Imprimir hilo seguro
- 20. paquete de Cygwin Python 2.7
- 21. Python estrellas desembalaje para la versión 2.7
- 22. Python - Virtualenv, python 3?
- 23. python 3 en emacs
- 24. Python 2.7 Combine abc.abstractmethod y classmethod
- 25. argparse falta en python 3
- 26. python 2.7/exec/¿qué está mal?
- 27. Python 2 o Python 3 como primer idioma del alumno
- 28. Cómo instalar desarrollo de Python 2.7 si tengo Python 2.7 en un directorio diferente
- 29. intente ... excepto ... como error en Python 2.5 - Python 3.x
- 30. Homebrew Python y escribir en /Library/Python/2.7/site-packages/?
La compatibilidad con Unicode para ciertos casos de uso es mejor en Python 3. – nhahtdh
Python 3 tiene algunas nuevas optimizaciones en parte del lenguaje, pero Python2 tiene la ['pypy' JIT VM] (http://www.pypy.org) que puede obtener importantes mejoras de velocidad. ¿Cuál es tu pregunta? Si ya tiene el código compatible con Python 2, puede quedarse con Python 2 o cambiar a Python 3 con algunos cambios de código (a menos que haya libs que no pueda obtener en Python 3). – birryree
@birryree Mi pregunta es si podría esperar mejoras en la velocidad transfiriendo a Python 3. No pude ponerme nervioso trabajando en Windows. – MyNameIsKhan