Sign in

The PyPy Project

@pypyproject.bsky.social
186 followers 16 following 21 posts

The developers of the PyPy project: a fast, compliant, open source Python interpreter. pypy.org github.com/pypy/pypy

PostsRepliesMedia
Reposted by The PyPy Project
Tobias @krono.toot.berlin.ap.brid.gy · 25/03/2026
Do I see this right that pypy is immortalized in the python3 Docs? :D
a screenshot from the pyhon3 documentation, argparse. Left: table of contents, right:
```
:et’s show the sort of functionality that we are going to explore in this introductory tutorial by making use of the ls command:

ls
cpython  devguide  prog.py  pypy  rm-unused-function.patch
ls pypy
ctypes_configure  demo  dotviewer  include  lib_pypy  lib-python ...
ls -l
total 20
drwxr-xr-x 19 wena wena 4096 Feb 18 18:51 cpython
drwxr-xr-x  4 wena wena 4096 Feb  8 12:04 devguide
-rwxr-xr-x  1 wena wena  535 Feb 19 00:05 prog.py
drwxr-xr-x 14 wena wena 4096 Feb  7 00:59 pypy
-rw-r--r--  1 wena wena  741 Feb 18 01:01 rm-unused-function.patch
ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
...

```
012
Reposted by The PyPy Project
Laurence Tratt @ltratt.bsky.social · 15/04/2026
C interpreters underlie many of our most widely used language implementations -- but they're slow. Wouldn't it be great if we could turn them into JIT compiling VMs? This video shows what happens when we do just that to the normal Lua VM (first) and "yklua" (Lua w/JIT, second).
13514
Reposted by The PyPy Project
oberstet.bsky.social @oberstet.bsky.social · 07/11/2025
#Autobahn v25.10.2 Released: #WebSocket & #WAMP for Python with Critical Fixes and Enhanced CI/CD, #PyPy Support, Binary Wheels, and native NVX (SIMD vector acceleration) - **📋 Full Announcement:** github.com/crossbario/a... - **🌐 WAMP Protocol:** wamp-proto.org
001
The PyPy Project @pypyproject.bsky.social · 15/06/2025
New blog post by @cfbolz.bsky.social: "How fast can the RPython GC allocate?" pypy.org/posts/2025/0...
pypy.org
How fast can the RPython GC allocate?
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 ord
064
Reposted by The PyPy Project
Stefan Marr @stefan-marr.de · 09/06/2025
This year's DLS Most Notable Paper award goes to Compiling for Multi-language Task Migration by Marc Feeley The paper is motivated by the challenges of implementing continuations for an uncooperative environment, and worth a read! Congratulations to the author! www.iro.umontreal.ca/~feeley/pape...
The award with the following citation:

Recent years have seen a resurgent interest in the use and implementation of first-class control, especially in the form of delimited continuations via effect handlers. This paper is motivated by the challenges of implementing continuations for an uncooperative environment and the opportunities for code migration that the implementation affords. The paper recaps the design of the Gambit Virtual Machine for efficient continuations, and it provides evidence for the ongoing effectiveness of the design.
0115
Reposted by The PyPy Project
CF Bolz-Tereick @cfbolz.bsky.social · 12/06/2025
"How slow is the tracing interpreter of PyPy's meta-tracing JIT?" cfbolz.de/posts/speed-... Spoiler: for the microbenchmark I tried, the slowdown of the meta-tracing interpreter is about 900x
cfbolz.de
How slow is the tracing interpreter of PyPy's meta-tracing JIT?
I wanted to investigate the warmup behavior of the PyPy interpreter, so I wrote a somewhat arbitrary microbenchmark: all_results = set() num = int(sys.argv[1]) class A(object): pass def main():
194
The PyPy Project @pypyproject.bsky.social · 21/05/2025
We just merged an improvement to the PyPy JIT heap optimizations: type based alias analysis for Python instances. Work was done by @cfbolz.bsky.social and their student Nico Rittinghaus.
162
Reposted by The PyPy Project
Ned Batchelder @nedbat.com · 09/03/2025
nedbatchelder.com/blog/202503/... After nearly two years, I think this is finally ready: coverage․py can use sys.monitoring to more efficiently measure branch coverage.
nedbatchelder.com
Faster branch coverage measurement
After nearly two years, I think this is finally ready: coverage.py can use <a rel="external noopener" href="https://docs.python.org/3/library/sys.monitoring.html">sys.monitoring</a> to more efficientl...
1285
Reposted by The PyPy Project
matti-p.bsky.social @matti-p.bsky.social · 26/02/2025
Fast on the heels of the last release, I have published a PyPy v7.3.19 bug-fix release with PyPy2.7, PyPY3.10 and a beta-quality PyPy3.11. Please try it out! The complete release note is at doc.pypy.org/en/latest/re...
doc.pypy.org
PyPy v7.3.19: release of python 2.7, 3.10 and 3.11 beta, released 2025-02-26 — PyPy documentation
045
Reposted by The PyPy Project
CF Bolz-Tereick @cfbolz.bsky.social · 25/02/2025
New blog post by my excellent master student Christoph Jung: "Low Overhead Allocation Sampling with VMProf in PyPy's GC" pypy.org/posts/2025/0... Hopefully the first in a series about his work on a sampling allocation profiler for PyPy
083
Reposted by The PyPy Project
CF Bolz-Tereick @cfbolz.bsky.social · 13/02/2025
Since I was now wondering, here's PyPy VS CPython 3.x binary sizes
Plot of CPython and PyPy binary sizes over time. CPython 3.7 is 35 MiB, shrinks to 22.5 MiB in 3.8, then slowly grows again until 3.11 at 25.2 MiB. Cpython 3.12 is much bigger, at 37.3 MiB.  CPy 3.13 shrinks a bit again to 36.1 MiB.

PyPy tracks the ups and downs in roughly the same shape but is generally much bigger. 3.7 is at 60.5, 3.8 at 56.2, then it slowly increases to 58.8 at PyPy 3.11
021
The PyPy Project @pypyproject.bsky.social · 13/02/2025
We don't do this regularly or anything, but every couple of years @cfbolz.bsky.social looks at how the PyPy binary sizes have developed. Looks like an ok balance between occasionally cleaning something up and thereby shrinking the binary; and then slow growth or explicit time/binary-size-tradeoffs.
plot showing how the PyPy binary went from 68 MiB in early 2020 to 61 MiB today, with a few ups and downs in between. various points in time are annotated with reasons for growth and shrinkage. the biggest shrinkage is: 2022-05-10 compact jitcode liveness info
111
The PyPy Project @pypyproject.bsky.social · 09/02/2025
As a response to these benchmarks, @cfbolz.bsky.social optimized `itertools.islice` for the common case where no step is given, and also for converting large but not very large integers to strings (basically any int that doesn't fit into 64 bits, but is also not really huge, maybe a few words).
042
The PyPy Project @pypyproject.bsky.social · 09/02/2025
Tim Peters benchmarking Python 3.13 vs PyPy on an OEIS sequence program he wrote: discuss.python.org/t/python-3-1... (the results are complicated, on one version Python 3.13 wins, but on others PyPy does).
discuss.python.org
Python 3.13.0 speed
This is a hearty “congratulations!” message. I often tackle a problem inspired by The On-Line Encyclopedia of Integer Sequences (OEIS). Here, sequence A378048: integers k such that k and k**2 together...
040
The PyPy Project @pypyproject.bsky.social · 07/02/2025
Here's the blog post about the PyPY 7.3.18 release that came out yesterday. Thanks to @matti-p.bsky.social, our release manager! This the first version with 3.11 support (beta only so far). Two cool other features in the thread below. pypy.org/posts/2025/0...
pypy.org
PyPy v7.3.18 release
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
1106
Reposted by The PyPy Project
matti-p.bsky.social @matti-p.bsky.social · 06/02/2025
PyPy 7.3.18, with Python3.11, 3.10, 2.7 is released. See the release note at doc.pypy.org/en/latest/re...
doc.pypy.org
PyPy v7.3.18: release of python 2.7, 3.10 and 3.11 beta, released 2025-02-06 — PyPy documentation
012
The PyPy Project @pypyproject.bsky.social · 06/02/2025
Hello, World!
1164