Micropython schneller machen: Unterschied zwischen den Versionen
Peter (Diskussion | Beiträge) |
Keine Bearbeitungszusammenfassung |
||
Zeile 24: | Zeile 24: | ||
=== [[Xtensia Inline Assembler]] === | === [[Xtensia Inline Assembler]] === | ||
== [[Tips zur Pythonbeschleunigung aus dem Internet]]== | |||
== Links == | == Links == |
Version vom 24. Februar 2025, 17:23 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
Tips zur Pythonbeschleunigung aus dem Internet
Links
https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html