Hi Eric,

On Sun, Sep 8, 2013 at 7:00 PM, Eric van Riet Paap <eric...@gmail.com> wrote:
> What is the PyPy speed difference after using gcc versus llvm for the 
> compilation of the PyPy-c backend?

Currently, it seems that using the LLVM IR static translation backend
of PyPy gives higher performance.  We're still trying to figure out
why.  I'm quite unsure that it's solely because LLVM is better
[citation needed].  In particular it's strange because, at the same
time, generating .c files and compiling with clang is worse than
compiling with GCC.  That's why I currently think the performance
difference can be fully attributed to details in the two backends.

If anything, it seems that someone motivated could extract some
critical information from comparing the optimized llvm code produced
by clang and by Manuel's .ll backend.  Depending on what he finds, he
can then fix our C backend to reduce the difference --- and then the C
files, compiled by GCC, might be correspondingly faster as well.

Alternatively, we should also try to play with the GCC options pointed
to by David.

On a higher-level note, LLVM still has nothing concrete enough to give
us for the topics of (1) root stack scanning and (2) tracing JIT.
These two areas might get traction if someone is really motivated to
go into LLVM development land.  So far there has been no progress that
I know of, since several years.

This e-mail was written with my long-term experience of 4 or 5 failed
attempts at using LLVM :-)  If anyone is offended by the negativity of
it, feel free to prove me wrong with some backing (I know that LLVM
has progressed a lot).  Manuel came up with an unexpected performance
difference between clang and direct generation of equivalent LLVM IR.
That's concrete enough, but until someone can really explain it, I
fear that we won't really progress.


A bientôt,

Armin.
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to