Me encontré con Cython, mientras buscaba formas de optimizar el código de Python. Leí varias publicaciones en stackoverflow, la wiki de python y leí el artículo "Reglas generales para la optimización".Cython Speed Boost vs. Usabilidad
Cython es algo que capta mi interés más; en lugar de escribir C-code para usted, puede elegir tener otros tipos de datos en su código python.
Aquí está una prueba tonta he intentado,
#!/usr/bin/python
# test.pyx
def test(value):
for i in xrange(value):
i**2
if(i==1000000):
print i
test(10000001)
$ pitón tiempo test.pyx
real 0m16.774s
user 0m16.745s
sys 0m0.024s
$ Cython tiempo test.pyx
real 0m0.513s
user 0m0.196s
sys 0m0.052s
Ahora, honestamente, i Estoy estupefacto. El código que he usado aquí es puro código python, y todo lo que he cambiado es el intérprete. En este caso, si cython es así de bueno, ¿por qué la gente todavía usa el intérprete tradicional de Python? ¿Hay algún problema de confiabilidad para Cython?
Está midiendo el tiempo de ejecución de un script de Python en comparación con el tiempo de compilación de algún código de Cython. Eso no tiene sentido. –
En cuanto a su última observación: eso es básicamente lo que intenta hacer Julia: crear un traductor de código de bajo nivel optimizado en un lenguaje de máquina coherente de alto nivel, y mostrar claramente esta intención desde el principio para obtener una mejor tracción incluso si significa que algunas características de alto nivel se pierden en el camino, como el tipado dinámico. – gaborous
@SturlaMolden: ¿No es esta una prueba de Python interpretar vs Cython copilar y ejecutar? Si es así, tiene perfecto sentido. – Eddy