Author: Justin Peel <[email protected]>
Branch: 
Changeset: r58351:4ffa41843837
Date: 2012-10-21 23:35 -0600
http://bitbucket.org/pypy/pypy/changeset/4ffa41843837/

Log:    use memcpy one more time in array.__delslice__ for extra speediness

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
@@ -491,10 +491,11 @@
                 rffi.cast(rffi.VOIDP, oldbuffer),
                 i * mytype.bytes
             )
-        m = i
-        for k in range(j, self.len):
-            self.buffer[m] = oldbuffer[k]
-            m += 1
+        if j < self.len:
+            rffi.c_memcpy(
+                rffi.cast(rffi.VOIDP, rffi.ptradd(self.buffer, i)),
+                rffi.cast(rffi.VOIDP, rffi.ptradd(oldbuffer, j)),
+                (self.len - j) * mytype.bytes)
         self.len -= j - i
         self.allocated = self.len
         if oldbuffer:
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to