From dd80f762650f42f5f9ae820d9f55b21ed6f33bc0 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sun, 7 Mar 2004 07:31:06 +0000 Subject: SF patch #910929: Optimize list comprehensions Add a new opcode, LIST_APPEND, and apply it to the code generation for list comprehensions. Reduces the per-loop overhead by about a third. --- Python/ceval.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'Python/ceval.c') diff --git a/Python/ceval.c b/Python/ceval.c index 337184464f..b20934c057 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -1225,6 +1225,15 @@ eval_frame(PyFrameObject *f) if (x != NULL) continue; break; + case LIST_APPEND: + w = POP(); + v = POP(); + err = PyList_Append(v, w); + Py_DECREF(v); + Py_DECREF(w); + if (err == 0) continue; + break; + case INPLACE_POWER: w = POP(); v = TOP(); -- cgit v1.2.1