From 83ac375d666430d8c4ee340ef71d7bab2257945d Mon Sep 17 00:00:00 2001 From: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> Date: Thu, 6 Mar 2025 14:32:51 +0800 Subject: [PATCH 1/2] Add correction note to tail call in whats new --- Doc/whatsnew/3.14.rst | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst index 7c1245187f603d..3dc8b36465f8f9 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 + `bug `_ 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.) From 9148fb00a7f18215f2bf637cb6138eb92b970b30 Mon Sep 17 00:00:00 2001 From: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> Date: Thu, 6 Mar 2025 14:36:34 +0800 Subject: [PATCH 2/2] Update 3.14.rst --- Doc/whatsnew/3.14.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst index 3dc8b36465f8f9..a178ba51c89c48 100644 --- a/Doc/whatsnew/3.14.rst +++ b/Doc/whatsnew/3.14.rst @@ -300,7 +300,7 @@ For further information on how to build Python, see 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 - `bug `_ found in + `compiler bug `_ 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 pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy