https://github.com/python/cpython/commit/e4a60248b031d9e327443f1f2627e66865f8a9c9
commit: e4a60248b031d9e327443f1f2627e66865f8a9c9
branch: main
author: Ken Jin <[email protected]>
committer: Fidget-Spinner <[email protected]>
date: 2025-03-06T14:43:53+08:00
summary:
gh-128563: Add correction note to tail call in whats new (#130908)
* Add correction note to tail call in whats new
* Update 3.14.rst
files:
M Doc/whatsnew/3.14.rst
diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst
index 7c1245187f603d..a178ba51c89c48 100644
--- a/Doc/whatsnew/3.14.rst
+++ b/Doc/whatsnew/3.14.rst
@@ -270,7 +270,7 @@ It uses tail calls between small C functions that implement
individual
Python opcodes, rather than one large C case statement.
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%
+anywhere up to 30% faster Python code, and a geometric mean of 3-5%
faster on ``pyperformance`` depending on platform and architecture. The
baseline is Python 3.14 built with Clang 19 without this new interpreter.
@@ -295,6 +295,19 @@ For further information on how to build Python, see
__ https://en.wikipedia.org/wiki/Tail_call
+.. attention::
+
+ This section previously reported a 9-15% geomean speedup. This number has
since been
+ cautiously revised down to 3-5%. While we expect performance results to be
better
+ than what we report, our estimates are more conservative due to a
+ `compiler bug <https://github.com/llvm/llvm-project/issues/106846>`_ found
in
+ Clang/LLVM 19. We were unaware of this bug, and it artifically boosted
+ our numbers, resulting in inaccurate results. We sincerely apologize for
+ communicating results that were only accurate for certain versions of LLVM
19
+ and 20. At the time of writing, this bug has not yet been fixed in LLVM
19-21. Thus
+ any benchmarks with those versions of LLVM may produce artifically
inflated numbers.
+ (Thanks to Nelson Elhage for bringing this to light.)
+
(Contributed by Ken Jin in :gh:`128563`, with ideas on how to implement this
in CPython by Mark Shannon, Garrett Gu, Haoran Xu, and Josh Haberman.)
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]