[pypy-dev] array performace?

Armin Rigo arigo at tunes.org
Thu Jul 1 17:28:27 CEST 2010


Hi,

On Thu, Jul 01, 2010 at 04:02:30PM +0200, Hakan Ardo wrote:
> are there any python construct that the jit will be able to compile
> into c-type array accesses? Consider the following test:
> 
>     l=0.0
>     for i in xrange(640,640*480):
>         l+=img[i]
>         intimg[i]=intimg[i-640]+l

This is still implemented as a list of Python objects (as expected,
because the JIT cannot prove that we won't suddenly try to put something
else than a float in the same list).

Using _rawffi.Array('d') directly is the best option right now.  I'm not
sure why the array.array module is 400 times slower, but it's definitely
slower given that it's implemented at app-level using a _rawffi.Array('c')
and doing the conversion by itself (for some partially stupid reasons like
doing the right kind of error checking).


A bientot,

Armin.



More information about the Pypy-dev mailing list