[Python-checkins] python/dist/src/Objects tupleobject.c,2.72,2.73

rhettinger@users.sourceforge.net rhettinger@users.sourceforge.net
Thu, 05 Sep 2002 13:18:10 -0700


Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv25563

Modified Files:
	tupleobject.c 
Log Message:
Micro-optimization for list_contains.  Factored double if test 
out of the loop.


Index: tupleobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/tupleobject.c,v
retrieving revision 2.72
retrieving revision 2.73
diff -C2 -d -r2.72 -r2.73
*** tupleobject.c	19 Aug 2002 19:26:42 -0000	2.72
--- tupleobject.c	5 Sep 2002 20:18:08 -0000	2.73
***************
*** 264,275 ****
  	int i, cmp;
  
! 	for (i = 0; i < a->ob_size; ++i) {
  		cmp = PyObject_RichCompareBool(el, PyTuple_GET_ITEM(a, i),
! 					       Py_EQ);
! 		if (cmp > 0)
! 			return 1;
! 		else if (cmp < 0)
! 			return -1;
! 	}
  	return 0;
  }
--- 264,274 ----
  	int i, cmp;
  
! 	for (i = 0, cmp = 0 ; cmp == 0 && i < a->ob_size; ++i)
  		cmp = PyObject_RichCompareBool(el, PyTuple_GET_ITEM(a, i),
! 						   Py_EQ);
! 	if (cmp > 0)
! 		return 1;
! 	if (cmp < 0)
! 		return -1;
  	return 0;
  }