George Fischoff wrote:
> So when the default is async, the user will get faster program, by
default.

Chris Angelico wrote:
> Okay, well that's the problem. An async function won't yield the
values faster, and it will not allow two things to happen
simultaneously. It just allows I/O and other such operations to happen
asynchronously.

I think the OP might be somewhat conflating parallelism and concurrency.
For anyone not entirely clear on the differences between the two, I would
highly recommend the following video for an in-depth explanation:
https://www.youtube.com/watch?v=cN_DpYBzKso. The usage of concurrent
programming does not increase the speed of any given program by default,
and is not suited to every situation.

On Mon, Sep 16, 2019 at 6:01 AM Chris Angelico <ros...@gmail.com> wrote:

> On Mon, Sep 16, 2019 at 7:13 PM George Fischhof <geo...@fischhof.hu>
> wrote:
> >
> > yes exactly I would like this.
> >
> > Regarding the waiting and frameworks:
> >
> > The solution should be independent from waiting and frameworks:
> >
> > Let's see what happens now (sync, not async)
> >
> > User has a generator, he wants values.
> >
> > Uses a for cycle to process all values from generator:
> > Asks for first value - wait for the value to be computed
> > Processes the value he got
> > Asks for next value - wait for the value to be computed
> > And processes again, and again
> >
> > The async version:
> >
> > User has a generator, he wants values, he created an async version,
> because he wants the values faster
> >
>
> Okay, well that's the problem. An async function won't yield the
> values faster, and it will not allow two things to happen
> simultaneously. It just allows I/O and other such operations to happen
> asynchronously.
>
> If you want the values faster, consider instead a second thread or
> process and a queue; in place of the generator, just read from the
> queue, which will block until you have something to read. Meanwhile,
> your other thread/process is generating values and placing them on the
> queue.
>
> What you're asking for is not just a syntactic change - it's a
> significant semantic change that introduces concurrency in ways that
> async functions do not currently have. Basically you'd get all the
> problems of threading, without the advantages of threading.
>
> ChrisA
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/LXAXTHPHYMUIKJIFVK4PN4OLB7LQGKZX/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/FNNM6LUOZ5XA4P3UZA3PYCS73P6JD2VW/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to