Micropython schneller machen: Unterschied zwischen den Versionen
Peter (Diskussion | Beiträge) |
Peter (Diskussion | Beiträge) |
||
Zeile 16: | Zeile 16: | ||
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.<br> | 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.<br> | ||
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.<br> | 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.<br> | ||
RiscV ist Open Source.<br> | RiscV (ESP32-C*) ist Open Source.<br> | ||
Die offizielle Dokumentation befindet sich unter: https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html | Die offizielle Dokumentation befindet sich unter: https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html | ||
Version vom 3. August 2024, 12:41 Uhr
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
https://docs.micropython.org/en/latest/develop/natmod.html
Viper
https://docs.micropython.org/en/latest/reference/speed_python.html
Inline Assembler
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
RiscV Inline Assembler
Xtensia Inline Assembler
Links
https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html