Artefacto de compilación de velocidad de Python para que lo vean los estudiantes
Ven y experimenta el artefacto de compilación de velocidad de Python
Artefacto de compilación de velocidad de Python
¿Python se ejecuta rápido? Aunque diferentes escenarios tienen diferentes conclusiones, pero en general
, no es tan rápido como C o Java. Esto también ha llevado al hecho de que, cuando Python está arrasando en el campo de la IA con su legibilidad, simplicidad y facilidad de uso, y su buen ecosistema, se ha convertido en un dolor de cabeza para muchos desarrolladores cuando se trata de velocidad.
Para resolver este problema, los científicos informáticos del MIT tomaron medidas.
Desarrollaron conjuntamente un compilador de Python llamado Codon, que puede convertir
código Python. convertido a código de máquina local sin afectar el rendimiento en tiempo de ejecución
.
Actualmente, Codon tiene código abierto en Git Hub: /exaloop/codon y ha obtenido 6300 estrellas.
1. El rendimiento de Codon es equivalente al de C/C++
"En un solo hilo, es entre 10 y 100 veces o más rápido que la velocidad típica de Python.
p>
"El repositorio de Codon escribe: "El rendimiento de Codon es a menudo comparable al de C/C++ (a veces incluso mejor). La diferencia con Python es que Codon admite subprocesos múltiples locales, lo que puede aumentar la velocidad muchas veces.
Codon se desarrolló originalmente como un marco para crear lenguajes específicos de dominio de alto rendimiento
(DSL, lenguaje específico de dominio) en Python. DSL
Un lenguaje que se centra en un propósito específico, en lugar de un lenguaje de programación de propósito general
como Python o C.
Según el repositorio oficial de Git Hub, Codon se originó a partir del proyecto Seq, que es un
DSL para bioinformática y genética. Ahora se ha convertido en un
Recientemente, el medio extranjero The Register compartió recientemente un artículo sobre Codon a través del equipo de investigación de la herramienta
.
El documento afirma que "A diferencia de otras implementaciones de Python orientadas al rendimiento (como PyPy o
Numba), Codon se construyó desde cero como un sistema independiente
, se puede compilar con anticipación en un ejecutable estático y no está vinculado a un tiempo de ejecución de Python
existente (como CPython o RPython). Por lo tanto, Codon
tiene un mejor rendimiento. se puede lograr y se pueden superar problemas específicos del tiempo de ejecución, como los bloqueos globales del intérprete.
2. Prueba
Entonces, ¿Codon es realmente tan rápido como dice? En el foro de Codon, un
desarrollador realizó una prueba:
p>
CPython 3.11
PyPy 7.3.9
Codon compilado
Codon con intérprete de Python
Finalmente, un simple El script Fibonacci compilado por Codon es más de 70 veces más rápido que la versión CPython.
Según la documentación oficial de Codon, aunque la sintaxis y la semántica de Codon son casi las mismas que las de Python
, todavía existen algunas diferencias que vale la pena mencionar, como los tipos de datos
Entero. El int de Codon es un entero con signo de 64 bits, mientras que el de Python (después de la versión 3) puede ser arbitrariamente grande. Sin embargo, Codon admite números enteros más grandes a través de Int[N]
, donde N es el ancho de bits.
Cadena.
Codon actualmente usa cadenas ASCII, a diferencia de las cadenas Unicode de Python.
Diccionario. El tipo de diccionario de Codon no conserva el orden de inserción, a diferencia del de Python 3.6
.
Además, Codon y Python tienen ligeras diferencias en la verificación de tipos, operaciones numéricas, módulos y otras dimensiones
Para obtener más detalles, consulte: https:
//docs.exaloop.io/codon/general/differencesSe informa que Codon
se ha utilizado comercialmente en finanzas, bioinformática, aprendizaje profundo y otros campos.