Optimization guides suggest copying memory in an ascending direction when possible.
This commit is contained in:
parent
5d0bb852a2
commit
0e259f18f7
@ -534,13 +534,13 @@ _deque_rotate(dequeobject *deque, Py_ssize_t n)
|
|||||||
if (m > leftindex)
|
if (m > leftindex)
|
||||||
m = leftindex;
|
m = leftindex;
|
||||||
assert (m > 0 && m <= len);
|
assert (m > 0 && m <= len);
|
||||||
src = &rightblock->data[rightindex];
|
|
||||||
dest = &leftblock->data[leftindex - 1];
|
|
||||||
rightindex -= m;
|
rightindex -= m;
|
||||||
leftindex -= m;
|
leftindex -= m;
|
||||||
|
src = &rightblock->data[rightindex + 1];
|
||||||
|
dest = &leftblock->data[leftindex];
|
||||||
n -= m;
|
n -= m;
|
||||||
do {
|
do {
|
||||||
*(dest--) = *(src--);
|
*(dest++) = *(src++);
|
||||||
} while (--m);
|
} while (--m);
|
||||||
}
|
}
|
||||||
if (rightindex == -1) {
|
if (rightindex == -1) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user