Author: Alex Gaynor <[email protected]>
Branch:
Changeset: r58350:20de76d6fc41
Date: 2012-10-21 18:36 -0700
http://bitbucket.org/pypy/pypy/changeset/20de76d6fc41/
Log: Use memcopy for more faster in array.__delslice__
diff --git a/pypy/module/array/interp_array.py
b/pypy/module/array/interp_array.py
--- a/pypy/module/array/interp_array.py
+++ b/pypy/module/array/interp_array.py
@@ -485,8 +485,12 @@
self.buffer = lltype.malloc(mytype.arraytype,
max(self.len - (j - i), 0), flavor='raw',
add_memory_pressure=True)
- for k in range(0, i):
- self.buffer[k] = oldbuffer[k]
+ if i:
+ rffi.c_memcpy(
+ rffi.cast(rffi.VOIDP, self.buffer),
+ rffi.cast(rffi.VOIDP, oldbuffer),
+ i * mytype.bytes
+ )
m = i
for k in range(j, self.len):
self.buffer[m] = oldbuffer[k]
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit