diff Python/bltinmodule.c @ 56751:7dc57b991d83

Merged revisions 75714 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r75714 | mark.dickinson | 2009-10-26 14:18:44 +0000 (Mon, 26 Oct 2009) | 1 line Warn against replacing PyNumber_Add with PyNumber_InPlaceAdd in sum ........
author Mark Dickinson <dickinsm@gmail.com>
date Mon, 26 Oct 2009 14:19:42 +0000
parents 0f9e8d3ecac3
children 087fe5fa113c
line wrap: on
line diff
--- a/Python/bltinmodule.c	Mon Oct 26 12:01:06 2009 +0000
+++ b/Python/bltinmodule.c	Mon Oct 26 14:19:42 2009 +0000
@@ -1958,6 +1958,15 @@
 			}
 			break;
 		}
+		/* It's tempting to use PyNumber_InPlaceAdd instead of
+		   PyNumber_Add here, to avoid quadratic running time
+		   when doing 'sum(list_of_lists, [])'.  However, this
+		   would produce a change in behaviour: a snippet like
+
+		     empty = []
+		     sum([[x] for x in range(10)], empty)
+
+		   would change the value of empty. */
 		temp = PyNumber_Add(result, item);
 		Py_DECREF(result);
 		Py_DECREF(item);