asyncio, coroutines, etc. and simultaneous execution
Sven R. Kunze
srkunze at mail.de
Mon Aug 24 23:35:04 CEST 2015
On 23.08.2015 23:43, Charles Hixson wrote:
> If I understand correctly asyncio, coroutines, etc. (and, of course,
> Threads) are not simultaneously executed, and that if one wants that
> one must still use multiprocessing. But I'm not sure. The note is
> still there at the start of threading, so I'm pretty sure about that one.
> The requirement that coroutines always be awaited seems to confirm
> this, but doesn't really say so explicitly. And the concurrent.futures
> can clearly be either, depending on your choices, but the chart in
> 22.214.171.124.3 Example: Chain coroutines is of a kind that I am more
> familiar with in the context of multiprocessing. (E.g., the only gap
> in the chart, which extends across all headings is when a result is
> being waited for during a sleep.) For threaded execution I would
> expect there to be a gap whenever processing is shifted from one
> column to another.
> If someone has authority to edit the documentation a comment like:
> If you want your application to make better use of the computational
> resources of multi-core machines, you are advised to use
> or concurrent.futures.ProcessPoolExecutor
> However, threading is still an appropriate model if you want to run
> multiple I/O-bound tasks simultaneously.
> (to quote from the threading documentation) would be helpful at or
> very near the top of each of the appropriate modules. It would also
> be useful if the modules that were definitely intended to result in
> simultaneous execution, when feasible, were so marked quite near the top.
> OTOH, I may be mistaken about coroutines. I haven't been able to tell.
> P.S.: I do note that the threading comment was a "*CPython
> implementation detail:"*, and not a part of the Python
> specifications. But CPython is, I believe, a sufficiently dominant
> implementation that such details are quite important.
We already have a discussion on python-ideas where we collected many
many aspects on this particular subject.
The results so far:
I know the table is a bit screwed but you will be able to handle that.
Do you have anything you want to add to it?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list