The PyPy team announced the release of PyPy1.2 today. As you might know, I’ve been a long-time Python user so of course this news is certainly interesting to me from that perspective. However for this post, I’d like to focus less on the accomplishments of PyPy the compiler and focus on looking at the great “data experience” they have provided around the PyPy performance data .
NOTE: You don’t need to know anything Python, PyPy to get something out of this post – just in interest in how others communicate their data
First, their performance data is provided at this site: http://speed.pypy.org/overview/
NOTE: You may have already noticed that I used FireFox for the screenshots. This was deliberate as the site looks better when rendered via FireFox (notice the rounded corners on all the shapes).
This overview page shows how PyPy compares the baseline performance of CPython across many benchmarks. You can clearly make out that overall they have made tremendous gains and are often faster than CPython.
What I like about this chart is that it’s easy to compare the difference between the two. They make good use of inline bar charts to make the data clear. The charts use a logarithmic scale (which I generally avoid using – but admit it works fine here), but otherwise this is a very clean and clear presentation.
Notice the up/down arrows on the columns …
Clicking on these will resort the data. One cool feature about this is that the re-sorting the table on a specific column is very fast – it doesn’t appear to fetch data from the server again.
Here’s an example of the data sorted by the “Time” column.
A common scenario when looking at data is that you want to share what you are seeing with others – for example you want to send a link (a url) via email that points to the view you are looking at. Fortunately, this site makes this easy by offering a “Permalink” that is accessible on the upper right. Pressing navigates to a specific URL that shows the same data you are viewing. You can then share that link instead of asking others to go to manually navigate to the view you are seeing.
If we are interested in a particular benchmark, we can click on it directly
Which will navigate to the Timeline tab …
And then you’ll see a trend chart for that benchmark
As you hover over the points in the chart, you’ll see the specific revision number association with that data point…
An extra-cool feature is that you select region by clicking and then dragging the mouse …
This will cause the chart to zoom into that area …
On the left of the timeline view, all the benchmarks are shown. The current one “richards” is selected. But we can select “Display all in a grid”
And this will show thumbnails of all the trends for all the benchmarks
- I’m really impressed with the way the PyPy speed center has been built. The site is clean and usable and useful. Someone clearly spent a good deal of effort thinking of this and the pays off in the experience.
- For those of you who work with data in (whether it be in ERP systems or other fields), you should look to this site as an example of an experience around data to which you can aspire.
- If anyone has other great examples of such analytic-oriented sites – they don’t have to be related compiler performance – please share.