8000 gh-128002: add what's new docs for `asyncio` (#134324) · python/cpython@0584533 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0584533

Browse files
gh-128002: add what's new docs for asyncio (#134324)
1 parent 99b5808 commit 0584533

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

Doc/whatsnew/3.14.rst

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1997,11 +1997,19 @@ Optimizations
19971997
asyncio
19981998
-------
19991999

2000-
* :mod:`asyncio` now uses double linked list implementation for native tasks
2001-
which speeds up execution by 10% on standard pyperformance benchmarks and
2002-
reduces memory usage.
2000+
* :mod:`asyncio` has a new per-thread double linked list implementation internally for
2001+
:class:`native tasks <asyncio.Task>` which speeds up execution by 10-20% on standard
2002+
pyperformance benchmarks and reduces memory usage.
2003+
This enables external introspection tools such as
2004+
:ref:`python -m asyncio pstree <whatsnew314-asyncio-introspection>`
2005+
to introspect the call graph of asyncio tasks running in all threads.
20032006
(Contributed by Kumar Aditya in :gh:`107803`.)
20042007

2008+
* :mod:`asyncio` has first class support for :term:`free-threading builds <free threading>`.
2009+
This enables parallel execution of multiple event loops across different threads and scales
2010+
linearly with the number of threads.
2011+
(Contributed by Kumar Aditya in :gh:`128002`.)
2012+
20052013
* :mod:`asyncio` has new utility functions for introspecting and printing
20062014
the program's call graph: :func:`asyncio.capture_call_graph` and
20072015
:func:`asyncio.print_call_graph`.
@@ -2083,7 +2091,6 @@ Deprecated
20832091
* :class:`asyncio.WindowsProactorEventLoopPolicy`
20842092
* :func:`asyncio.get_event_loop_policy`
20852093
* :func:`asyncio.set_event_loop_policy`
2086-
* :func:`asyncio.set_event_loop`
20872094

20882095
Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with
20892096
*loop_factory* to use the desired event loop implementation.

0 commit comments

Comments
 (0)
0