[Baypiggies] PyPy 101 Talk Slides from Thursday

Dan Roberts ademan555 at gmail.com
Mon Jun 27 06:40:43 CEST 2011


Well, like I said that was before my time. My impression was that it
just didn't yield any benefits.
http://doc.pypy.org/en/latest/project-ideas.html?highlight=llvm
suggests that LLVM just wasn't ready to be used with PyPy. More
recently we heard from the Unladen Swallow project that LLVM wasn't
ready for that either. I confirmed this with one of the older PyPy
developers, LLVM was just too buggy at the time, and PyPy has been
burned by it multiple times.

I personally don't know what LLVM would bring to the table. I'm far
from an expert on LLVM, so I may be ignoring important features that
it has, so feel free to chime in if you think there's something I'm
missing. For the translation process (where currently we generate
either C, Jasmin JVM assembler, or CLI bytecode, this is the offline
process analagous to "compile time") I don't think LLVM would be
beneficial, executables produced by GCC still tend to beat clang's
binaries. However, for the JIT it might have worthwhile code
generation features. PyPy implements a fairly effective set of
optimizations on the JIT code it emits. It's possible that layering
LLVM's optimizations would produce better code at runtime. I'm fairly
confident in saying that no core PyPy developer would be interested in
pursuing this again, however, the door is always wide open for people
to try "crazy" things with PyPy. If someone is willing to devote time
to bring LLVM support up to par, and didn't break a bunch of other
things (no reason why it should), it would definitely be accepted. One
could probably implement LLVM as a JIT backend similar to how
different CPU architectures are supported, and that would be "fairly
trivial".

Anyways, the short answer is that it was too immature for several attempts.

On Sat, Jun 25, 2011 at 1:26 PM, Tony Cappellini <tony at tcapp.com> wrote:
> Dan
> When I asked you about pyp using the LLVM, you said they tried before you
> got involved with the project,
> but then just let that branch go to bitrot.
> Do you know why they stopped using the LLVM?
> It seems as though it would save you a lot of work- but if the performance
> wasn't good enough, that would be reason enough.
> I'm quite impressed with the speed that you demonstrated.
>
> On Sat, Jun 25, 2011 at 12:56 PM, Dan Roberts <ademan555 at gmail.com> wrote:
>>
>> Hi Baypiggies,
>>    At least a couple of people wanted to see slides from my
>> presentation on Thursday. I've hosted them temporarily at
>> http://codespeak.net/~dan/talk.pdf I'm also happy to answer any
>> questions that weren't adequately answered during my talk, and of
>> course over in #pypy on irc.freenode.net there are even more answers.
>>
>> Cheers everyone,
>> Dan
>> _______________________________________________
>> Baypiggies mailing list
>> Baypiggies at python.org
>> To change your subscription options or unsubscribe:
>> http://mail.python.org/mailman/listinfo/baypiggies
>
>


More information about the Baypiggies mailing list