Ich habe Cython unter Ubuntu auf VirtualBox ausprobiert.
$ sudo apt-get install cython
$ cython -V Überprüfen Sie die Versionsanzeige mit.
"Beschleunigen von Python durch Fusion mit Cython C" p3, Cython-Version der Fibonacci-Funktion Speichern Sie als 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
Platzieren Sie setup.py in Seite 15 von "Beschleunigen von Python durch Fusion mit Cython C" im selben Verzeichnis wie 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 Ausführen.
Starten Sie die IPython-Konsole in der integrierten Spyder-Umgebung.
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
In diesem Beispiel führt die CPU-Bindung zu einer signifikanten Verbesserung der Verarbeitungsgeschwindigkeit. Es scheint gut zu sein, den Engpass bei den Problemen jeder Person zu untersuchen und eine andere Methode mit oder ohne Cython in Betracht zu ziehen.
Referenz: "Python durch Fusion mit Cython C beschleunigen" O'Reilly Japan
Nachtrag: Auf der folgenden Website wird das Verfahren zum Ausführen von Cython auf Raspberry Pi beschrieben. "Tutorial für elektronische Arbeit" 1 Laden Sie Cython herunter http://lumenbolk.com/?p=1054
Hinweis: Wenn Sie Scikit-Learn oder Scikit-Image aus dem Quellcode erstellen müssen, werden Sie es wahrscheinlich als Teil des Builds ausführen, ohne Cython zu kennen. Nun, es ist unwahrscheinlich, dass Sie das tun müssen. In den meisten Fällen sollte die Pip-Installation ausreichen.
Recommended Posts