On 12/07/2019 01:51, DL Neil wrote:

> older articles! We haven't discussed hardware. Most modern PC CPUs offer 
> multiple "cores". Assuming (say) four cores, asyncio is capable of 
> running up to four processes concurrently - realising attendant 
> acceleration of the entirety.

Just to pick up on this point because I often see it being cited.
The number of concurrent processes running to achieve performance
gain is only very loosely tied to the number of cores. We ran
concurrent processes for many years before multi-core processors
were invented with significant gains. Indeed any modern computer
runs hundreds of "concurrent" processes on a small umber of cores
and the OS switches between them.

What the number of cores affects is the number of processes
actually executing at the same time. If you just want to chunk
up the processing of a large amount of data and run the exact
same code multiple times then there is no point in having more
than the number of cores. But if your concurrent processes are
doing different tasks on different data then the number of cores
is basically irrelevant. And especially if they are performing
any kind of I/O operations since they are likely to be parked
by the OS for most of the time anyway.

Of course, there is a point where creating extra processes becomes
counter-effective since that is an expensive operation, and
especially if the process will be very short lived or only
execute for tiny lengths of time (such as handling a network
event by passing it on to some other process). But for most real
world uses of multiprocessing the number of cores is not a
major factor in deciding how many processes to run. I certainly
would not hesitate to run 10xN where N is the number of cores.
Beyond that you might need to think carefully.

In Sydney's scenario is sounds like the processes are different
and explicitly halt to perform I/O so the cores issue should
not be a problem.

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to