[pypy-svn] r76170 - in pypy/branch/interplevel-array/pypy/module/array: . test
Maciej Fijalkowski
fijall at gmail.com
Tue Jul 13 10:10:29 CEST 2010
Hey.
There is space.fixedview, which is fast for tuple and space.listview,
which is fast for list.
On Tue, Jul 13, 2010 at 8:01 AM, <hakanardo at codespeak.net> wrote:
> Author: hakanardo
> Date: Tue Jul 13 08:01:33 2010
> New Revision: 76170
>
> Modified:
> pypy/branch/interplevel-array/pypy/module/array/interp_array.py
> pypy/branch/interplevel-array/pypy/module/array/test/sumtst.py
> Log:
> compiling
>
> Modified: pypy/branch/interplevel-array/pypy/module/array/interp_array.py
> ==============================================================================
> --- pypy/branch/interplevel-array/pypy/module/array/interp_array.py (original)
> +++ pypy/branch/interplevel-array/pypy/module/array/interp_array.py Tue Jul 13 08:01:33 2010
> @@ -212,19 +212,26 @@
> new = space.int_w(w_new)
> oldlen = self.len
> self.setlen(self.len + new)
> -
> +
> + i = 0
> try:
> - if (isinstance(w_seq, W_ListObject) or
> - isinstance(w_seq, W_TupleObject)):
> - for i in range(new):
> + if isinstance(w_seq, W_ListObject):
> + while i < new:
> + item = self.item_w(w_seq.wrappeditems[i])
> + self.buffer[oldlen + i ] = item
> + i += 1
> + elif isinstance(w_seq, W_TupleObject):
> + while i < new:
> item = self.item_w(w_seq.wrappeditems[i])
> self.buffer[oldlen + i ] = item
> + i += 1
> else:
> getitem = space.getattr(w_seq, space.wrap('__getitem__'))
> - for i in range(new):
> + while i < new:
> w_item = space.call_function(getitem, space.wrap(i))
> item=self.item_w(w_item)
> self.buffer[oldlen + i ] = item
> + i += 1
> except OperationError:
> self.setlen(oldlen + i)
> raise
>
> Modified: pypy/branch/interplevel-array/pypy/module/array/test/sumtst.py
> ==============================================================================
> --- pypy/branch/interplevel-array/pypy/module/array/test/sumtst.py (original)
> +++ pypy/branch/interplevel-array/pypy/module/array/test/sumtst.py Tue Jul 13 08:01:33 2010
> @@ -11,7 +11,9 @@
> return l
>
> if True:
> - img=array('d', '\x00'*640*480*8)
> + img=array('d', '\x00'*640*480)
> + #img=array('d', [0]*640*480)
> + #img=array('d', (0,))*(640*480)
> else:
> img=simple_array(640*480)
>
> _______________________________________________
> pypy-svn mailing list
> pypy-svn at codespeak.net
> http://codespeak.net/mailman/listinfo/pypy-svn
>
More information about the Pypy-commit
mailing list