> > > The Sleep() call is a perf problem. > > > > It certainly is, but it is also necessary to have. > > Why? I suspect if you inverted the control behavior to run the > Tcl event loop as it's designed and trigger signals with > Tcl_AsyncMark, you would have no problem. Alternatively, you > could do Tcl_CreateEventSource, of if threading is really > necessary, build Tcl with threads and use Tcl_ThreadQueueEvent. > It has all the APIs to approach this from several different > angles without have to toss a gratuitous Sleep in there that > does nothing more than have people scratch their head and > wonder why Tkinter appears so slow. Jeff, I really hope you can help us with this. I know it's a twisted mess. Years ago, I asked Ousterhout's help, but he was already too busy to pay attention to a competing language designer. :-( I hope that it's possible to do something better with Tcl/Tk 8.3 that doesn't require the sleep and maintains the existing _tkinter API / semantics. > BTW, I know you were tying into Tk before Tk was properly > thread-safe, but those issues have been addressed (although > it is highly recommended to stick to using Tk in one thread > as things like X aren't guaranteed to be thread-safe). Are they solved in Tcl/Tk 8.3? I'd be happy to require that version. I'm not (yet) happy to require an alpha/beta of 9.0 or whatever the Tcl community is now working at. --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4