Skip to content

Commit d396a0e

Browse files
Apply suggestions from Hugo's review
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
1 parent 4a0c773 commit d396a0e

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

Doc/whatsnew/3.15.rst

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,7 @@ Summary -- Release highlights
7575
<whatsnew315-pep782>`
7676
* :ref:`Improved error messages <whatsnew315-improved-error-messages>`
7777
* The :ref:`JIT compiler <whatsnew315-jit>` has been significantly upgraded,
78-
with 3-4% geometric mean performance improvement on the `pyperformance
79-
<https://github.com/python/pyperformance>`__ benchmarks.
78+
with 3-4% geometric mean performance improvement
8079

8180

8281
New features
@@ -855,11 +854,12 @@ csv
855854

856855
.. _whatsnew315-jit:
857856

858-
Upgraded JIT Compiler
857+
Upgraded JIT compiler
859858
=====================
860859

861-
Results from the pyperformance benchmark suite report
862-
`3-4% <https://github.com/facebookexperimental/free-threading-benchmarking/blob/main/results/bm-20251214-3.15.0a2%2B-6cddf04-JIT/bm-20251214-vultr-x86_64-python-6cddf04344a1e8ca9df5-3.15.0a2%2B-6cddf04-vs-base.svg>`_
860+
Results from the `pyperformance
861+
<https://github.com/python/pyperformance>`__ benchmark suite report
862+
`3-4% <https://github.com/facebookexperimental/free-threading-benchmarking/blob/main/results/bm-20251214-3.15.0a2%2B-6cddf04-JIT/bm-20251214-vultr-x86_64-python-6cddf04344a1e8ca9df5-3.15.0a2%2B-6cddf04-vs-base.svg>`__
863863
geometric mean performance improvement for the JIT over the standard CPython
864864
interpreter built with all optimizations enabled. The speedups for JIT
865865
builds versus no JIT builds range from roughly 20% slowdown to over
@@ -869,25 +869,26 @@ x86-64 Linux and AArch64 macOS systems.
869869
.. attention::
870870
These results are not yet final.
871871

872-
The major upgrades to the JIT are as follows:
872+
The major upgrades to the JIT are:
873873

874874
* LLVM 21 build-time dependency
875875
* New tracing frontend
876876
* Basic register allocation in the JIT
877877
* More JIT optimizations
878878
* Better machine code generation
879879

880-
.. rubric:: LLVM 21 Build-Time Dependency
880+
.. rubric:: LLVM 21 build-time dependency
881881

882882
The JIT compiler now uses LLVM 21 for build-time stencil generation. As
883883
always, LLVM is only needed when building CPython with the JIT enabled;
884884
end users running Python do not need LLVM installed. Instructions for
885-
installing LLVM can be found in the JIT compiler documentation
886-
(:file:`Tools/jit/README.md`) for all supported platforms.
885+
installing LLVM can be found in the `JIT compiler documentation
886+
<https://github.com/python/cpython/blob/main/Tools/jit/README.md>`__
887+
for all supported platforms.
887888

888889
(Contributed by Savannah Ostrowski in :gh:`140973`.)
889890

890-
.. rubric:: A New Tracing Frontend
891+
.. rubric:: A new tracing frontend
891892

892893
The JIT compiler now supports significantly more bytecode operations and
893894
control flow than in Python 3.14, enabling speedups on a wider variety of
@@ -898,9 +899,9 @@ that records actual execution paths through code, rather than estimating
898899
them as the previous implementation did.
899900

900901
(Contributed by Ken Jin in :gh:`139109`. Support for Windows added by
901-
Mark Shannon :gh:`141703`.)
902+
Mark Shannon in :gh:`141703`.)
902903

903-
.. rubric:: Basic Register Allocation in the JIT
904+
.. rubric:: Basic register allocation in the JIT
904905

905906
A basic form of register allocation has been added to the JIT compiler's
906907
optimizer. This allows the JIT compiler to avoid certain stack operations
@@ -909,7 +910,7 @@ more efficient traces by avoiding reads and writes to memory.
909910

910911
(Contributed by Mark Shannon in :gh:`135379`.)
911912

912-
.. rubric:: More JIT Optimizations
913+
.. rubric:: More JIT optimizations
913914

914915
More `constant-propagation <https://en.wikipedia.org/wiki/Constant_folding>`__
915916
is now performed. This means when the JIT compiler detects that certain user
@@ -923,7 +924,7 @@ reduces the cost of most operations in Python.
923924
(Contributed by Ken Jin, Donghee Na, Nadeshiko Manju, Savannah Ostrowski,
924925
Noam Cohen, Tomas Roun, PuQing in :gh:`134584`.)
925926

926-
.. rubric:: Better Machine Code Generation
927+
.. rubric:: Better machine code generation
927928

928929
The JIT compiler's machine code generator now produces better machine code
929930
for x86-64 and AArch64 macOS and Linux targets. In general, users should

0 commit comments

Comments
 (0)