Saturacion de informacion yt ultima pregunta de momento

Francesc Alted falted en pytables.org
Jue Oct 7 11:11:39 CEST 2004


A Dimecres 06 Octubre 2004 22:33, Joseba va escriure:
> mi sigiente pregunta es un poco retorcida, python es un lenguage 
> interpretado, una especie de gion que lee el interprete antes de 
> pasarselo a la maquina. Sabemos que eso supone ciertas ventajas, pero el 
> tiempo de ejecucion en programas de cierto tamaño se resiente. ¿existen 
> compiladores de python? he visto en sourceforge el programa pytoexe, que 
> transforma pyton en binarios windows, ¿existe algo similar para linux? 
> ¿es eficiente el codigo maquina asi generado, en comparacion con, por 
> ejemplo, el c? ¿el mismo programa en lenguages diferentes genera codigo 
> maquina diferente?

Normalmente, cuando se quiere velocidad en Python hay que recurrir a enlazar
con código en C (o Fortran, o cualquier otro lenguaje compilado). SWIG [3],
Boost [2] y Pyrex [3] son todos excelentes opciones para enlazar con C.

SIN EMBARGO, antes de recurrir a esto, empápate todavia más de información
sobre Python, y en particular sobre su libreria estándard (batteries
included, remember :). Ahi hay mucho ya hecho que está en C y si es así, se
suele indicar en la documentación. Si esto no es suficiente, entonces mira
librerias para entornos de cálculo numérico: SciPy [4], Numeric [5],
numarray [6]. Hay muchísimas otras librerias para Python y optimizadas en C
ya disponibles en la red (para XML, imágenes, criptografía, ...). En este
caso, Google es tu mejor aliado. Si dispones de plataforma Intel, prueba
también con psyco [7].

Y si esto no es suficiente, entonces pasa a los enlaces con código C que he
mencionado al principio.

[1] http://www.swig.org/
[2] http://www.boost.org/
[3] http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ (parece que no
funciona?)
[4] http://www.scipy.org
[5] http://numpy.sf.net
[6] http://www.stsci.edu/resources/software_hardware/numarray
[7] http://psyco.sourceforge.net/

Saludos,

-- 
Francesc Alted




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