[pypy-dev] JIT for scripts

Maciej Fijalkowski fijall at gmail.com
Wed Jun 1 16:49:33 CEST 2011


On Wed, Jun 1, 2011 at 4:36 PM, Alex Şuhan <alex.suhan at gmail.com> wrote:
> On 06/01/2011 04:05 PM, Armin Rigo wrote:
>>
>> Hi Alex,
>>
>> On Wed, Jun 1, 2011 at 2:14 PM, Alex Şuhan<alex.suhan at gmail.com>  wrote:
>>>
>>> PyPy works great for our PHP JIT interpreter
>>
>> Great to hear :-)
>>
>>> Other than the obvious duct taping, are there any caveats to this
>>> solution?
>>
>> Not that I can think of.  It sounds like a good solution, or let's say
>> a good workaround, for the way PyPy does things.
>>
>>
>> A bientôt,
>>
>> Armin.
>
> Thank you both for the answers. Short (but often) running scripts is an
> unsettling real-world scenario for web apps, so it's good to have at least
> an acceptable workaround.
>
> We're also struggling a bit with calls speed. At the moment we're not too
> far behind Zend (inside 30% on killer microbenchmarks - e.g. naive
> Fibonacci), but catching up with the whole language will surely make the
> matter worse. Seems like PyPy isn't a big fan of recursion either:
>
> $ time pypy ~/fibo.py
> 3524578
>
> real    0m3.763s
> user    0m3.740s
> sys     0m0.012s
>
> $ time python ~/fibo.py
> 3524578
>
> real    0m1.373s
> user    0m1.356s
> sys     0m0.008s
>
> (Debian Unstable 64 bit, PyPy 1.5 vs CPython 2.6.6)
>
> Do you settle with this or do you plan to use complementary JIT techniques
> besides tracing? I guess those won't be framework-ish and reusable for other
> interpreters, anyway.

We don't particularly care about fibonacci (which is the worst-case
scenario here, recursion works better in cases where functions are
bigger). However there is a plan how to go about it (without
reimplementing the JIT). It's even relatively simple. It's just that
fibonacci wasn't our major goal, but it does pop up every now and then
:-) And yes, it'll be reusable in other interpreters without trouble.

PS. Why "catching up on language" would make things slower btw?

Cheers,
fijal

>
> --
> asuhan
> _______________________________________________
> pypy-dev mailing list
> pypy-dev at python.org
> http://mail.python.org/mailman/listinfo/pypy-dev
>


More information about the pypy-dev mailing list