Category: Pyston
-
Python performance: it’s not just the interpreter
I have a particular view of Python performance from my experience on the Pyston project, and since this view is somewhat nonstandard I wanted to take some time to explain it and give a motivating example. A common explanation for Python’s low performance is that it is an interpreted language. In this post I hope to…
-
Personal thoughts about Pyston’s outcome
I try to not read HN/Reddit too much about Pyston, since while there are certainly some smart and reasonable people on there, there also seem to be quite a few people with axes to grind (*cough cough* Python 3). But there are some recurring themes I noticed in the comments about our announcement about Pyston’s…
-
Why is Python slow
In case you missed it, Marius recently wrote a post on the Pyston blog about our baseline JIT tier. Our baseline JIT sits between our interpreter tier and our LLVM JIT tier, providing better speed than the interpreter tier but lower startup overhead than the LLVM tier. There’s been some discussion over on Hacker News, and the discussion…
-
Pyston 0.4 released!
I haven’t been very active on this blog since I’ve been busy with Pyston — and we just released version 0.4, check it out on the Pyston blog!
-
What’s happening on Pyston
People sometimes ask me how Pyston is going and what we’re currently working on. It’s a bit hard to answer, both because we haven’t had a release recently with some headline-worthy features, but also because a lot of the stuff we’re working on is individually pretty small. Sometimes I try to find some sort of way…
-
Pyston 0.2 released
We’ve been working very hard over the past few months, and I’m very proud to “release” version 0.2. I set up a shiny new dedicated Pyston blog, and you can see the announcement here: http://blog.pyston.org/2014/09/11/9/ I’m putting “release” in quotes since we’re not distributing binaries due to the “early access” nature, and in fact the v0.2…
-
What does this print, #1
I feel like I spend a fair amount of time investigating corner cases of the Python language; Python is relatively well-documented, but the documentation falls very short of a full language specification, so often the only recourse is to write a test case and run against CPython as a reference. Sometimes the answers are pretty…
-
Update on Pyston
This blog’s been pretty neglected lately, so I thought I’d post about progress on Pyston, since that’s where most of my time has been going. The main two goals for Pyston are performance and language compatibility; for the 0.1 launch (the original blog post) I focused on the main performance techniques, and recently I’ve switched gears…
-
Progress on implementing exceptions for Pyston
I have to say, implementing exceptions for Pyston has been considerably harder than any of the other features I’ve implemented, including what seem like hard techniques such as inline caches and on-stack-replacement. I’d say it’s hard because 1) coming up with an IR representation of exceptions is difficult, and 2) actually implementing the exception-handling is…
-
Digging into exception handling
I’m currently working on implementing exceptions for Pyston, and this is a post about the process. My thought has always been to implement them “using native exceptions”, which I vaguely understood to involve personality functions and stack unwinding. Most Python internal protocols are exception-based (think: AttributeError or StopIteration), so any Python implementation will need some ability…