PyPy Blog

pypy.org · Company blog · on HN since 2009

The PyPy team writes about its alternative Python implementation, covering JIT performance, compatibility, transactional memory, and fundraising.

What HN saysHN links it for project updates and donations, and commenters note the project is struggling and ask for benchmarks against newer CPython versions.
183HN people shared it
146linked it in comments
68stories submitted
1.3Kstory points
5 months agolast shared
2009people per year2026

Most-shared posts

  1. 1
    Pypy- a framework for implementing interpreters
    69 people · 4 points · first shared 2009 · discussion on HN
  2. 2
    PyPy's Call for donations to support Python3
    21 people · 2 points · first shared 2011 · discussion on HN
  3. 3
    Compat
    11 people · first shared 2011
  4. 4
    Download
    10 people · first shared 2011
  5. 5
    Transactional Memory in PyPy
    8 people · 12 points · first shared 2014 · discussion on HN
  6. 6
    Cpyext: Why emulating CPython C API is so Hard (2018)
    7 people · 2 points · first shared 2021 · discussion on HN
  7. 7
    Why is PyPy for python not as popular in the community?
    6 people · 5 points · first shared 2013 · 3 comments on HN
  8. 8
  9. 9
  10. 10
    Donations - PyPy to support Numpy
    5 people · 2 points · first shared 2011 · discussion on HN
  11. 11
    The first 15 years of pypy 3412615975376972020
    5 people · first shared 2021
  12. 12
    Performance
    5 people · first shared 2012
  13. 13
    PyPy v7.3.4: release of Python 2.7 and 3.7
    4 people · 24 points · first shared 2021 · 1 comments on HN
  14. 14
    Musings on Tracing in PyPy
    3 people · 122 points · first shared 2025 · 17 comments on HN
  15. 15
    How Is PyPy Tested?
    3 people · 85 points · first shared 2022 · 2 comments on HN

What HN people wrote when they linked it

_han · 2023-07-31
I didn't hear about PyPy before, but I think you're doing great work. I would be interested in seeing benchmarks where PyPy is compared with more recent versions of CPython. https://www.pypy.org/ currently shows a comparison with CPython 3.7, but recent releases of CPython (3.11+) put a lot of effort into performance which is important to take into account.
fijal · 2018-02-19
Hello everyone. This is a project by me (Maciej Fijalkowski) and Armin Rigo. We also wrote PyPy (http://pypy.org) and we got quite excited about the Virtual Reality technology. We think VR for architects is a great start for the technology as architecture is an inherently spatial discipline. We welcome any comments
jamesjporter · 2013-02-28
I'm personally very excited about the prospects for NumPy in PyPy, as this is my main use case for python. Relatedly, on the PyPy homepage, you can give money to help grease the wheels on development of specific PyPy features: http://pypy.org/. There's also quite detailed proposals that describe where the money will go, how it will help each feature's development, why each feature is useful/cool, etc. To me this seems like a really awesome way to organize donations for an open source project and gives me greater confidence that my donation will have an impact.
DizzyDoo · 2022-06-20
Yeah, I've done some useful things with pygame. My game business almost entirely uses Unity, but I do find that Python is helpful for tool development as, like you, I know the language well. Often it's a lot speedier to write a quick visual tool in Python that generates a bunch of json data that gets loaded in as a text asset and parsed, than it is to write the same thing as an editor plugin (at least for me!) Using Python + pygame or Python + PySDL2[0] gets you rendering stuff on the screen and receiving input, fast. I've also used the Twisted Matrix[1] for some online TCP-based game server work, and that was pretty positive, though the library is quite daunting to figure out. That was 8 years ago though, perhaps there are better libraries nowadays. Writing an entire game in Python might be an uphill struggle though. The interpreter is really slow, so a JIT alternative like Pypy[2] is very necessary. On my game server project I remember having to use a combination of Pypy and writing the tightest inner-most parts of my simulation loop in Cython to get the server tick to the target. As much as I love Python, if you're comfortable with Godot, it's probably a better long term investment with fewer headaches along the way. [0] - https://pypi.org/project/PySDL2/ [1] - https://twistedmatrix.com/trac/ [2] - https://www.pypy.org/
j_baker · 2012-10-09
Also worth noting pypy: http://pypy.org/
johndough · 2026-01-31
> Edit: Python has no JIT There are quite a few JITs: JIT-compiler for Python https://pypy.org/ Python enhancement proposal for JIT in CPython https://peps.python.org/pep-0744/ And there are several JIT-compilers for various subsets of Python, usually with focus on numerical code and often with GPU support, for example Numba https://numba.pydata.org/numba-doc/dev/user/jit.html Taichi Lang https://github.com/taichi-dev/taichi
t43562 · 2025-10-31
If they were as easy to use as python everyone would do so but they're not because they're not as dynamic and that's the price to pay. https://pypy.org/ is the usual answer if you want speed with python but then you deal with glitches and libraries that don't all work and only a few people care enough about speed to put up with that. https://www.graalvm.org/python/ is technically even more fancy and by now it might also work most of the time.
diath · 2025-08-17
It's not universally supported by all packages, for instance C-based packages will not work, more info about it here: https://pypy.org/posts/2018/09/inside-cpyext-why-emulating-cpython-c-8… With that being said, when it works, it works great but you have to evaluate whether it's suitable on a per-project/script basis.
igouy · 2024-12-02
"On average, PyPy is 4.4 times faster than CPython 3.7." https://pypy.org/
082349872349872 · 2024-11-24
do you mean more specifically than the generally similar approach that worked for https://pypy.org ?
Qem · 2024-10-29
If you're going the pure Python route, don't forget to try PyPy[1], an alternative JITed implementation of the language. A seriously underrated project, IMHO. Most time it speeds up execution by a factor of 2x-4x, but improvements of about two orders of magnitude are not unheard of. See for example [2]. Numeric, long-running code shoud suit PyPy optimizations well. [1] https://pypy.org/ [2] https://morepypy.blogspot.com/2017/10/how-to-make-your-code-80-times-f…
benrutter · 2024-01-09
This is so true! A JIT compiler is a big deal for performance improvements, especially where it matters (in large repetitive loops). Anyone cynical about the potential a python JIT offers should take a look at pypy which has a 5x speed up over regular python, mainly though JIT operations: https://www.pypy.org/
PaulHoule · 2023-09-22
The article doesn't mention https://www.pypy.org/ which gives a big boost to plain ordinary Python code, particularly branchy and dynamic stuff like https://rdflib.readthedocs.io/en/stable/ where it made the difference between a system I was working on being tolerable and not tolerable.
chubot · 2023-08-25
Judging by the example of Babashka, Graal apparently does give you a "huge opaque runtime", and also there seem to be severe limitations on loading code. I think it basically has to include all the Clojure code up front, which makes it arguably NOT interactive. RPython and PyPy are great engineering and great projects, but I think RPython has not quite "escaped" into the real of general purpose language implementation - https://www.pypy.org/posts/2018/09/the-first-15-years-of-pypy-34126159… I think it taught a lot of valuable lessons in this space, but it's not really an answer to the stated problem.
mattip · 2023-08-01
Would love to hear more. You can reach us with any of these methods https://www.pypy.org/contact.html
mkl · 2023-07-22
Usually. Pypy is a counterexample, with a JIT compiler written in Python: https://www.pypy.org/
Animats · 2023-07-08
Why waste effort on speeding up the old CPython interpreter rather than working on PyPy, an actual compiler? [1] "On average, PyPy is 4.8 times faster than CPython 3.7" [1] https://www.pypy.org/
CJefferson · 2023-03-15
Things aren’t impossible, but they are very hard. As you know about CPyExt, it’s probably best to point to you pypy’s article on why it makes things hard (you may have already read this!) https://www.pypy.org/posts/2018/09/inside-cpyext-why-emulating-cpython…
ReflectedImage · 2023-02-02
The link you posted literally says that the TypeScript result isn't correct. Also you are forgetting that dynamically typed code is shorter than statically typed code. So a same bug per line count is a better bug per software feature count. "No it can't. An IDE doesn't help at all here" I'm just going to cut you down here instantly. All types in a untyped Python program can be automatically inferred. That's what PyPy does: https://www.pypy.org/ So "missing type hints" isn't an excuse for anything.
mytherin · 2022-12-08
It is possible to JIT compile Python just fine. There are projects like PyPy that have been doing this for a long time [1]. The reason these alternative projects never take off is because many of Python's most used libraries are written against CPython's C API. This API is giant, and exposes all of the nitty gritty implementation details of the CPython interpreter. As a result, changing anything significant about the implementation of the interpreter means those libraries no longer work. In order to not break compatibility with the enormous amounts of packages the internals of the CPython interpreter are mostly locked in at this point with little wiggle room for large performance improvements. The only real way out is to make Python 4 - but given the immense pain of the Python 2 -> 3 transition that seems unlikely. [1] https://www.pypy.org
Kranar · 2022-12-08
Not sure about Ruby but pypy is a pure Python implementation of Python: https://www.pypy.org/
senden9 · 2021-12-10
This is already the logo of PyPy. The JIT Python interpreter. https://www.pypy.org/
williamstein · 2021-10-15
Python does, via pypy [1], which has very impressive performance and Python3 support. However, there are some subtle drawbacks, e.g., building from source takes hours instead of seconds (like CPython), and C extensions are slower. Still, the performance of pypy on a wide range of pure Python microbenchmarks is extremely impressive, and comparable to V8 (I've been collecting such benchmarks at [2] lately). [1] https://www.pypy.org/ [2] https://github.com/sagemathinc/JSage/tree/main/packages/jpython/bench
johncolanduoni · 2021-09-29
This has already been done, it’s called PyPy[1]. It both does not have a process-wide GIL and is faster than CPython almost across the board. [1]: https://www.pypy.org/
karlding · 2021-07-18
> I'm wondering why there isn't a corresponding project for Python. But there are various projects for Python. For example, there's Pyston [0] which was started by Dropbox. Or Cinder [1] which was started by Facebook. Or PyPy [2]. [0] https://github.com/pyston/pyston [1] https://github.com/facebookincubator/cinder [2] https://www.pypy.org/
schoen · 2021-05-14
> What I personally really want is faster Python/Ruby By the way, have you tried PyPy? It's an alternative Python interpreter with a JIT (so compiling in-memory to native code) that is much faster than the standard CPython for many Python tasks, especially those that are particularly compute-bound. https://www.pypy.org/ I was impressed at how fast some math-oriented Python programs that I wrote ran in PyPy. There are some extensive technical limitations, but it works out-of-the-box for many codebases.
kevin_thibedeau · 2021-02-21
> or the life of me I can't phantom why none writes a compiler for it. Would be a huge advantage Pick your poison: PyPy https://www.pypy.org Cython https://cython.org Nuitka https://nuitka.net

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close