[Python-es] (Iron)Python en Visual Studio 2008

lasizoillo lasizoillo en gmail.com
Jue Ene 21 02:06:12 CET 2010


2010/1/20 Pablo Angulo <pablo.angulo en uam.es>:
> ¿Conocéis pyrex, y cython? Yo he usado cython para cosas muy pequeñas, y
> básicamente se trata de escribir código python, pero declarando los
> tipos de la variables, y recibir a cambio un aumento de velocidad que
> depende drásticamente del tipo de código, pero puede llegar a 100x en
> código numérico.
>

Yo probé cython para crear unas extensiones. Al final no terminé el
proyecto, pero cython me dejo unas muy gratas extensiones:
 * No tienes que preocuparte del contador de referencias como las
extensiones generadas a pelo en C
 * Se integraba con distutils o setuptools, por lo que se podía
automatizar el proceso de compilación/instalación (aunque hay que
reconocer que el soporte es para pyrex y esto puede ser un poco
porculero, sobre todo al principio).
 * El fichero C que genera, aunque a simple vista es un poco
infumable, tiene comentarios a saco e información de debug que hace
muy depurables los fallos que se puedan producir. No es lo mismo un
error "va a ser que algo está mal" a "excepción lanzada en la linea
### del fichero xxx.pyx" (te da el error en tu fuente cython, no en el
C generado).
 * La comunidad que hay detrás parece muy activa y simpática.
 * Tiene una documentación bastante buena.
 * Permite hacer cosas como desactivar/activar el GIL para hacer uso
de varios cores cuando ejecutas código que no accede a variables
python.

También lo usé para resolver algún problema del proyecto euler[1]. Que
como soy un poco gañan en matemáticas a veces hacia cosas por fuerza
bruta y cython ayudaba mucho (a tener rápidamente un código funcional
y a que se ejecutara rápido).

Altamente recomendable el cython.

[1] http://projecteuler.net/



Más información sobre la lista de distribución Python-es