[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);