diff Objects/enumobject.c @ 30874:682d1b67c7b5 legacy-trunk

Optimize reversed(list) using a custom iterator.
author Raymond Hettinger <python@rcn.com>
date Fri, 07 Nov 2003 15:38:09 +0000
parents 41c4e143e6e6
children f04ccc288542
line wrap: on
line diff
--- a/Objects/enumobject.c	Fri Nov 07 11:45:34 2003 +0000
+++ b/Objects/enumobject.c	Fri Nov 07 15:38:09 2003 +0000
@@ -174,8 +174,8 @@
 	if (!PyArg_UnpackTuple(args, "reversed", 1, 1, &seq))
 		return NULL;
 
-	/* Special case optimization for xrange */
-	if (PyRange_Check(seq))
+	/* Special case optimization for xrange and lists */
+	if (PyRange_Check(seq) || PyList_Check(seq))
 		return PyObject_CallMethod(seq, "__reversed__", NULL);
 
 	if (!PySequence_Check(seq)) {