[Python-checkins]
python/dist/src/Modules collectionsmodule.c, 1.10, 1.11
rhettinger at users.sourceforge.net
rhettinger at users.sourceforge.net
Thu Mar 4 03:00:56 EST 2004
Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10342
Modified Files:
collectionsmodule.c
Log Message:
Special case endpoint access for speed.
Index: collectionsmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/collectionsmodule.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** collectionsmodule.c 1 Mar 2004 23:16:20 -0000 1.10
--- collectionsmodule.c 4 Mar 2004 08:00:54 -0000 1.11
***************
*** 327,342 ****
}
! i += deque->leftindex;
! n = i / BLOCKLEN;
! i %= BLOCKLEN;
! if (i < (deque->len >> 1)) {
b = deque->leftblock;
! while (n--)
! b = b->rightlink;
! } else {
! n = (deque->leftindex + deque->len - 1) / BLOCKLEN - n;
b = deque->rightblock;
! while (n--)
! b = b->leftlink;
}
item = b->data[i];
--- 327,350 ----
}
! if (i == 0) {
! i = deque->leftindex;
b = deque->leftblock;
! } else if (i == deque->len - 1) {
! i = deque->rightindex;
b = deque->rightblock;
! } else {
! i += deque->leftindex;
! n = i / BLOCKLEN;
! i %= BLOCKLEN;
! if (i < (deque->len >> 1)) {
! b = deque->leftblock;
! while (n--)
! b = b->rightlink;
! } else {
! n = (deque->leftindex + deque->len - 1) / BLOCKLEN - n;
! b = deque->rightblock;
! while (n--)
! b = b->leftlink;
! }
}
item = b->data[i];
More information about the Python-checkins
mailing list