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

Reply via email to