[pyar] NumPy, SciPy, .NET y C

Hernan Grecco hernan.grecco en gmail.com
Vie Jun 15 09:03:23 ART 2012


Angel:

> Hernan, cuales librerias estan en C? Pregunto por lo siguiente:
> - Entiendo que CPython esta escrito en C
> - Y que hay muchas funciones de Python clasico que estan en C (debe ser algo
> parecido a lo que pasa con Ruby), y otras en Python mismo

efectivamente CPython esta escrito en C y una parte de la standard
library tambien. Muchos modulos tienen una version en Python y una
version acelerada en C como extensiones [0]. Ademas el codigo escrito
especificamente para CPython usa muchas librerias como sqlite, curses,
bz.

En NumPy/SciPy, hay mucho en C que no son librerias externas (vienen a
mi mente NDImage y el paquete de clustering pero hay muchos mas).

> - PERO, de ahi venia mi pregunta original, IronPython estan en C# con DLR
> (Dynamic Language Runtime). AFAIK, IronPython no tiene extensiones C. Esta
> todo en C#, codigo manejado de .NET. Lo que tendria que revisar, con lo que
> me dieron en este thread, es si sigue usando LAPACK por abajo, para
> implementar NumPy en .NET.

NumPy para .NET es bastante reciente (creo que lo anunciaron el a~o
pasado). Segun lei, van a reimplementar partes en C# pero tambien van
a llamar a librerias escritas en C (no se cuales, ni como).

> Uy, que matete ;-) Digo, las funciones en C de Python clasico, al pasar a
> IronPython "deben" estar en C#. Pero, habra algo de NumPy que esta como
> extension de C de NumPy (no como extension de Python, digo, algo especial
> que NumPy necesite en C?)

Las extensiones Python en C son especificas para una version del
interprete de Python. Hay muchos proyectos que todavia no tienen
version en Python3 por la incompatibilidad de las extensiones. Por eso
NumPy tardo en ser migrado a Python 3 y no anda directamente en PyPy
(ahora estan laburando en esto). Tambien por eso mucha gente esta
usando Cython: porque la traduccion de cython a una extension C de
python la hace el compilador de python.

Hernan

[0] http://docs.python.org/extending/extending.html



More information about the pyar mailing list