Auswertung Profile: lange Methode 'acquire' of 'thread.lock'

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
derhendrik
User
Beiträge: 17
Registriert: Donnerstag 15. Januar 2015, 16:39

Hallo ihr drei!

Danke BlackJack für die Erklärung zum GIL. Ich muss gestehen, dass ich noch nicht so tief in der Materie drinstecke bzw. hinter die Kulissen von Python geschaut habe, um davon vorher gehört zu haben.

Ich hole mal wieder ein bisschen aus, falls es jemanden interessiert:
Diese GUI, die ich zurzeit programmiere, ist für ein Uniprojekt, in welchem die Leistungsaufnahme von einer Fräse geloggt und geplottet werden soll. Es existiert bereits der Arduino zum Messen, welcher von Studenten vor meiner Zeit programmiert wurde. In welchem Interval dieser Daten sendet ist nicht 100% klar, da hier und da immer mal wieder "delays" (beispielsweise in Interrupt-Routinen oder zum entprellen von Tastern) verwendet wurden.
Um die Arbeit ein wenig portabler zu machen und nicht an den Versuchsaufbau gebunden zu sein, habe ich mir ein vergleichbares Programm für meinen privaten Arduino geschrieben. Dieser sendet im 100ms-Takt (+ eben die Zeit zum Ausführen des restlichen Codes). Das vereinfacht mir natürlich ein bisschen meine Arbeit, schlussendlich werde ich wahrscheinlich nicht um eine art "timestamp" herumkommen.
Alternativ kann sich natürlich auch herausstellen, dass für meine Zwecke ein Senden der Daten alle 1000ms ausreichend ist und ich einfach erstmal einen Mittelwert auf dem Arduino errechne (für Messwerte wie eben die Leistungsaufnahme oder die Füllhöhe (vom Kühlschmierstoff, falls sich jemand wundert, warum in meinem Code "fuellhoehe" existiert).

@Alfons: Da ich die Daten ja über eine fortschreitende zeitliche Achse plotte, werde ich wahrscheinlich schon den Plot oft erneuern müssen, auch wenn sich die Messwerte erstmal nicht ändern.

Der Hinweis mit dem Blockieren bis EOL von readline war übrigens auch gold wert, danke dafür.
Als nächstes werde ich mich mal mit dem multiprocessing von pyqtgraph auseinandersetzen. Ist zwar jetzt nicht soooo dringend, aber macht ja auch Spaß da ein bisschen zu basteln.
Werde auch nochmal mit dem Profiler schauen, jerch. Als mir die GUI eingefroren ist, ist auch Python abgestürzt und irgendwas ist mit dem Profile schief gelaufen bzw. es wurde keines erstellt.

1000 Dank nochmal für eure Hilfe.
Hoffe, dass die Diskussion hier noch im vertretbaren Rahmen ist, habe nämlich gerade nochmal den Post "An alle Schüler und Studenten mit Informatikproblemen" gelesen ...

Grüße
Hendrik
Antworten