[Twisted-Python] GUI responsiveness
solipsis at pitrou.net
Wed Sep 14 08:18:26 EDT 2005
> Not at all. A user clicks on a button; if they don't see an update
> for 100ms, that is barely enough time for them to flick their mouse
> over to another button. In fact, network latency is such that it is
> nearly impossible to provide faster than 100ms actual real response
> time even for highly performance-critical applications.
Of course, but in a non-trivial GUI+network application, lots of GUI
actions do not imply networking.
For example in Firefox, the bookmarks editor is independent from
networking stuff, and I doubt it is unresponsive when the app is busy
parsing some HTML (I must admit I haven't checked, though).
> A news aggregator I use, straw, does blocking DNS lookups and can hang
> completely for upwards of a minute while it's doing an update. While
> this is not exactly ideal behavior, it's tolerable.
That tolerance certainly depends on the user ;)
People who aren't aware of network issues will just think "wow, it's
crashed" and kill the window in a way or another.
> 6 - in Python, your threaded work has to release the GIL to give any
> substantive improvement in performance, which it probably doesn't.
My argument was only about responsiveness (latency), not performance
(bandwidth). Also, I advocate the use of two threads, not a thousand ;))
(er... I will try to find the time to look at Q2Q, by the way)
More information about the Twisted-Python