Hi Mark,

On Mon, Aug 27, 2012 at 3:09 PM, mark florisson
<[email protected]> wrote:
> For this year's summer of code, and for my master dissertation, we
> created a project to compile array expressions efficiently (Dag was my
> mentor, CCed), which can be found here:
> https://github.com/markflorisson88/minivect , the thesis is under
> subdirectory 'thesis'.

Thanks for mentioning it.  It is a rather different approach than the
one we are playing with in PyPy.  It looks like a project that is
independent of CPython-vs-PyPy: doing some computation on AST trees
and producing some compiled form, possibly with llvm.  This works
independently on the underlying interpreter, but makes some unchecked
assumptions e.g. on the exact Python types involved in the expression.

By contrast, the approach in PyPy is at a different level, based on
JITting by automatic transformation of the interpreter (like we do to
run Python).  The idea is to automatically transform the part of
numpypy that interprets numpy expressions, to get a JIT out of it; and
then the result is that at run-time the evaluation of numpy
expressions is JITted.  E.g. there is no AST anywhere in our approach.
 It integrates naturally the JITted code produced out of Python and
the JITted code out of the numpypy parts.

Someone can feel free to try to plug your approach into PyPy --- I am
not saying no, but I am saying that it would be unlikely that you
could reuse any of the infrastructure that we already have.

Moreover, if it does not contains a lot of tests, none of your code is
any use for us --- this point is the way we work, but also the only
sane way to write anything in RPython, because otherwise the
45-minutes compilation cycle would kill us.

As for reusing some ideas, maybe, but it's still a long way off for
PyPy.  Our goal is to first be as compatible as possible, and
completely transparent to the user, whatever his numpy source code
does.


A bientôt,

Armin.
_______________________________________________
pypy-dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to