Guido van Rossum [mailto:guido@python.org] wrote: > > Christian Tismer wrote: > > > Does anybody know of a useful example where continuations > > > are really needed? > [Bill Tutt] > > Well, I don't know about needed, but let me explain a possible sever > > architecture, and then see what new fangled control structure could help it > > become more manageable. (irrespective if the perf #s of such an architecture > > would actually be worth the architecture overhead in current CPython) > [...] > > But it's not clear to me (mostly because I haven't applied a lot of thought > > about it) if coroutines would suffice here. > Indeed, this kind of server architecture is typically done with > coroutines -- it's not a good argument for the full power of > continuations. :-) Hrm, but can I get enough info from the coroutine support to automatically determine which "work item queue" the paused routine should go into after the "blocking" operation completes? Additionally, the coroutine can't be stuck to only one system thread. That would be bad. If the above can't be done with coroutines, then I'm either stuck with an async state machine, or something that might not scale as well as it could. :( (Ignoring the interesting discussion about how exactly you make this architecture portable, since AFAIK only NT lets you bind threads to CPUs) I wish I had the time to play with stackless and hack up something like I mentioned. The performance benefits to async state machine C++ code that use this idea are pretty impressive. CPU cache misses hurt. :( Bill
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