[pypy-dev] Change to the frontpage of speed.pypy.org

Paolo Giarrusso pgiarrusso at mathematik.uni-marburg.de
Wed Mar 9 15:15:37 CET 2011


Hi all,

On Wed, Mar 9, 2011 at 14:21, Maciej Fijalkowski <fijall at gmail.com> wrote:
> On Wed, Mar 9, 2011 at 8:19 AM, Massa, Harald Armin <chef at ghum.de> wrote:
> > I really, really like the new display!
Congratulations to Miquel for the great work!

A minor comment about the homepage: the answer to "How fast is PyPy?"
would better stay close to the question, i.e. above Plot 1 (at least
with the current wording).

> > But I was unable to find out what slowspitfire is doing ... I found
> > spitfire, which does some HTML templating stuff, and deducted, that
> > slowspitfire will do some slow HTML templating stuff. Where did I
> > click wrong?

> > Is there a path down to the slowspitfire.py file or an
> > explanation what slowspitfire is doing?

Is there a place the answer this information to the website? I propose
a link to the source in each benchmark page.
Additionally, on the frontpage the individual benchmark names could be
links to the benchmark page, like in the grid view.

The specific benchmark has no description:
http://speed.pypy.org/timeline/?exe=1%2C3&base=2%2B35&ben=slowspitfire&env=tannit&revs=200

Following the spitfire_cstringio template, I propose the following
rewording of the below answer (I'm not entirely happy but I guess
Maciej can fix it easily if it's too bad):
slowspitfire: Uses the Spitfire template system to build a
1000x1000-cell HTML table; it differs from spitfire which is slower on
PyPy: it uses .join(list) instead of cStringIO module, has very long
lists with GC objects in it, and some other smaller problems.

> https://bitbucket.org/pypy/benchmarks/src/b93caae762a0/unladen_swallow/performance/bm_spitfire.py

> It's creating a very large template table (1000x1000 elements I think)
>
> The explanation "why it's slow" is a bit longish. It's a combination
> of factors, including very long lists with GC objects in it, using
> ''.join(list) instead of cStringIO (the latter is faster and yes, it
> is a bug) and a bit of other factors.

Another small problem I had with zooming (which is really cool, BTW):

>There is an easy solution for that, at least for the moment: enabling
>zooming. I just did that, and you can now use zooming in a timeline
>plot to select a narrower yaxis range or just view a particular area
>in detail. A single click resets the zoom level.

While trying this I clicked on a revision; I immediately clicked on
"back", but I was brought too much backwards, to the grid of all
benchmarks, which loads slow enough for one to notice. If you instead
click "Back" from a specific benchmark page, you are brought back to
the home.
Fixing this without loading a separate page for each plot seems hard;
however, it seems that e.g. Facebook handles this by modifying the URL
part after #, so that the page is not reloaded from scratch, but I'm
no web developer, so you probably know better than me.

Cheers,
--
Paolo Giarrusso - Ph.D. Student
http://www.informatik.uni-marburg.de/~pgiarrusso/



More information about the Pypy-dev mailing list