{"slug": "pypy", "name": "PyPy", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 5, "warners": 0, "score": 3.568, "rising": -1.31, "first": "2025-11-20", "latest": "2026-03-15", "why": "What about using PyPy? You'll probably see a significant improvement in these benchmarks.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 1, "compare": 0, "warn": 0}, "spark": [1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "What about using PyPy? You'll probably see a significant improvement in these benchmarks.", "icon": true, "domain": null, "github_repo": null, "official_url": "https://pypy.org", "pricing": "", "aliases": ["PyPy"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 758041968, "item_id": 47377623, "url": "https://news.ycombinator.com/item?id=47377623", "by": "kenjin4096", "date": "2026-03-14", "stance": "recommend", "quote": "a lot of ideas in the improved JIT are actually imported from PyPy directly. So I have to thank them for their great ideas.", "excerpt": "I implemented most of the tracing JIT frontend in Python 3.15, with help from Mark to clean up and fix my code. I also coordinated some of the community JIT optimizer effort in Python 3.15 (note: NOT the code generator/DSL/infra, that's Mark, Diego, Brandt and Savannah). So I think I'm able to answer this. I can't speak for everyone on the team, but I did try the lazy basic block versioning in YJIT in a fork of CPyth", "context": "CPython JIT contributor", "use_case": "", "switched_from": "", "story": "Python: The Optimization Ladder"}, {"id": 742213840, "item_id": 46388365, "url": "https://news.ycombinator.com/item?id=46388365", "by": "llimllib", "date": "2025-12-25", "stance": "recommend", "quote": "It still runs 8.8x faster on pypy than on python 3.14", "excerpt": "I have a benchmark program I use, a solution to day 5 of the 2017 advent of code, which is all python and negligible I/O. It still runs 8.8x faster on pypy than on python 3.14: $ hyperfine \"mise exec python@pypy3.11 -- python e.py\" \"mise exec python@3.9 -- python e.py\" \"mise exec python@3.11 -- python e.py\" \"mise exec python@3.14 -- python e.py\" Benchmark 1: mise exec python@pypy3.11 -- python e.py Time (mean \u00b1 \u03c3): 1", "context": "", "use_case": "faster Python benchmark", "switched_from": "", "story": "Python 3.15's interpreter for Windows should be 15% faster"}, {"id": 741265072, "item_id": 46329067, "url": "https://news.ycombinator.com/item?id=46329067", "by": "kstrauser", "date": "2025-12-19", "stance": "recommend", "quote": "How I love pypy for certain tasks.", "excerpt": "How I love pypy for certain tasks. On my laptop: \u1405 time uv run -p cpython-3.14 leibniz.py 3.1415926525880504 ________________________________________________________ Executed in 38.24 secs fish external usr time 37.91 secs 158.00 micros 37.91 secs sys time 0.16 secs 724.00 micros 0.16 secs \u1405 time uv run -p pypy leibniz.py 3.1415926525880504 ________________________________________________________ Executed in 1.52 sec", "context": "", "use_case": "speeding up Python scripts", "switched_from": "", "story": "Programming language speed comparison using Leibniz formula for \u03c0"}, {"id": 735913616, "item_id": 45994601, "url": "https://news.ycombinator.com/item?id=45994601", "by": "lunias", "date": "2025-11-20", "stance": "recommend", "quote": "What about using PyPy? You'll probably see a significant improvement in these benchmarks.", "excerpt": "What about using PyPy? You'll probably see a significant improvement in these benchmarks. You should also give it a shot in Node which I expect to be about on par with PyPy, but without the GIL.", "context": "", "use_case": "faster Python", "switched_from": "", "story": "Performance hacks for faster Python code"}]}], "caveats": [], "who": [{"by": "kenjin4096", "context": "CPython JIT contributor", "url": "https://news.ycombinator.com/item?id=47377623", "date": "2026-03-14"}], "tags": [], "use_cases": ["benchmarking python n-body", "faster python benchmark", "speeding up python scripts", "faster python"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47327703", "title": "Python: The Optimization Ladder", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=46384167", "title": "Python 3.15's interpreter for Windows should be 15% faster", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46269979", "title": "Programming language speed comparison using Leibniz formula for \u03c0", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45895100", "title": "Performance hacks for faster Python code", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {"recommend": 2}, "2026-01": {}, "2026-02": {}, "2026-03": {"recommend": 1, "neutral": 1}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 758333233, "item_id": 47395827, "url": "https://news.ycombinator.com/item?id=47395827", "by": "kristianp", "date": "2026-03-15", "stance": "neutral", "quote": "pypy 3.11.13.   0.23s", "excerpt": "I've checked some run times on my M1 mac mini, and have realised the C run time of 2.1s for n-body is the figure from the benchmark game itself, which is 50 million iterations on a very old i5. It would have made sense if they'd run the C version on their M4 pro and used the same number of iterations to get a true comparison there. Obviously the main point of the article is to compare different python optimisations, ", "context": "", "use_case": "benchmarking Python n-body", "switched_from": "", "story": "Python: The Optimization Ladder"}, {"id": 758041968, "item_id": 47377623, "url": "https://news.ycombinator.com/item?id=47377623", "by": "kenjin4096", "date": "2026-03-14", "stance": "recommend", "quote": "a lot of ideas in the improved JIT are actually imported from PyPy directly. So I have to thank them for their great ideas.", "excerpt": "I implemented most of the tracing JIT frontend in Python 3.15, with help from Mark to clean up and fix my code. I also coordinated some of the community JIT optimizer effort in Python 3.15 (note: NOT the code generator/DSL/infra, that's Mark, Diego, Brandt and Savannah). So I think I'm able to answer this. I can't speak for everyone on the team, but I did try the lazy basic block versioning in YJIT in a fork of CPyth", "context": "CPython JIT contributor", "use_case": "", "switched_from": "", "story": "Python: The Optimization Ladder"}, {"id": 742213840, "item_id": 46388365, "url": "https://news.ycombinator.com/item?id=46388365", "by": "llimllib", "date": "2025-12-25", "stance": "recommend", "quote": "It still runs 8.8x faster on pypy than on python 3.14", "excerpt": "I have a benchmark program I use, a solution to day 5 of the 2017 advent of code, which is all python and negligible I/O. It still runs 8.8x faster on pypy than on python 3.14: $ hyperfine \"mise exec python@pypy3.11 -- python e.py\" \"mise exec python@3.9 -- python e.py\" \"mise exec python@3.11 -- python e.py\" \"mise exec python@3.14 -- python e.py\" Benchmark 1: mise exec python@pypy3.11 -- python e.py Time (mean \u00b1 \u03c3): 1", "context": "", "use_case": "faster Python benchmark", "switched_from": "", "story": "Python 3.15's interpreter for Windows should be 15% faster"}, {"id": 741265072, "item_id": 46329067, "url": "https://news.ycombinator.com/item?id=46329067", "by": "kstrauser", "date": "2025-12-19", "stance": "recommend", "quote": "How I love pypy for certain tasks.", "excerpt": "How I love pypy for certain tasks. On my laptop: \u1405 time uv run -p cpython-3.14 leibniz.py 3.1415926525880504 ________________________________________________________ Executed in 38.24 secs fish external usr time 37.91 secs 158.00 micros 37.91 secs sys time 0.16 secs 724.00 micros 0.16 secs \u1405 time uv run -p pypy leibniz.py 3.1415926525880504 ________________________________________________________ Executed in 1.52 sec", "context": "", "use_case": "speeding up Python scripts", "switched_from": "", "story": "Programming language speed comparison using Leibniz formula for \u03c0"}, {"id": 735913616, "item_id": 45994601, "url": "https://news.ycombinator.com/item?id=45994601", "by": "lunias", "date": "2025-11-20", "stance": "recommend", "quote": "What about using PyPy? You'll probably see a significant improvement in these benchmarks.", "excerpt": "What about using PyPy? You'll probably see a significant improvement in these benchmarks. You should also give it a shot in Node which I expect to be about on par with PyPy, but without the GIL.", "context": "", "use_case": "faster Python", "switched_from": "", "story": "Performance hacks for faster Python code"}]}