Wenn Sie ein in Python entwickeltes Programm auf eine CPU portieren, die schlechter als ein PC ist, wie z. B. Raspberry Pi, wird die Langsamkeit spürbar.
Ich habe die Situation von Cython untersucht, um festzustellen, ob sie mit möglichst geringem Aufwand beschleunigt werden kann. (Scikit-Learn und Scikit-Image verwenden Cython, um die Dinge zu beschleunigen. Da sie auch auf dem Raspberry Pi verwendet werden können, sollte das Cython-Framework auch auf dem Raspberry Pi funktionieren.)
Wir haben einen Fall gefunden, in dem Cython verwendet wurde, um Raspberry Pi zu beschleunigen. Ich untersuche, wie Cython selbst installiert wird. sudo pip install cython Wurde gefunden.
Speed of Python, at least for doing raw IO, is quiet disappointing. By using Cython (for the whole program), speeds becomes acceptable.
Identifizieren Sie Funktionen, die Engpässe darstellen und die es wert sind, neu geschrieben zu werden -Schreiben Sie einen Unit-Test, -Basiert auf Python, und beschleunigen Sie das Umschreiben in eine Pyx-Datei. (Alternativ können Sie in C / C ++ schreiben und in Cython einbinden, um es zu beschleunigen.)
Mit der C / C ++ - Quelle vor Verwendung der NEON-Anweisung C / C ++ - Quelle mit NEON-Anweisung Es scheint gut zu sein, mit ARM zu schreiben und zu beschleunigen.
Natürlich ist es wichtig, das zu tun, was vor Cython optimiert werden kann. Es ist einfach, die range () - Funktion in python2.7 zu verwenden. Ersetzt das durch xrange () ersetzte Teil. Es ist effektiv, Iteratoren und Generatoren zu verwenden, um große Listen zu verarbeiten, ohne sie zu generieren.
[1]:Raspberry, running Python http://www.student.tue.nl/W/r.mientki/running_python.html
[2]:User’s Guide » Installation on Raspberry Pi Install Cython from sources (debian package are outdated): http://kivy.org/docs/installation/installation-rpi.html
Recommended Posts