From 8d5f7d076aa0bf1612cbae7817d802cbb4c42d4a Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Thu, 26 Jan 2012 13:14:00 +0100 Subject: [PATCH] debugger: add 'inline benchmarking' for the plugin itself Change-Id: Iad7e197f7d7ee14156562c3de7960fe65c7e85fe Reviewed-by: hjk <qthjk@ovi.com> --- src/plugins/debugger/debuggerplugin.cpp | 36 ++++++++++++++++++++++++- src/plugins/debugger/debuggerplugin.h | 1 + 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index fb208649d39..e96c94b1381 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -134,8 +134,14 @@ #include <QtTest/QTest> #include <QtTest/QSignalSpy> #include <QtTest/QTestEventLoop> + +//#define WITH_BENCHMARK +#ifdef WITH_BENCHMARK +#include <valgrind/callgrind.h> #endif +#endif // WITH_TESTS + #include <climits> #define DEBUG_STATE 1 @@ -864,13 +870,14 @@ public slots: void testStateMachine2(); void testStateMachine3(); + void testBenchmark1(); + public: bool m_testSuccess; QList<TestCallBack> m_testCallbacks; #endif - public slots: void updateDebugActions(); @@ -3835,7 +3842,34 @@ void DebuggerPluginPrivate::testStateMachine3() testUnloadProject(); testFinished(); } + + +/////////////////////////////////////////////////////////////////////////// + +void DebuggerPlugin::testBenchmark() +{ + theDebuggerCore->testBenchmark1(); +} + +enum FakeEnum { FakeDebuggerCommonSettingsId }; + +void DebuggerPluginPrivate::testBenchmark1() +{ +#ifdef WITH_BENCHMARK + CALLGRIND_START_INSTRUMENTATION; + volatile Core::Id id1 = Core::Id(DEBUGGER_COMMON_SETTINGS_ID); + CALLGRIND_STOP_INSTRUMENTATION; + CALLGRIND_DUMP_STATS; + + CALLGRIND_START_INSTRUMENTATION; + volatile FakeEnum id2 = FakeDebuggerCommonSettingsId; + CALLGRIND_STOP_INSTRUMENTATION; + CALLGRIND_DUMP_STATS; #endif +} + + +#endif // if WITH_TESTS } // namespace Debugger diff --git a/src/plugins/debugger/debuggerplugin.h b/src/plugins/debugger/debuggerplugin.h index 0f960f4f0e3..3b476103e02 100644 --- a/src/plugins/debugger/debuggerplugin.h +++ b/src/plugins/debugger/debuggerplugin.h @@ -77,6 +77,7 @@ private: #ifdef WITH_TESTS private slots: + void testBenchmark(); void testPythonDumpers(); void testStateMachine(); #endif -- GitLab