@@ -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============
@@ -805,6 +806,17 @@ inspect
805806 for :func: `~inspect.getdoc `.
806807 (Contributed by Serhiy Storchaka in :gh: `132686 `.)
807808
809+ json
810+ ----
811+
812+ * Add the *array_hook * parameter to :func: `~json.load ` and
813+ :func: `~json.loads ` functions:
814+ allow a callback for JSON literal array types to customize Python lists in
815+ the resulting decoded object. Passing combined :class: `frozendict ` to
816+ *object_pairs_hook * param and :class: `tuple ` to ``array_hook `` will yield a
817+ deeply nested immutable Python structure representing the JSON data.
818+ (Contributed by Joao S. O. Bueno in :gh: `146440 `)
819+
808820
809821locale
810822------
@@ -1032,11 +1044,6 @@ sys
10321044* Add :data: `sys.abi_info ` namespace to improve access to ABI information.
10331045 (Contributed by Klaus Zimmermann in :gh: `137476 `.)
10341046
1035- * Add :data: `sys.float_info.iec_60559 <sys.float_info> `: a boolean flag,
1036- indicating support the IEC 60559 floating-point standard (as specified by the
1037- Annex F of C99).
1038- (Contributed by Sergey B Kirpichev in :gh: `138580 `.)
1039-
10401047
10411048tarfile
10421049-------
@@ -1292,18 +1299,6 @@ zlib
12921299 Optimizations
12931300=============
12941301
1295- * Builds using Visual Studio 2026 (MSVC 18) may now use the new
1296- :ref: `tail-calling interpreter <whatsnew314-tail-call-interpreter >`.
1297- Results on Visual Studio 18.1.1 report between
1298- `15-20% <https://github.com/faster-cpython/ideas/blob/main/results/5800X-msvc.pgo2-vs-msvc.pgo.tc.svg >`__
1299- speedup on the geometric mean of pyperformance on Windows x86-64 over
1300- the switch-case interpreter on an AMD Ryzen 7 5800X. We have
1301- observed speedups ranging from 14% for large pure-Python libraries
1302- to 40% for long-running small pure-Python scripts on Windows.
1303- This was made possible by a new feature introduced in MSVC 18.
1304- (Contributed by Chris Eibl, Ken Jin, and Brandt Bucher in :gh: `143068 `.
1305- Special thanks to the MSVC team including Hulon Jenkins.)
1306-
13071302* ``mimalloc `` is now used as the default allocator for
13081303 for raw memory allocations such as via :c:func: `PyMem_RawMalloc `
13091304 for better performance on :term: `free-threaded builds <free-threaded build> `.
@@ -1960,6 +1955,23 @@ Build changes
19601955 and :option: `-X dev <-X> ` is passed to the Python or Python is built in :ref: `debug mode <debug-build >`.
19611956 (Contributed by Donghee Na in :gh: `141770 `.)
19621957
1958+ .. _whatsnew315-windows-tail-calling-interpreter :
1959+
1960+ * 64-bit builds using Visual Studio 2026 (MSVC 18) may now use the new
1961+ :ref: `tail-calling interpreter <whatsnew314-tail-call-interpreter >`.
1962+ Results on Visual Studio 18.1.1 report between
1963+ `15-20% <https://github.com/faster-cpython/ideas/blob/main/results/5800X-msvc.pgo2-vs-msvc.pgo.tc.svg >`__
1964+ speedup on the geometric mean of pyperformance on Windows x86-64 over
1965+ the switch-case interpreter on an AMD Ryzen 7 5800X. We have
1966+ observed speedups ranging from 14% for large pure-Python libraries
1967+ to 40% for long-running small pure-Python scripts on Windows.
1968+ This was made possible by a new feature introduced in MSVC 18,
1969+ which the official Windows 64-bit binaries on python.org __ now use.
1970+ (Contributed by Chris Eibl, Ken Jin, and Brandt Bucher in :gh: `143068 `.
1971+ Special thanks to Steve Dower, and the MSVC team including Hulon Jenkins.)
1972+
1973+ __ https://www.python.org/downloads/windows/
1974+
19631975
19641976Porting to Python 3.15
19651977======================
0 commit comments