J'ai essayé Cython sur Ubuntu sur VirtualBox.
$ sudo apt-get install cython
$ cython -V Vérifiez l'affichage de la version avec.
"Accélérer Python en fusionnant avec Cython C" p3, version Cython de la fonction Fibonacci Enregistrez sous fib.pyx.
fib.pyx
# -*- coding: utf-8 -*-
def fib(n):
cdef int i
cdef double a=0.0, b = 1.0
for i in range(n):
a, b = a + b, a
return a
Placez setup.py dans p15 de "Accélérer Python en fusionnant avec Cython C" dans le même répertoire que fib.pyx.
setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize('fib.pyx'))
$ python setup.py build_ext --inplace Éxécuter.
Lancez la console IPython dans l'environnement intégré Spyder.
in [1]: import fib
in [2]: fib.fib(1) Out[2]: 1.0
in [3]:fib.fib(90) Out[3]: 2.880067194370816e+18
in [4]: %timeit fib.fib(90) 10000000 loops, best of 3: 137 ns per loop
in [5]: import fib0
in [6]: %timeit fib0.fib(90) 100000 loops, best of 3: 4.78 µs per loop
Dans cet exemple, le CPU lié conduit à une amélioration significative de la vitesse de traitement. Il semble bon d'étudier quel est le goulot d'étranglement dans les problèmes de chaque personne et d'envisager d'utiliser une autre méthode avec ou sans Cython.
Référence: "Accélérer Python en fusionnant avec Cython C" O'Reilly Japon
Post-scriptum: Le site suivant décrit la procédure pour exécuter Cython sur Raspberry Pi. "Tutoriel de travail électronique" 1 Téléchargez Cython http://lumenbolk.com/?p=1054
Remarque: Si vous devez construire scikit-learn ou scikit-image à partir du code source, vous l'exécuterez probablement dans le cadre de la construction sans connaître Cython. Eh bien, il est peu probable que vous ayez à faire cela. Dans la plupart des cas, l'installation de pip devrait suffire.
Recommended Posts