summaryrefslogtreecommitdiffstats
path: root/src/testlib/qsignaldumper.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2019-01-03 22:57:28 +0100
committerLars Knoll <lars.knoll@qt.io>2019-02-08 21:55:16 +0000
commita65752c71bd25bbb66bf33d3a82f7901419c5d95 (patch)
treeb54c2092186f9066bed4ed1602ed2981d5122372 /src/testlib/qsignaldumper.cpp
parenta5a859e721e7a1d0c5a3ec6abe2db55d9144bb36 (diff)
Shave ~5% off from signal emission time
Refactor activate(), so that we eliminate almost all checks for signal hooks in the common case. Here are the benchmark numbers showing the improvement for 100M signal emissions without change with change string based connect: 3836 3693 pointer based connect: 4571 4510 not connected: 479 433 disconnected: 559 522 Change-Id: I394e6ea5d5bc96e298e8cc0c763eed78c8041876 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/testlib/qsignaldumper.cpp')
-rw-r--r--src/testlib/qsignaldumper.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/testlib/qsignaldumper.cpp b/src/testlib/qsignaldumper.cpp
index 8305c5d424..b3360b4e6c 100644
--- a/src/testlib/qsignaldumper.cpp
+++ b/src/testlib/qsignaldumper.cpp
@@ -170,13 +170,12 @@ void QSignalDumper::startDump()
{
static QSignalSpyCallbackSet set = { QTest::qSignalDumperCallback,
QTest::qSignalDumperCallbackSlot, QTest::qSignalDumperCallbackEndSignal, 0 };
- qt_register_signal_spy_callbacks(set);
+ qt_register_signal_spy_callbacks(&set);
}
void QSignalDumper::endDump()
{
- static QSignalSpyCallbackSet nset = { 0, 0, 0 ,0 };
- qt_register_signal_spy_callbacks(nset);
+ qt_register_signal_spy_callbacks(nullptr);
}
void QSignalDumper::ignoreClass(const QByteArray &klass)