[Python-de] Systemkommandos in der Python-Shell
Gerhard Häring
haering_python at gmx.de
Mon Jul 15 20:11:25 EDT 2002
* Gerson Kurz <Gerson.Kurz at t-online.de> [2002-07-15 15:32 +0200]:
> > Welche Timer?
>
> import win32api, threading, Queue
>
> msgport = Queue.Queue()
> timer = threading.Timer(0.5, lambda: msgport.put(0))
> t0 = win32api.GetTickCount()
> timer.start()
> msgport.get()
> print "timer elapsed after %d ms." % (win32api.GetTickCount() - t0)
>
> Wenn ich das so ausprobiere, scheint es relativ akkurat zu sein (525
> ms.) allerdings haben wir so ca. 10+ freds am laufen, die können sich
> schon mal ins gehege kommen. Bei uns waren Zeiten von +300 ms drin.
Das liegt meiner Erfahrung nach immer daran, dass eine C-Extension
länger dauernde Aufrufe in Nicht-Python Code macht, während dessen der
GIL nicht freigegeben wird. Dieses "ruckelige" Verhalten kann man
eliminieren, indem man diese Aufrufe findet, und Stellen, in denen
definitiv keine Python-Datenstrukturen verändert werden in ein
Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS Paar packt.
> > Ich probiere uebrigens zur Zeit auch mit wxPython rum, hab aber
> > fuer meinen
> > Geschmack relativ viele Bugs gefunden.
>
> Unter Windows oder unter Linux?
wxGTK. Ich bin noch nicht so weit, unter Windows zu testen :)
> > Wenn's dir auch so geht und es nicht unbedingt kostenlos sein muss, kannst
> > du ja mal PyQt ausprobieren. [...]
>
> Ist das Qt für Windows nicht ziemlich abgespeckt?
Ich bin mir ziemlich sicher, dass alle Klassen auf X11/win32 und Mac
verfügbar sind.
Gerhard
--
This sig powered by Python!
Außentemperatur in München: 21.5 °C Wind: 5.1 m/s
More information about the Python-de
mailing list