Dieser Artikel ist ein Memorandum, das den Mindestinhalt beschreibt, der zum Ausprobieren einer Python-Bibliothek namens Cython erforderlich ist.
Ich hoffe, es hilft Leuten, die sagen: "Cython scheint ein Weg zu sein, Python zu beschleunigen, aber ich bin mir nicht sicher, was es ist!"
Hab keine Angst vor Missverständnissen
Cython = ** Eine neue Programmiersprache, die Python wahnsinnig ähnlich ist, um Python-Bibliotheken zu erstellen **
ist.
Es gibt viele andere Möglichkeiten, es zu verwenden, aber ich denke, diese Erkennungsstufe ist ausreichend, wenn Sie es nur zuerst versuchen.
Lass es uns gleich versuchen.
Das Minimum ist zwei.
hoge.pyx
def tasu(a, b):
return a + b
Es ist Python sehr ähnlich, es ist genau wie Python. In Cython können Sie auch Funktionen mit "cdef" und "cpdef" definieren und den Typ von "a" und "b" angeben.
setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize("hoge.pyx"))
Es gibt einen magischen Zauber, der den Cython-Code, den ich zuvor geschrieben habe, nicht erfüllt.
Wenn die beiden oben genannten fertig sind, transpilieren und erstellen Sie mit dem folgenden Befehl.
python3 setup.py build_ext -i
Ich denke, einige Dateien wurden generiert, aber die generierte hoge.c
ist eine Transpile von hoge.pyx
in die Sprache C. Es ist eine Bibliothek, die aus Python importiert und von einem Typ wie "hoge.cpython-36m-x86_64-linux-gnu.so" verwendet wird.
Sie müssen lediglich "hoge.cpython-36m-x86_64-linux-gnu.so" importieren und die gerade erstellte Funktion aufrufen.
>>> import hoge
>>>
>>> print(hoge.tasu(1,2))
Es scheint, dass Cython nicht viele Vorteile der Beschleunigung erhält, es sei denn, Sie wissen, wie man es benutzt und wo man es benutzt, aber es ist überraschend einfach, wenn Sie es einfach ausprobieren.
Recommended Posts