@@ -84,7 +84,8 @@ Summary -- Release highlights
8484 <whatsnew315-pybyteswriter>`
8585* :ref: `The JIT compiler has been significantly upgraded <whatsnew315-jit >`
8686* :ref: `Improved error messages <whatsnew315-improved-error-messages >`
87-
87+ * :ref: `The official Windows 64-bit binaries now use the tail-calling interpreter
88+ <whatsnew315-windows-tail-calling-interpreter>`
8889
8990New features
9091============
@@ -801,6 +802,17 @@ inspect
801802 for :func: `~inspect.getdoc `.
802803 (Contributed by Serhiy Storchaka in :gh: `132686 `.)
803804
805+ json
806+ ----
807+
808+ * Add the *array_hook * parameter to :func: `~json.load ` and
809+ :func: `~json.loads ` functions:
810+ allow a callback for JSON literal array types to customize Python lists in
811+ the resulting decoded object. Passing combined :class: `frozendict ` to
812+ *object_pairs_hook * param and :class: `tuple ` to ``array_hook `` will yield a
813+ deeply nested immutable Python structure representing the JSON data.
814+ (Contributed by Joao S. O. Bueno in :gh: `146440 `)
815+
804816
805817locale
806818------
@@ -1028,11 +1040,6 @@ sys
10281040* Add :data: `sys.abi_info ` namespace to improve access to ABI information.
10291041 (Contributed by Klaus Zimmermann in :gh: `137476 `.)
10301042
1031- * Add :data: `sys.float_info.iec_60559 <sys.float_info> `: a boolean flag,
1032- indicating support the IEC 60559 floating-point standard (as specified by the
1033- Annex F of C99).
1034- (Contributed by Sergey B Kirpichev in :gh: `138580 `.)
1035-
10361043
10371044tarfile
10381045-------
@@ -1288,18 +1295,6 @@ zlib
12881295 Optimizations
12891296=============
12901297
1291- * Builds using Visual Studio 2026 (MSVC 18) may now use the new
1292- :ref: `tail-calling interpreter <whatsnew314-tail-call-interpreter >`.
1293- Results on Visual Studio 18.1.1 report between
1294- `15-20% <https://github.com/faster-cpython/ideas/blob/main/results/5800X-msvc.pgo2-vs-msvc.pgo.tc.svg >`__
1295- speedup on the geometric mean of pyperformance on Windows x86-64 over
1296- the switch-case interpreter on an AMD Ryzen 7 5800X. We have
1297- observed speedups ranging from 14% for large pure-Python libraries
1298- to 40% for long-running small pure-Python scripts on Windows.
1299- This was made possible by a new feature introduced in MSVC 18.
1300- (Contributed by Chris Eibl, Ken Jin, and Brandt Bucher in :gh: `143068 `.
1301- Special thanks to the MSVC team including Hulon Jenkins.)
1302-
13031298* ``mimalloc `` is now used as the default allocator for
13041299 for raw memory allocations such as via :c:func: `PyMem_RawMalloc `
13051300 for better performance on :term: `free-threaded builds <free-threaded build> `.
@@ -1956,6 +1951,23 @@ Build changes
19561951 and :option: `-X dev <-X> ` is passed to the Python or Python is built in :ref: `debug mode <debug-build >`.
19571952 (Contributed by Donghee Na in :gh: `141770 `.)
19581953
1954+ .. _whatsnew315-windows-tail-calling-interpreter :
1955+
1956+ * 64-bit builds using Visual Studio 2026 (MSVC 18) may now use the new
1957+ :ref: `tail-calling interpreter <whatsnew314-tail-call-interpreter >`.
1958+ Results on Visual Studio 18.1.1 report between
1959+ `15-20% <https://github.com/faster-cpython/ideas/blob/main/results/5800X-msvc.pgo2-vs-msvc.pgo.tc.svg >`__
1960+ speedup on the geometric mean of pyperformance on Windows x86-64 over
1961+ the switch-case interpreter on an AMD Ryzen 7 5800X. We have
1962+ observed speedups ranging from 14% for large pure-Python libraries
1963+ to 40% for long-running small pure-Python scripts on Windows.
1964+ This was made possible by a new feature introduced in MSVC 18,
1965+ which the official Windows 64-bit binaries on python.org __ now use.
1966+ (Contributed by Chris Eibl, Ken Jin, and Brandt Bucher in :gh: `143068 `.
1967+ Special thanks to Steve Dower, and the MSVC team including Hulon Jenkins.)
1968+
1969+ __ https://www.python.org/downloads/windows/
1970+
19591971
19601972Porting to Python 3.15
19611973======================
0 commit comments