]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-128002: add what's new docs for `asyncio` (#134324)
authorKumar Aditya <kumaraditya@python.org>
Tue, 20 May 2025 16:41:58 +0000 (22:11 +0530)
committerGitHub <noreply@github.com>
Tue, 20 May 2025 16:41:58 +0000 (22:11 +0530)
Doc/whatsnew/3.14.rst

index b192615e173f1182522bc025ecb714b7e6b2984f..604f3365ebffcc31bdc8107916e109f77091ea79 100644 (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.