[Python-checkins] python/dist/src/Objects listobject.c,2.197,2.198
rhettinger at users.sourceforge.net
rhettinger at users.sourceforge.net
Mon Mar 15 04:01:34 EST 2004
Update of /cvsroot/python/python/dist/src/Objects
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18287
Modified Files:
listobject.c
Log Message:
Revert last change. Found an application that was worse off with resize
exact turned on. The tiny space savings wasn't worth the additional time
and code.
Index: listobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/listobject.c,v
retrieving revision 2.197
retrieving revision 2.198
diff -C2 -d -r2.197 -r2.198
*** listobject.c 14 Mar 2004 06:42:23 -0000 2.197
--- listobject.c 15 Mar 2004 09:01:31 -0000 2.198
***************
*** 10,14 ****
static int
! list_resize(PyListObject *self, int newsize, int exact)
{
PyObject **items;
--- 10,14 ----
static int
! list_resize(PyListObject *self, int newsize)
{
PyObject **items;
***************
*** 34,41 ****
* The growth pattern is: 0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ...
*/
! if (exact)
! _new_size = newsize;
! else
! _new_size = (newsize>>3) + (self->ob_size < 8 ? 3 : 6) + newsize;
items = self->ob_item;
if (_new_size <= ((~(size_t)0) / sizeof(PyObject *)))
--- 34,38 ----
* The growth pattern is: 0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ...
*/
! _new_size = (newsize >> 3) + (self->ob_size < 8 ? 3 : 6) + newsize;
items = self->ob_item;
if (_new_size <= ((~(size_t)0) / sizeof(PyObject *)))
***************
*** 156,160 ****
}
! if (list_resize(self, n+1, 0) == -1)
return -1;
--- 153,157 ----
}
! if (list_resize(self, n+1) == -1)
return -1;
***************
*** 522,526 ****
memmove(&item[ihigh+d], &item[ihigh],
(a->ob_size - ihigh)*sizeof(PyObject *));
! list_resize(a, a->ob_size + d, 1);
item = a->ob_item;
}
--- 519,523 ----
memmove(&item[ihigh+d], &item[ihigh],
(a->ob_size - ihigh)*sizeof(PyObject *));
! list_resize(a, a->ob_size + d);
item = a->ob_item;
}
***************
*** 528,532 ****
else { /* Insert d items; recycle ihigh-ilow items */
s = a->ob_size;
! if (list_resize(a, s+d, 1) == -1) {
if (recycle != NULL)
PyMem_DEL(recycle);
--- 525,529 ----
else { /* Insert d items; recycle ihigh-ilow items */
s = a->ob_size;
! if (list_resize(a, s+d) == -1) {
if (recycle != NULL)
PyMem_DEL(recycle);
***************
*** 592,596 ****
}
! if (list_resize(self, size*n, 1) == -1)
return NULL;
--- 589,593 ----
}
! if (list_resize(self, size*n) == -1)
return NULL;
***************
*** 684,688 ****
}
! if (list_resize(self, selflen + blen, 0) == -1) {
Py_DECREF(b);
return -1;
--- 681,685 ----
}
! if (list_resize(self, selflen + blen) == -1) {
Py_DECREF(b);
return -1;
***************
*** 737,741 ****
m = self->ob_size;
mn = m + n;
! if (list_resize(self, mn, 0) == -1)
goto error;
memset(&(self->ob_item[m]), 0, sizeof(*self->ob_item) * n);
--- 734,738 ----
m = self->ob_size;
mn = m + n;
! if (list_resize(self, mn) == -1)
goto error;
memset(&(self->ob_item[m]), 0, sizeof(*self->ob_item) * n);
***************
*** 822,826 ****
v = self->ob_item[i];
if (i == self->ob_size - 1) {
! if (list_resize(self, self->ob_size - 1, 0) == -1)
return NULL;
return v;
--- 819,823 ----
v = self->ob_item[i];
if (i == self->ob_size - 1) {
! if (list_resize(self, self->ob_size - 1) == -1)
return NULL;
return v;
***************
*** 2521,2525 ****
self->ob_size -= slicelength;
! list_resize(self, self->ob_size, 1);
for (i = 0; i < slicelength; i++) {
--- 2518,2522 ----
self->ob_size -= slicelength;
! list_resize(self, self->ob_size);
for (i = 0; i < slicelength; i++) {
More information about the Python-checkins
mailing list