neurali:cython
Differences
This shows you the differences between two versions of the page.
Previous revision | |||
— | neurali:cython [2020/06/08 22:20] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======Cython====== | ||
+ | |||
+ | In breve, si scrive in Python usando tipi del linugaggio C. | ||
+ | |||
+ | È un gruppo di comandi aggiuntivi a Python | ||
+ | |||
+ | * Compilazione: | ||
+ | * 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 " | ||
+ | |||
+ | ====Profilazione (produce file html)==== | ||
+ | |||
+ | cython -a | ||
+ | |||
+ | ====== Esempio hello world ====== | ||
+ | Dopo aver copiato i seguenti file, si devono esegure due passaggi: | ||
+ | |||
+ | - compilazione: | ||
+ | - < | ||
+ | - esecuzione: poi usare il file .so in un programma python | ||
+ | - < | ||
+ | - oppure | ||
+ | - < | ||
+ | |||
+ | |||
+ | <file py hello.pyx> | ||
+ | def say_hello_to(name): | ||
+ | | ||
+ | </ | ||
+ | |||
+ | <file py setup.py> | ||
+ | from distutils.core import setup | ||
+ | from cython.Build import cythomize | ||
+ | setup( | ||
+ | ext_modules = cythomize(" | ||
+ | ) | ||
+ | </ |
neurali/cython.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1