======Cython====== In breve, si scrive in Python usando tipi del linugaggio C. È un gruppo di comandi aggiuntivi a Python * Compilazione: Si crea un programma con estensione .pyx, si compila con cython, si ottiene un fle con estensione .c, si compila con gcc. * Esecuzione: Si ottiene una libreria dinamica .so molto più veloce del tradizionale Python, che può essere importata nei programmi Python, accelerandone il funzionamento. In realtà dopo aver creato il file .pyx si può procedere in diversi modi alternativi - Si può avviare manualmente cython e gcc da riga di comando (come già spiegato) - Si può scrivere una sorta di makefile in python (setup.py) ====cdef==== Quando si vuole usare un tipo C nel linguaggio Python si deve usare la dichiarazione "cdef" ====Profilazione (produce file html)==== cython -a ====== Esempio hello world ====== Dopo aver copiato i seguenti file, si devono esegure due passaggi: - compilazione: prima generare un file .so - python setup.py build_ext --inplace - esecuzione: poi usare il file .so in un programma python - from hello import say_hello_to - oppure - import hello def say_hello_to(name): print("Hello %s" % name) from distutils.core import setup from cython.Build import cythomize setup( ext_modules = cythomize("hello.pyx") )