Para quién no conozca Cython, decir que se trata de un lenguaje de programación que simplifica la escritura de módulos de extensión para Python en C y C++. La sintaxis utilizada para ello es la misma que se utiliza en Python pero con algunas pequeñas diferencias:
- Permite llamar a funciones o métodos tanto de C como de C++ desde el propio código de Cython.
- Posibilidad de utilizar tipos estáticos en las variables, ya sean enteros, flotantes o cualquier otro tipo.
Las principal ventaja que ofrece el mezclar el código C con el código Python, es que el código resultante se puede ajustar casi a la velocidad de C con sólo unos simples ajustes en las declaraciones y haciendo unos ajustes en los bucles.
Hace unos días salió a la luz la nueva versión 0.20 de Cython, una versión que llega con interesantes novedades, tal y como podemos ver en el siguiente enlace. Entre estas novedades podemos destacar:
- Soporte para CPython 3.4
- Ofrece soporte para llamadas a templates de C++
- El código C generado para los bloques “finally” es duplicado para cada salida, permitiendo una mejor optimización para el compilador C.
- Cacheo de las constantes de Python.
- El formateo por medio del operador % utiliza una llamada más rápida a la API de C.
- Soporte para __debug_builtin.
- Las assertions en los módulos compilados en Cython son desactivados si el interprete de Python fue inicializado con la opción “-O”.
- Un nuevo script in “bin/cythonize” ofrece una interfaz de línea de comandos para la función de compilación cythonize().
- El compilador de paquetes funciona a partir de la versión Python 3.3.
Visitar la web oficial Cython para saber más sobre este proyecto.