Lors du portage d'un programme développé en Python sur un processeur plus pauvre qu'un PC, tel que le Raspberry Pi, la lenteur devient perceptible.
J'ai étudié la situation de Cython pour voir s'il pouvait être accéléré avec le moins d'effort possible. (Scikit-learn et scikit-image utilisent Cython pour accélérer les choses. Étant donné qu'ils peuvent également être utilisés sur le Raspberry Pi, le framework Cython devrait également fonctionner sur le Raspberry Pi.)
Nous avons trouvé un cas d'utilisation de Cython pour accélérer sur Raspberry Pi. J'étudie comment installer Cython lui-même, sudo pip install cython A été trouvé.
Speed of Python, at least for doing raw IO, is quiet disappointing. By using Cython (for the whole program), speeds becomes acceptable.
Identifier les fonctions qui sont des goulots d'étranglement et qui méritent d'être réécrites -Ecrire un test unitaire, -Basé sur Python, accélérer en réécrivant dans un fichier pyx. (Sinon, écrivez-le en langage C / C ++ et enveloppez-le en Cython pour l'accélérer.) -Confirmez que le test unitaire est réussi. Cela semble bon.
Avec la source C / C ++ avant d'utiliser l'instruction NEON Source C / C ++ utilisant l'instruction NEON Il semble bon d'écrire et d'accélérer avec ARM.
Bien sûr, il est important de faire ce qui peut être optimisé avant Cython. Il est facile d'utiliser la fonction range () dans python2.7. Remplace la pièce remplacée par xrange (). Il est efficace d'utiliser des itérateurs et des générateurs pour traiter de grandes listes sans les générer.
[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