Enable computed gotos in evaluation loop (enabled by default on supported
compilers).
+.. option:: --with-tail-call-interp
+
+ Enable interpreters using tail calls in CPython. If enabled, enabling PGO
+ (:option:`--enable-optimizations`) is highly recommended. This option specifically
+ requires a C compiler with proper tail call support, and the
+ `preserve_none <https://clang.llvm.org/docs/AttributeReference.html#preserve-none>`_
+ calling convention. For example, Clang 19 and newer supports this feature.
+
+ .. versionadded:: next
+
.. option:: --without-mimalloc
Disable the fast :ref:`mimalloc <mimalloc>` allocator
* :ref:`PEP 649: deferred evaluation of annotations <whatsnew314-pep649>`
* :ref:`PEP 741: Python Configuration C API <whatsnew314-pep741>`
* :ref:`PEP 761: Discontinuation of PGP signatures <whatsnew314-pep761>`
+* :ref:`A new tail-calling interpreter <whatsnew314-tail-call>`
New features
.. seealso::
:pep:`741`.
+.. _whatsnew314-tail-call:
+
+A new tail-calling interpreter
+------------------------------
+
+A new type of interpreter based on tail calls has been added to CPython.
+For certain newer compilers, this interpreter provides
+significantly better performance. Preliminary numbers on our machines suggest
+anywhere from -3% to 30% faster Python code, and a geometric mean of 9-15%
+faster on ``pyperformance`` depending on platform and architecture.
+
+This interpreter currently only works with Clang 19 and newer
+on x86-64 and AArch64 architectures. However, we expect
+that a future release of GCC will support this as well.
+
+This feature is opt-in for now. We highly recommend enabling profile-guided
+optimization with the new interpreter as it is the only configuration we have
+tested and can validate its improved performance.
+For further information on how to build Python, see
+:option:`--with-tail-call-interp`.
+
+(Contributed by Ken Jin in :gh:`128718`, with ideas on how to implement this
+in CPython by Mark Shannon, Garret Gu, Haoran Xu, and Josh Haberman.)
+
Other language changes
======================