Probando Shed Skin, un compilador de Python
( Los comentarios están cerrados por que los spammers se ceban con esta entrada. )
Shed Skin [ https://code.google.com/p/shedskin/ ] es un compilador de Python a C++, que puede incrementar mucho el rendimiento de un programa ( hablan de 2 a 20 veces más que Psyco y 2 a 200 veces más que CPython, la implementación base ), muy fácil de usar y que aunque aún se encuentra en desarrollo es bastante usable (no están todas las librerías implementadas y cosas así).
Una vez descargado [ https://code.google.com/p/shedskin/downloads/list ] e instalado, para usarlo solo hay que lanzar shedskin sobre el script y generará un Makefile.
Para probar la eficiencia compararemos una implementación algoritmo de fibonacci ( en forma puramente recursiva ) con Python, compilada con ShedSkin y en C puro.
La implementación en Python def fibo(i):
if (i < 2):
return i
else:
return fibo(i-1) + fibo(i-2)
fibo(35)
La implementación en C int fibo(int i){
if (i < 2){
return i;
}
else{
return (fibo(i-1) + fibo(i-2));
}
}
int main(int argc, char**argv){
fibo(35);
return 0;
}
Ambas son equivalentes, si comparamos la velocidad usando únicamente python con la que tiene la versión nativa en C, la diferencia es clara:
[caption id="attachment_407" align="aligncenter" width="300" caption="Le saca mucha ventaja"][/caption]
(Y se mantiene si se repiten las pruebas) Ahora compilamos el script en python con shed skin shedskin fibo.py # Genera fibo.cpp y fibo.hpp y Makefile
make
Si lo ejecutamos veremos que obtiene tiempos incluso ligeramente menores que la versión en puro C ¡!
[caption id="attachment_408" align="aligncenter" width="300" caption="Ligera diferencia a favor de ShedSkin"][/caption]
Una ganancia de velocidad nada despreciable para el poco esfuerzo ( 2 comandos :P )
Y eso es todo, ShedSkin es un proyecto muy interesante y una forma muy sencilla y eficaz de exprimir los scripts en python.
[Referencias] https://code.google.com/p/shedskin/