Liebe ESP-Fans,
ich hatte in einem anderen Thread schon einmal über das kuriose Zeitverhalten von ESP8266 berichtet (Beitrag "Micropython Startup Zeit auf ESP8266 / ESP32").
Wie ich jetzt herausfinden konnte, liegt das Verhalten im benutzen Filesystem littlefs/v2 auf dem Flash-Speicher. Die gemessene Dauer für einen import kann sehr stark variieren. Das heißt, wenn ich alle Quellen auf dem ESP lösche und wieder drauf kopiere erhöht sich die Zeit für einen Import. Nach einer
gewissen Anzahl von Kopiervorgängen sinkt die Zeit wieder schlagartig auf
einen kleinen Wert.
Ein Durchlauf besteht immer aus:
1 |
|
2 |
|
3 |
|
4 |
|
Der Programmcode ist:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
Hier die Ergebnisse für die gemessenen Zeiten (MicroPython v1.20.0 on 2023-04-26; ESP module with ESP8266):
13 ms, 20 ms, 24 ms, 30 ms, 34 ms, 40 ms, 45 ms, 50 ms, 55 ms, 60 ms, 67 ms, 72 ms, 76 ms, 81 ms, 88 ms, 92 ms, 97 ms, 102 ms, 13 ms
Das littlefs soll ja robuster gegen Stromausfall sein, aber mit dem Verhalten ist es für Echtzeitanwendungen nur eingeschränkt verwendbar. Hat jemand von Euch ähnliche Beobachtungen bezüglich littlefs gemacht? Habe ich einen Denkfehler gemacht? Lohnt sich ein Bugreport bei MicroPython?
Danke für Feedback!
Viele Grüße Haiko