[Python-checkins] python/dist/src/Objects listobject.c,2.111,2.112 tupleobject.c,2.66,2.67
nnorwitz@users.sourceforge.net
nnorwitz@users.sourceforge.net
Thu, 13 Jun 2002 14:11:13 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv31788/Objects
Modified Files:
listobject.c tupleobject.c
Log Message:
SF #561244 Micro optimizations
Convert loops to memset()s.
Index: listobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/listobject.c,v
retrieving revision 2.111
retrieving revision 2.112
diff -C2 -d -r2.111 -r2.112
*** listobject.c 13 Jun 2002 20:33:00 -0000 2.111
--- listobject.c 13 Jun 2002 21:11:08 -0000 2.112
***************
*** 57,61 ****
PyList_New(int size)
{
- int i;
PyListObject *op;
size_t nbytes;
--- 57,60 ----
***************
*** 81,88 ****
return PyErr_NoMemory();
}
}
op->ob_size = size;
- for (i = 0; i < size; i++)
- op->ob_item[i] = NULL;
_PyObject_GC_TRACK(op);
return (PyObject *) op;
--- 80,86 ----
return PyErr_NoMemory();
}
+ memset(op->ob_item, 0, sizeof(*op->ob_item) * size);
}
op->ob_size = size;
_PyObject_GC_TRACK(op);
return (PyObject *) op;
***************
*** 1577,1582 ****
goto error;
}
! for (i = 0; i < n; i++)
! result->ob_item[i] = NULL;
result->ob_size = n;
--- 1575,1579 ----
goto error;
}
! memset(result->ob_item, 0, sizeof(*result->ob_item) * n);
result->ob_size = n;
Index: tupleobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/tupleobject.c,v
retrieving revision 2.66
retrieving revision 2.67
diff -C2 -d -r2.66 -r2.67
*** tupleobject.c 13 Jun 2002 20:33:01 -0000 2.66
--- tupleobject.c 13 Jun 2002 21:11:09 -0000 2.67
***************
*** 27,31 ****
PyTuple_New(register int size)
{
- register int i;
register PyTupleObject *op;
if (size < 0) {
--- 27,30 ----
***************
*** 72,77 ****
return NULL;
}
! for (i = 0; i < size; i++)
! op->ob_item[i] = NULL;
#if MAXSAVESIZE > 0
if (size == 0) {
--- 71,75 ----
return NULL;
}
! memset(op->ob_item, 0, sizeof(*op->ob_item) * size);
#if MAXSAVESIZE > 0
if (size == 0) {
***************
*** 698,703 ****
_Py_NewReference((PyObject *) sv);
/* Zero out items added by growing */
! for (i = oldsize; i < newsize; i++)
! sv->ob_item[i] = NULL;
*pv = (PyObject *) sv;
_PyObject_GC_TRACK(sv);
--- 696,702 ----
_Py_NewReference((PyObject *) sv);
/* Zero out items added by growing */
! if (newsize > oldsize)
! memset(sv->ob_item, 0,
! sizeof(*sv->ob_item) * (newsize - oldsize));
*pv = (PyObject *) sv;
_PyObject_GC_TRACK(sv);