atlas news
    
PyPy
04  juillet     12h00
PyPy v7.3.20 release
mattip    PyPy v7.3.20: release of python 2.7, 3.11 The PyPy team is proud to release version 7.3.20 of PyPy after the previous release on Feb 26, 2025. The release fixes some subtle bugs in ctypes and OrderedDict and makes PyPy3.11 compatible with an upcoming release of Cython. The release includes two...
15  juin     13h48
How fast can the RPython GC allocate?
CF Bolz-Tereick    While working on a paper about allocation profiling in VMProf I got curious about how quickly the RPython GC can allocate an object. I wrote a small RPython benchmark program to get an idea of the order of magnitude. The basic idea is to just allocate an instance in a tight loop: class A(object)...
09  avril     15h07
Doing the Prospero-Challenge in RPython
CF Bolz-Tereick    Recently I had a lot of fun playing with the Prospero Challenge by Matt Keeter. The challenge is to render a 1024x1024 image of a quote from The Tempest by Shakespeare. The input is a mathematical formula with 7866 operations, which is evaluated once per pixel. What made the challenge particularly...
26  février     12h00
PyPy v7.3.19 release
mattip    PyPy v7.3.19: release of python 2.7, 3.10 and 3.11 beta The PyPy team is proud to release version 7.3.19 of PyPy. This is primarily a bug-fix release fixing JIT-related problems and follows quickly on the heels of the previous release on Feb 6, 2025. This release includes a python 3.11 interpreter....
25  février     10h16
Low Overhead Allocation Sampling with VMProf in PyPy’s GC
Christoph Jung    Introduction There are many time-based statistical profilers around (like VMProf or py-spy just to name a few). They allow the user to pick a trade-off between profiling precision and runtime overhead. On the other hand there are memory profilers such as memray. They can be handy for finding leaks...
06  février     12h00
PyPy v7.3.18 release
mattip    PyPy v7.3.18: release of python 2.7, 3.10 and 3.11 beta The PyPy team is proud to release version 7.3.18 of PyPy. This release includes a python 3.11 interpreter. We are labelling it beta because it is the first one. In the next release we will drop 3.10 and remove the beta label. There are a...
05  janvier     17h01
Musings on Tracing in PyPy
CF Bolz-Tereick    Last summer, Shriram Krishnamurthi asked on Twitter: I’m curious what the current state of tracing JITs is. They used to be all the rage for a while, then I though I heard they weren’t so effective, then I haven’t heard of them at all. Is the latter because they are ubiquitous, or because they...
04  janvier     13h29
Towards PyPy3.11 - an update
mattip    We1 are steadily working towards a Python 3.11 interpreter, which will be part of the upcoming PyPy 7.3.18 release. Along with that, we also recently updated speed.pypy.org to compare PyPy’s performance to CPython 3.11 (it used to be CPython 3.7). Why is there no PyPy for Python 3.11? TL;DR: we are...
14  novembre     08h42
Guest Post: Final Encoding in RPython Interpreters
Corbin    Introduction This post started as a quick note summarizing a recent experiment I carried out upon a small RPython interpreter by rewriting it in an uncommon style. It is written for folks who have already written some RPython and want to take a deeper look at interpreter architecture. Some...
23  octobre     15h00
A DSL for Peephole Transformation Rules of Integer Operations in the PyPy JIT
CF Bolz-Tereick    As is probably apparent from the sequence of blog posts about the topic in the last year, I have been thinking about and working on integer optimizations in the JIT compiler a lot. This work was mainly motivated by Pydrofoil, where integer operations matter a lot more than for your typical Python...