PyPy gets a new RISC-V JIT back end
The PyPy team released version 7.3.17, supporting Python 2.7 and 3.10, featuring a new RISC-V JIT backend, enhanced REPL, and improved JIT optimizations for integer operations.
Read original articleThe PyPy team has announced the release of PyPy version 7.3.17, which includes support for both Python 2.7 and Python 3.10 interpreters. Notable features of this release are the introduction of a new RISC-V JIT backend, enhancements to the REPL, and improved JIT optimizations for integer operations. The RISC-V backend allows for the generation of 64-bit RISC-V machine code at runtime, although no binaries are currently available for RISC-V platforms. The REPL improvements include terminal color prompts, bracketed paste functionality, and an interactive help browser. Additionally, the JIT optimizations utilize a new "knownbits" abstract domain to enhance performance in programs that manipulate integer bits, although the impact on general Python code is limited. The release is a micro update, maintaining compatibility with previous 7.3 versions. Users are encouraged to update and contribute to the project, which is supported by donations and community involvement. The PyPy team also noted the sunsetting of PyPy3.9 support on conda-forge, leading to a focus on PyPy3.10 and the revamping of the speed comparison site.
- PyPy v7.3.17 supports both Python 2.7 and 3.10 interpreters.
- New features include a RISC-V JIT backend and enhanced REPL functionalities.
- JIT optimizations for integer operations have been improved with a new abstract domain.
- The release maintains compatibility with previous 7.3 versions.
- Users are encouraged to update and contribute to the PyPy project.
Related
Summary of Major Changes Between Python Versions
The article details Python updates from versions 3.7 to 3.12, highlighting async/await, Walrus operator, Type hints, F-strings, Assignment expressions, Typing enhancements, Structural Pattern Matching, Tomllib, and useful tools.
Mining JIT traces for missing optimizations with Z3
Using Z3, PyPy's JIT traces are analyzed to pinpoint inefficient integer operations for further optimization. By translating operations into Z3 formulas, redundancies are identified to enhance PyPy's JIT compiler efficiently.
Python 3.13.0b4
Python 3.13.0b4, a beta version released on July 17, 2024, offers new features like an improved interactive interpreter, JIT, and memory enhancements. Users are cautioned against using it in production.
Beyond Hypermodern: Python is easy now
Python development in 2024 focuses on simplicity with tools like Rye aligning with packaging standards. It streamlines setup, dependency management, and project structuring, emphasizing typing with Pyright for efficient code maintenance and pytest for testing.
What's Up Python? Setuptools Breaks, a Better PDB, CPython on CalVer
Setuptools released version 72.0, removing the test command, causing uninstallable packages. Version 72.1 restored functionality. Python Debugger enhancements and calendar versioning proposals were discussed. Polars reached stable 1.0, and SAM updated to version 2.
Related
Summary of Major Changes Between Python Versions
The article details Python updates from versions 3.7 to 3.12, highlighting async/await, Walrus operator, Type hints, F-strings, Assignment expressions, Typing enhancements, Structural Pattern Matching, Tomllib, and useful tools.
Mining JIT traces for missing optimizations with Z3
Using Z3, PyPy's JIT traces are analyzed to pinpoint inefficient integer operations for further optimization. By translating operations into Z3 formulas, redundancies are identified to enhance PyPy's JIT compiler efficiently.
Python 3.13.0b4
Python 3.13.0b4, a beta version released on July 17, 2024, offers new features like an improved interactive interpreter, JIT, and memory enhancements. Users are cautioned against using it in production.
Beyond Hypermodern: Python is easy now
Python development in 2024 focuses on simplicity with tools like Rye aligning with packaging standards. It streamlines setup, dependency management, and project structuring, emphasizing typing with Pyright for efficient code maintenance and pytest for testing.
What's Up Python? Setuptools Breaks, a Better PDB, CPython on CalVer
Setuptools released version 72.0, removing the test command, causing uninstallable packages. Version 72.1 restored functionality. Python Debugger enhancements and calendar versioning proposals were discussed. Polars reached stable 1.0, and SAM updated to version 2.