Micropython schneller machen: Unterschied zwischen den Versionen
Peter (Diskussion | Beiträge) |
Peter (Diskussion | Beiträge) |
||
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 11: | Zeile 11: | ||
https://docs.micropython.org/en/latest/reference/speed_python.html | https://docs.micropython.org/en/latest/reference/speed_python.html | ||
== C-Erweiterungen == | |||
=== Links:=== | |||
* 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 == | == 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.<br> | 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.<br> | ||
Z.Zt. ist nur der Arm-Port des Inline Assemblers realisiert. An denen | 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> | |||
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 | ||
Zeile 22: | Zeile 31: | ||
=== [[Xtensia Inline Assembler]] === | === [[Xtensia Inline Assembler]] === | ||
== [[Tips zur Pythonbeschleunigung aus dem Internet]]== | |||
== Links == | == Links == | ||
https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html | https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html | ||
== Navigation== | |||
[[Hauptseite| Zurück zur Hauptseite]] | |||
== Navigation== | |||
[[Hauptseite| Zurück zur Hauptseite]] |
Aktuelle Version vom 8. März 2025, 16: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[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