diff options
author | Tom Zanussi <tzanussi@gmail.com> | 2010-02-22 02:12:59 -0500 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2010-02-24 22:07:49 -0500 |
commit | 44ad9cd8f0893b9ae0ac729a7dc2a1ebcd170ac6 (patch) | |
tree | 33a5fc4e7100eb43989f48ea252214ea2e5157e2 | |
parent | 4d161f0360d00d46a89827b3fd6da395f00c5d90 (diff) |
perf/scripts: Remove unnecessary PyTuple resizes
If we know the size of a tuple in advance, there's no need to resize
it - start out with the known size in the first place.
Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Keiichi KII <k-keiichi@bx.jp.nec.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <1266822779.6426.4.camel@tropicana>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
-rw-r--r-- | tools/perf/util/scripting-engines/trace-event-python.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c index d402f64f9b46..33a414bbba3e 100644 --- a/tools/perf/util/scripting-engines/trace-event-python.c +++ b/tools/perf/util/scripting-engines/trace-event-python.c | |||
@@ -68,7 +68,7 @@ static void define_value(enum print_arg_type field_type, | |||
68 | if (field_type == PRINT_SYMBOL) | 68 | if (field_type == PRINT_SYMBOL) |
69 | handler_name = "define_symbolic_value"; | 69 | handler_name = "define_symbolic_value"; |
70 | 70 | ||
71 | t = PyTuple_New(MAX_FIELDS); | 71 | t = PyTuple_New(4); |
72 | if (!t) | 72 | if (!t) |
73 | Py_FatalError("couldn't create Python tuple"); | 73 | Py_FatalError("couldn't create Python tuple"); |
74 | 74 | ||
@@ -79,9 +79,6 @@ static void define_value(enum print_arg_type field_type, | |||
79 | PyTuple_SetItem(t, n++, PyInt_FromLong(value)); | 79 | PyTuple_SetItem(t, n++, PyInt_FromLong(value)); |
80 | PyTuple_SetItem(t, n++, PyString_FromString(field_str)); | 80 | PyTuple_SetItem(t, n++, PyString_FromString(field_str)); |
81 | 81 | ||
82 | if (_PyTuple_Resize(&t, n) == -1) | ||
83 | Py_FatalError("error resizing Python tuple"); | ||
84 | |||
85 | handler = PyDict_GetItemString(main_dict, handler_name); | 82 | handler = PyDict_GetItemString(main_dict, handler_name); |
86 | if (handler && PyCallable_Check(handler)) { | 83 | if (handler && PyCallable_Check(handler)) { |
87 | retval = PyObject_CallObject(handler, t); | 84 | retval = PyObject_CallObject(handler, t); |
@@ -116,7 +113,10 @@ static void define_field(enum print_arg_type field_type, | |||
116 | if (field_type == PRINT_SYMBOL) | 113 | if (field_type == PRINT_SYMBOL) |
117 | handler_name = "define_symbolic_field"; | 114 | handler_name = "define_symbolic_field"; |
118 | 115 | ||
119 | t = PyTuple_New(MAX_FIELDS); | 116 | if (field_type == PRINT_FLAGS) |
117 | t = PyTuple_New(3); | ||
118 | else | ||
119 | t = PyTuple_New(2); | ||
120 | if (!t) | 120 | if (!t) |
121 | Py_FatalError("couldn't create Python tuple"); | 121 | Py_FatalError("couldn't create Python tuple"); |
122 | 122 | ||
@@ -125,9 +125,6 @@ static void define_field(enum print_arg_type field_type, | |||
125 | if (field_type == PRINT_FLAGS) | 125 | if (field_type == PRINT_FLAGS) |
126 | PyTuple_SetItem(t, n++, PyString_FromString(delim)); | 126 | PyTuple_SetItem(t, n++, PyString_FromString(delim)); |
127 | 127 | ||
128 | if (_PyTuple_Resize(&t, n) == -1) | ||
129 | Py_FatalError("error resizing Python tuple"); | ||
130 | |||
131 | handler = PyDict_GetItemString(main_dict, handler_name); | 128 | handler = PyDict_GetItemString(main_dict, handler_name); |
132 | if (handler && PyCallable_Check(handler)) { | 129 | if (handler && PyCallable_Check(handler)) { |
133 | retval = PyObject_CallObject(handler, t); | 130 | retval = PyObject_CallObject(handler, t); |