Lan Barnes wrote:

If you're having trouble with UI responses, you _are_ using the wrong
language.

I have had innumerable times where a Tk application would do something truly screwball because it got in a race condition. Generally I had to go find the variable that raced, declare it in such a way that the system would go "Oh, *that* variable that might get into a race. I'll go lock that now.", and then the UI would be okay. Until the next race.

Lather.  Rinse.  Repeat.

I see this over ... and over ... and over.  In *every* GUI toolkit.

All I have to do is ask for a Canvas in which to draw something myself and the UI abstractions come crashing down.

Which thread am I in? Oh, you actually wanted *performance*? BWHAHAHA! Silly person. We pass all drawing calls through 12 layers of indirection because we can't figure out what to lock, so we have to lock *every call*. And that nice shiny multi-core CPU? Fugeddaboutit. Your compute thread will spend its life waiting for our UI thread to get back to you sometime this century--because we can't buffer multiple calls because we can't figure out dependencies. Even when nothing is changing. Because we have to lock *everything*. Several times. Recursively, just for grins.

-a


--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to