[3.14] gh-128002: add what's new docs for asyncio (GH-134324) (#134362)

gh-128002: add what's new docs for `asyncio` (GH-134324)
(cherry picked from commit 0584533dc7)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
This commit is contained in:
Miss Islington (bot) 2025-05-20 18:47:42 +02:00 committed by GitHub
parent 8e8d5c91cd
commit 402d983f27
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1997,11 +1997,19 @@ Optimizations
asyncio
-------
* :mod:`asyncio` now uses double linked list implementation for native tasks
which speeds up execution by 10% on standard pyperformance benchmarks and
reduces memory usage.
* :mod:`asyncio` has a new per-thread double linked list implementation internally for
:class:`native tasks <asyncio.Task>` which speeds up execution by 10-20% on standard
pyperformance benchmarks and reduces memory usage.
This enables external introspection tools such as
:ref:`python -m asyncio pstree <whatsnew314-asyncio-introspection>`
to introspect the call graph of asyncio tasks running in all threads.
(Contributed by Kumar Aditya in :gh:`107803`.)
* :mod:`asyncio` has first class support for :term:`free-threading builds <free threading>`.
This enables parallel execution of multiple event loops across different threads and scales
linearly with the number of threads.
(Contributed by Kumar Aditya in :gh:`128002`.)
* :mod:`asyncio` has new utility functions for introspecting and printing
the program's call graph: :func:`asyncio.capture_call_graph` and
:func:`asyncio.print_call_graph`.
@ -2083,7 +2091,6 @@ Deprecated
* :class:`asyncio.WindowsProactorEventLoopPolicy`
* :func:`asyncio.get_event_loop_policy`
* :func:`asyncio.set_event_loop_policy`
* :func:`asyncio.set_event_loop`
Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with
*loop_factory* to use the desired event loop implementation.