Micropython schneller machen
In Micropython gibt es 2 Dekoratoren, die aus dem Micropythoncode Maschinencode erzeugen. Damit lassen sich Funktionen beschleunigen.
https://docs.micropython.org/en/latest/develop/compiler.html
https://docs.micropython.org/en/latest/reference/speed_python.html
Native[Bearbeiten | Quelltext bearbeiten]
https://docs.micropython.org/en/latest/develop/natmod.html
Viper[Bearbeiten | Quelltext bearbeiten]
https://docs.micropython.org/en/latest/reference/speed_python.html
C-Erweiterungen[Bearbeiten | Quelltext bearbeiten]
Links:[Bearbeiten | Quelltext bearbeiten]
- https://picockpit.com/raspberry-pi/c-extension-for-micropython-on-raspberry-pi-pico/
- http://www.breatharian.eu/hw/picovga/index_en.html
- https://www.youtube.com/watch?v=wX1IPa3Q0LU
Inline Assembler[Bearbeiten | Quelltext bearbeiten]
Inline Assembler ermöglicht es Funktionen direkt in Assembler zu schreiben. Damit hat man alle Möglichkeiten in der Hand sehr schnelle Funktionen in Micropython zu realisieren.
Z.Zt. ist nur der Arm-Port des Inline Assemblers realisiert. An denen für den ESP32 (xtensia) und ESP32-C3 (RiscV) wird noch gearbeitet.
Eine Befehlsreferenz wird von Xtensia leider nicht veröffentlicht. So wird es wohl nicht möglich sein Assemblercode für die ESP32 und ESP32-S* Controller zu schreiben.
RiscV (ESP32-C*) ist Open Source.
Die offizielle Dokumentation befindet sich unter: https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html
ARM Inline Assembler[Bearbeiten | Quelltext bearbeiten]
RiscV Inline Assembler[Bearbeiten | Quelltext bearbeiten]
Xtensia Inline Assembler[Bearbeiten | Quelltext bearbeiten]
Tips zur Pythonbeschleunigung aus dem Internet[Bearbeiten | Quelltext bearbeiten]
Links[Bearbeiten | Quelltext bearbeiten]
https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html