[Speed] steps to get pypy benchmarks running

Nick Coghlan ncoghlan at gmail.com
Wed Feb 14 13:18:07 EST 2018


On 14 February 2018 at 07:52, Mark Shannon <mark at hotpy.org> wrote:
> Hi,
>
> On 13/02/18 14:27, Matti Picus wrote:
>>
>> I have begun to dive into the performance/perf code. My goal is to get
>> pypy benchmarks running on http://speed.python.org. Since PyPy has a JIT,
>> the benchmark runs must have a warmup stage.
>
>
> Why?
> The other interpreters don't get an arbitrary chunk of time for free, so
> neither should PyPy. Warmup in an inherent cost of dynamic optimisers. The
> benefits should outweigh the costs, but the costs shouldn't be ignored.

For speed.python.org purposes, that would likely be most usefully
reported as separate "PyPy (cold)" and "PyPy (warm)" results (where
the former runs under the same conditions as CPython, while the latter
is given the benefit of warming up the JIT first).

Only reporting the former would miss the point of PyPy's main use case
(i.e. long lived processes), while only reporting the latter would
miss one of the main answers to "Why hasn't everyone already switched
to PyPy for all their Python needs?" (i.e. when the app doesn't run
long enough to pay back the increased start-up overhead).

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Speed mailing list