summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/corelib/kernel/qobject
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@trolltech.com>2010-03-30 16:01:49 (GMT)
committerOlivier Goffart <olivier.goffart@nokia.com>2010-04-20 13:48:56 (GMT)
commitc90b3ec191430e8b6bf5526124919df0bd0cf518 (patch)
tree4f97b7636cba77ecc68d0a7c9bed3fdebce27404 /tests/benchmarks/corelib/kernel/qobject
parentdab8d4c77795ed195f23e427945267e9e9a4df20 (diff)
downloadQt-c90b3ec191430e8b6bf5526124919df0bd0cf518.zip
Qt-c90b3ec191430e8b6bf5526124919df0bd0cf518.tar.gz
Qt-c90b3ec191430e8b6bf5526124919df0bd0cf518.tar.bz2
Benchmark emission of signal connected to nothing
Diffstat (limited to 'tests/benchmarks/corelib/kernel/qobject')
-rw-r--r--tests/benchmarks/corelib/kernel/qobject/main.cpp9
-rw-r--r--tests/benchmarks/corelib/kernel/qobject/object.cpp3
-rw-r--r--tests/benchmarks/corelib/kernel/qobject/object.h1
3 files changed, 11 insertions, 2 deletions
diff --git a/tests/benchmarks/corelib/kernel/qobject/main.cpp b/tests/benchmarks/corelib/kernel/qobject/main.cpp
index 7f24ebd..8d05fcd 100644
--- a/tests/benchmarks/corelib/kernel/qobject/main.cpp
+++ b/tests/benchmarks/corelib/kernel/qobject/main.cpp
@@ -69,6 +69,7 @@ void QObjectBenchmark::signal_slot_benchmark_data()
QTest::newRow("simple function") << 0;
QTest::newRow("single signal/slot") << 1;
QTest::newRow("multi signal/slot") << 2;
+ QTest::newRow("unconnected signal") << 3;
}
void QObjectBenchmark::signal_slot_benchmark()
@@ -110,9 +111,13 @@ void QObjectBenchmark::signal_slot_benchmark()
QBENCHMARK {
singleObject.emitSignal0();
}
- } else {
+ } else if (type == 2) {
QBENCHMARK {
- multiObject.emitSignal0();
+ multiObject.emitSignal0();
+ }
+ } else if (type == 3) {
+ QBENCHMARK {
+ singleObject.emitSignal1();
}
}
}
diff --git a/tests/benchmarks/corelib/kernel/qobject/object.cpp b/tests/benchmarks/corelib/kernel/qobject/object.cpp
index d775a32..3920e97 100644
--- a/tests/benchmarks/corelib/kernel/qobject/object.cpp
+++ b/tests/benchmarks/corelib/kernel/qobject/object.cpp
@@ -42,6 +42,9 @@
void Object::emitSignal0()
{ emit signal0(); }
+void Object::emitSignal1()
+{ emit signal1(); }
+
void Object::slot0()
{ }
diff --git a/tests/benchmarks/corelib/kernel/qobject/object.h b/tests/benchmarks/corelib/kernel/qobject/object.h
index 7e4933f..8f8fbe9 100644
--- a/tests/benchmarks/corelib/kernel/qobject/object.h
+++ b/tests/benchmarks/corelib/kernel/qobject/object.h
@@ -48,6 +48,7 @@ class Object : public QObject
Q_OBJECT
public:
void emitSignal0();
+ void emitSignal1();
signals:
void signal0();
void signal1();