New post on the Python Insider blog from Ken Jin:
"Python 3.15's JIT is now back on track"
https://blog.python.org/2026/03/jit-on-track/
#Python #JIT #performance #python315
New post on the Python Insider blog from Ken Jin:
"Python 3.15's JIT is now back on track"
https://blog.python.org/2026/03/jit-on-track/
#Python #JIT #performance #python315
Python 3.15's JIT is now back on track
https://fidget-spinner.github.io/posts/jit-on-track.html
#HackerNews #Python #JIT #Python315 #Programming #News #TechUpdates
🐍🚀 Out now: Python 3.15 alpha 7!
This is the first one with lazy imports (PEP 810) and frozendict (PEP 814)! Try it out and give us feedback.
https://discuss.python.org/t/python-3-15-0-alpha-7/106475
☃️ Just one alpha left until the feature freeze! Core team: get your PEPs in!
#Python #Python315 #release PEP810 #LazyImports #PEP814 #frozendict

This is an early developer preview of Python 3.15 Major new features of the 3.15 series, compared to 3.14 Python 3.15 is still in development. This release, 3.15.0a7, is the seventh of eight planned alpha releases. Alpha releases are intended to make it easier to test the current state of new features and bug fixes and to test the release process. During the alpha phase, features may be added up until the start of the beta phase (2026-05-05) and, if necessary, may be modified or deleted up ...
The Story of Python's Lazy Imports: Why It Took Three Years and Two Attempts
#Python #PEP810 #LazyImports #CPython #Performance #SoftwareEngineering #MetaCinder #Python315 #StartupTime #TechnicalDeepDive
Current status of PEPs for 3.15 with two months until feature freeze:
Informational: 1 (release schedule)
Open (under consideration): 20
Accepted (may not be implemented yet): 5
Finished (done, with a stable interface): 4
Deferred (postponed pending further research or updates): 1
Rejected, Superseded, and Withdrawn: 2
Unmerged PRs: 6

This PEP contains the index of all Python Enhancement Proposals, known as PEPs. PEP numbers are assigned by the PEP editors, and once assigned are never changed. The version control history of the PEP texts represent their historical record.
Coming soon to Python 3.15: frozendict
The Steering Council has just accepted @vstinner and @dongheena's PEP 814 "Add frozendict built-in type".
https://discuss.python.org/t/pep-814-add-frozendict-built-in-type/104854/121

After careful deliberation, the Python Steering Council is pleased to accept PEP 814 – Add frozendict built-in type. The absence of an immutable dict counterpart has been a long-standing gap in Python and has been requested for a long time in different forms. We agree this is a clear net positive for the language. We are accepting this PEP with the following modifications: Performance should not be framed as a goal or motivation. The value of frozendict is in its immutability semantics, not i...
🐍🅰️ Out now, Python 3.15 alpha 6!
PEP 799: A high-frequency, low-overhead, statistical sampling profiler
PEP 798: Unpacking in comprehensions with * and **
PEP 686: Python now uses UTF-8 as the default encoding
PEP 782: A new PyBytesWriter C API to create a Python bytes object
PEP 728: TypedDict with typed extra items
The JIT compiler has been significantly upgraded with up to 7-8% speedup
🧊 Just two more alphas until the feature freeze! 🧊
https://discuss.python.org/t/python-3-15-0-alpha-6/106122
#Python #Python315 #release

This is an early developer preview of Python 3.15 Major new features of the 3.15 series, compared to 3.14 Python 3.15 is still in development. This release, 3.15.0a6, is the sixth of eight planned alpha releases. Alpha releases are intended to make it easier to test the current state of new features and bug fixes and to test the release process. During the alpha phase, features may be added up until the start of the beta phase (2026-05-05) and, if necessary, may be modified or deleted up un...
Handy thing I just spotted coming to Python 3.15:
"The -W option and the PYTHONWARNINGS environment variable can now specify regular expressions instead of literal strings to match the warning message and the module name, if the corresponding field starts and ends with a forward slash (/).
"(Contributed by Serhiy Storchaka in gh-134716.)"
https://docs.python.org/3.15/whatsnew/3.15.html#other-language-changes
Using the new Tachyon profiler coming to Python 3.15 I profiled a one-liner to find a bottleneck, then sped up some 26-year-old code in @pillow!
https://hugovk.dev/blog/2026/faster-pillow/
#Python #python315 #Tachyon #Pillow #PythonPillow #performance

Along with a pip (and now packaging) maintainer, Damian Shaw, I have been working on making packaging, the library behind almost all packaging related tools, faster at reading versions and specifiers, something tools like pip have to do thousands of times during resolution. Using Python 3.15’s new statistical profiler and metadata from every package ever uploaded to PyPI, I measured and improved core Packaging constructs while keeping the code readable and simple. Reading in Versions can be up to 2x faster and SpecifierSets can be up to 3x faster in packaging 26.0, now released! Other operations have been optimized, as well, up to 5x in some cases. See the announcement and release notes too; this post will focus on the performance work only.