All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Tom Zanussi <tzanussi@gmail.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, acme@redhat.com, paulus@samba.org,
	hpa@zytor.com, mingo@redhat.com, tzanussi@gmail.com,
	a.p.zijlstra@chello.nl, fweisbec@gmail.com, rostedt@goodmis.org,
	k-keiichi@bx.jp.nec.com, tglx@linutronix.de, mingo@elte.hu
Subject: [tip:perf/core] perf/scripts: Remove unnecessary PyTuple resizes
Date: Thu, 25 Feb 2010 10:08:27 GMT	[thread overview]
Message-ID: <tip-44ad9cd8f0893b9ae0ac729a7dc2a1ebcd170ac6@git.kernel.org> (raw)
In-Reply-To: <1266822779.6426.4.camel@tropicana>

Commit-ID:  44ad9cd8f0893b9ae0ac729a7dc2a1ebcd170ac6
Gitweb:     http://git.kernel.org/tip/44ad9cd8f0893b9ae0ac729a7dc2a1ebcd170ac6
Author:     Tom Zanussi <tzanussi@gmail.com>
AuthorDate: Mon, 22 Feb 2010 01:12:59 -0600
Committer:  Frederic Weisbecker <fweisbec@gmail.com>
CommitDate: Thu, 25 Feb 2010 04:07:49 +0100

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>
---
 .../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 d402f64..33a414b 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,
 	if (field_type == PRINT_SYMBOL)
 		handler_name = "define_symbolic_value";
 
-	t = PyTuple_New(MAX_FIELDS);
+	t = PyTuple_New(4);
 	if (!t)
 		Py_FatalError("couldn't create Python tuple");
 
@@ -79,9 +79,6 @@ static void define_value(enum print_arg_type field_type,
 	PyTuple_SetItem(t, n++, PyInt_FromLong(value));
 	PyTuple_SetItem(t, n++, PyString_FromString(field_str));
 
-	if (_PyTuple_Resize(&t, n) == -1)
-		Py_FatalError("error resizing Python tuple");
-
 	handler = PyDict_GetItemString(main_dict, handler_name);
 	if (handler && PyCallable_Check(handler)) {
 		retval = PyObject_CallObject(handler, t);
@@ -116,7 +113,10 @@ static void define_field(enum print_arg_type field_type,
 	if (field_type == PRINT_SYMBOL)
 		handler_name = "define_symbolic_field";
 
-	t = PyTuple_New(MAX_FIELDS);
+	if (field_type == PRINT_FLAGS)
+		t = PyTuple_New(3);
+	else
+		t = PyTuple_New(2);
 	if (!t)
 		Py_FatalError("couldn't create Python tuple");
 
@@ -125,9 +125,6 @@ static void define_field(enum print_arg_type field_type,
 	if (field_type == PRINT_FLAGS)
 		PyTuple_SetItem(t, n++, PyString_FromString(delim));
 
-	if (_PyTuple_Resize(&t, n) == -1)
-		Py_FatalError("error resizing Python tuple");
-
 	handler = PyDict_GetItemString(main_dict, handler_name);
 	if (handler && PyCallable_Check(handler)) {
 		retval = PyObject_CallObject(handler, t);

  reply	other threads:[~2010-02-25 10:09 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-27  8:27 [PATCH 00/12] perf trace: Python scripting support Tom Zanussi
2010-01-27  8:27 ` [PATCH 01/12] perf trace/scripting: Fix supported language listing option Tom Zanussi
2010-02-25 10:06   ` [tip:perf/core] perf/scripts: " tip-bot for Tom Zanussi
2010-01-27  8:27 ` [PATCH 02/12] perf trace/scripting: fix bug in Util.pm Tom Zanussi
2010-02-25 10:06   ` [tip:perf/core] perf/scripts: Fix " tip-bot for Tom Zanussi
2010-01-27  8:27 ` [PATCH 03/12] perf trace/scripting: move common code out of Perl-specific files Tom Zanussi
2010-02-25 10:07   ` [tip:perf/core] perf/scripts: Move " tip-bot for Tom Zanussi
2010-01-27  8:27 ` [PATCH 04/12] perf trace/scripting: move Perl scripting files to scripting-engines dir Tom Zanussi
2010-02-25 10:07   ` [tip:perf/core] perf/scripts: Move " tip-bot for Tom Zanussi
2010-01-27  8:27 ` [PATCH 05/12] perf trace/scripting: remove check-perf-trace from listed scripts Tom Zanussi
2010-02-22  1:51   ` Frederic Weisbecker
2010-02-25 10:07   ` [tip:perf/core] perf/scripts: Remove " tip-bot for Tom Zanussi
2010-02-25 10:07   ` [tip:perf/core] perf/scripts: Add Python scripting engine tip-bot for Tom Zanussi
2010-01-27  8:27 ` [PATCH 06/12] perf trace/scripting: add " Tom Zanussi
2010-02-22  2:27   ` Frederic Weisbecker
2010-02-22  7:12     ` Tom Zanussi
2010-02-25 10:08       ` tip-bot for Tom Zanussi [this message]
2010-01-27  8:27 ` [PATCH 07/12] perf trace/scripting: add syscall tracing scripts Tom Zanussi
2010-02-25 10:08   ` [tip:perf/core] perf/scripts: Add " tip-bot for Tom Zanussi
2010-01-27  8:27 ` [PATCH 08/12] perf: export some syscall metadata Tom Zanussi
2010-02-23 21:44   ` Frederic Weisbecker
2010-02-24  6:00     ` Tom Zanussi
2010-02-25  1:52       ` Frederic Weisbecker
2010-02-25  6:09         ` Tom Zanussi
2010-02-25  2:43       ` Frederic Weisbecker
2010-02-25  6:51         ` Tom Zanussi
2010-03-27  0:37           ` Frederic Weisbecker
2010-03-28  5:18             ` Tom Zanussi
2010-01-27  8:28 ` [PATCH 09/12] perf tools: save syscall map Tom Zanussi
2010-01-27  8:28 ` [PATCH 10/12] perf trace/scripting: make the syscall map available as a Python dict Tom Zanussi
2010-01-27  8:28 ` [PATCH 11/12] perf trace/scripting: make the syscall map available as a Perl hash Tom Zanussi
2010-01-27  8:28 ` [PATCH 12/12] perf trace/scripting: add perf-trace-python Documentation Tom Zanussi
2010-02-25  1:37   ` Frederic Weisbecker
2010-02-25  6:06     ` Tom Zanussi
2010-02-25 10:08   ` [tip:perf/core] perf/scripts: Add " tip-bot for Tom Zanussi
2010-02-19 21:37 ` [PATCH 00/12] perf trace: Python scripting support Frederic Weisbecker
2010-02-20 21:51   ` Tom Zanussi
2010-02-23 17:31     ` Frederic Weisbecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=tip-44ad9cd8f0893b9ae0ac729a7dc2a1ebcd170ac6@git.kernel.org \
    --to=tzanussi@gmail.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=hpa@zytor.com \
    --cc=k-keiichi@bx.jp.nec.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=paulus@samba.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.