aboutsummaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
authorPeter Penz <ppenz@openismus.com>2010-08-12 13:21:30 +0200
committerMiroslav Safr <miroslav.safr@tieto.com>2010-08-16 17:38:00 +0300
commit36b1a52ab0cbb4c52b93b1991aca6a9964222e04 (patch)
tree548f80ec43c4fd8f8c9bfa6a726228dd0606d245 /benchmarks
parentda3b124d6ac3e2ee38d1df983a307d92d15d74ad (diff)
Changes: Provide more detailed benchmarks for constructing a MApplication instance
RevBy: Armin Berres Details: The current benchmark for constructing a MApplication is not sufficient to know, on which sub parts the time is spend. The documentation has been extended to point to the corresponding benchmarks and those benchmarks have been extended/improved.
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/benchmarks.pro2
-rw-r--r--benchmarks/pt_mapplication/pt_mapplication.cpp39
-rw-r--r--benchmarks/pt_mapplication/pt_mapplication.h17
-rw-r--r--benchmarks/pt_mcomponentcache/pt_mcomponentcache.cpp51
-rw-r--r--benchmarks/pt_mcomponentcache/pt_mcomponentcache.h40
-rw-r--r--benchmarks/pt_mcomponentcache/pt_mcomponentcache.pro7
-rw-r--r--benchmarks/pt_mcomponentdata/pt_mcomponentdata.cpp23
-rw-r--r--benchmarks/pt_mcomponentdata/pt_mcomponentdata.h14
-rw-r--r--benchmarks/pt_mstylesheet/pt_mstylesheet.cpp108
-rw-r--r--benchmarks/pt_mstylesheet/pt_mstylesheet.h56
-rw-r--r--benchmarks/pt_mstylesheet/pt_mstylesheet.pro14
-rw-r--r--benchmarks/pt_mtheme/pt_mtheme.cpp14
-rw-r--r--benchmarks/pt_mtheme/pt_mtheme.h14
-rw-r--r--benchmarks/pt_mtheme/pt_mtheme.pro1
-rw-r--r--benchmarks/pt_qapplication/pt_qapplication.cpp6
-rw-r--r--benchmarks/pt_qapplication/pt_qapplication.h6
16 files changed, 360 insertions, 52 deletions
diff --git a/benchmarks/benchmarks.pro b/benchmarks/benchmarks.pro
index 740a7ade..2cdaea19 100644
--- a/benchmarks/benchmarks.pro
+++ b/benchmarks/benchmarks.pro
@@ -12,6 +12,7 @@ SUBDIRS = \
pt_mapplication \
pt_mbutton \
pt_mcalendar \
+ pt_mcomponentcache \
pt_mcomponentdata \
pt_mimagewidget \
pt_mmenu \
@@ -21,6 +22,7 @@ SUBDIRS = \
pt_qapplication \
pt_mlabel \
pt_mslider \
+ pt_mstylesheet \
pt_mtheme \
pt_mtoolbar \
pt_widgetsgallery \
diff --git a/benchmarks/pt_mapplication/pt_mapplication.cpp b/benchmarks/pt_mapplication/pt_mapplication.cpp
index 3fcda314..21467260 100644
--- a/benchmarks/pt_mapplication/pt_mapplication.cpp
+++ b/benchmarks/pt_mapplication/pt_mapplication.cpp
@@ -25,6 +25,11 @@
#include "pt_mapplication.h"
+namespace {
+ int argc = 1;
+ char appName[] = "./pt_mapplication";
+ char *argv[] = { appName };
+}
/*
Test how long it takes to launch an application which is quitting immediately.
@@ -34,35 +39,27 @@ void Pt_MApplication::processCreation()
executeSelf(QLatin1String("--exit-immediately"));
}
-void Pt_MApplication::processCreationAndCtor()
+void Pt_MApplication::processCreationAndConstructor()
{
executeSelf(QLatin1String("--exit-after-qapp"));
}
-void Pt_MApplication::ctor()
+void Pt_MApplication::uncachedConstructor()
{
- MApplication *a = NULL;
- MBENCHMARK_ONCE(
- int fakeArgc = 1;
- char *fakeArgv[fakeArgc];
- char appName[] = "./pt_mapplication";
- fakeArgv[0] = appName;
- a = new MApplication(fakeArgc, fakeArgv);
+ MApplication *app = 0;
+ MBENCHMARK_ONCE (
+ app = new MApplication(argc, argv);
)
- delete a;
+ delete app;
}
-void Pt_MApplication::ctor2()
+void Pt_MApplication::cachedConstructor()
{
- MApplication *a = NULL;
- MBENCHMARK_ONCE(
- int fakeArgc = 1;
- char *fakeArgv[fakeArgc];
- char appName[] = "./pt_mapplication2";
- fakeArgv[0] = appName;
- a = new MApplication(fakeArgc, fakeArgv);
+ MApplication *app = 0;
+ MBENCHMARK_ONCE (
+ app = new MApplication(argc, argv);
)
- delete a;
+ delete app;
}
void Pt_MApplication::executeSelf(const QLatin1String &parameter)
@@ -71,13 +68,13 @@ void Pt_MApplication::executeSelf(const QLatin1String &parameter)
const QString program = "./pt_mapplication";
const QStringList arguments = QStringList() << QLatin1String(parameter);
- QBENCHMARK {
+ MBENCHMARK_ONCE (
proc.start(program, arguments);
QVERIFY(proc.waitForStarted());
QVERIFY(proc.waitForFinished());
QCOMPARE(proc.exitStatus(), QProcess::NormalExit);
QCOMPARE(proc.exitCode(), 0);
- }
+ )
}
int main(int argc, char **argv)
diff --git a/benchmarks/pt_mapplication/pt_mapplication.h b/benchmarks/pt_mapplication/pt_mapplication.h
index ba6f3ec3..72b92e43 100644
--- a/benchmarks/pt_mapplication/pt_mapplication.h
+++ b/benchmarks/pt_mapplication/pt_mapplication.h
@@ -23,8 +23,12 @@
#include <QObject>
/**
- * Test performance oif the MApplication constructor.
+ * Test performance of the MApplication constructor.
* The constructor is created in process and as part of a newly created process.
+ *
+ * The most timeconsuming parts of the constructor can be verified by the following tests:
+ * - pt_qapplication
+ * - pt_mcomponentdata
*/
class Pt_MApplication : public QObject
{
@@ -41,22 +45,19 @@ private slots:
* This test creates a new process and thus includes process creation overhead.
* Callgrind results are meaningless since the child process is not traced.
*/
- void processCreationAndCtor();
+ void processCreationAndConstructor();
/**
* Test the performance of the mapplication constructor.
*/
- void ctor();
-
-private:
+ void uncachedConstructor();
/**
* Execute the constructor a second time to evaluate caching possibilities.
- * Disabled for now, because the MApplication cannot be created twice in
- * the same application. Will be reenabled when bug on Qt's side is fixed.
*/
- void ctor2();
+ void cachedConstructor();
+private:
/**
* Executes the current programm with a given parameter.
*/
diff --git a/benchmarks/pt_mcomponentcache/pt_mcomponentcache.cpp b/benchmarks/pt_mcomponentcache/pt_mcomponentcache.cpp
new file mode 100644
index 00000000..b86c4e6f
--- /dev/null
+++ b/benchmarks/pt_mcomponentcache/pt_mcomponentcache.cpp
@@ -0,0 +1,51 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "pt_mcomponentcache.h"
+
+#include <mbenchmark.h>
+#include <MApplication>
+#include <MComponentCache>
+
+void Pt_MComponentCache::reinit()
+{
+ int argc = 1;
+ char appName[] = "./pt_mcomponentcache";
+ char *argv[] = { appName };
+
+ // QBENCHMARK_ONCE invokes reinit() two times
+ // (see <http://bugreports.qt.nokia.com/browse/QTBUG-12689>),
+ // so firstRun is used to workaround this problem.
+ static bool firstRun = true;
+ if (firstRun) {
+ firstRun = false;
+ } else {
+ // Trigger creating an internal MApplication instance
+ MComponentCache::populateForMApplication();
+ }
+
+ MApplication *app = 0;
+ MBENCHMARK_ONCE(
+ // Trigger a MComponentData::reinit()
+ app = MComponentCache::mApplication(argc, argv);
+ )
+ delete app;
+}
+
+QTEST_APPLESS_MAIN(Pt_MComponentCache)
diff --git a/benchmarks/pt_mcomponentcache/pt_mcomponentcache.h b/benchmarks/pt_mcomponentcache/pt_mcomponentcache.h
new file mode 100644
index 00000000..8cf8b629
--- /dev/null
+++ b/benchmarks/pt_mcomponentcache/pt_mcomponentcache.h
@@ -0,0 +1,40 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef PT_MCOMPONENTCACHE_H
+#define PT_MCOMPONENTCACHE_H
+
+#include <QtTest/QtTest>
+#include <QObject>
+
+/**
+ * Benchmark for MComponentCache, which uses MComponentData::reinit()
+ * to reinitialize the component data. MComponentData::reinit() cannot
+ * be benchmarked within pt_mcomponentdata, as there is an internal
+ * dependency to MComponentCache.
+ */
+class Pt_MComponentCache : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void reinit();
+};
+
+#endif
diff --git a/benchmarks/pt_mcomponentcache/pt_mcomponentcache.pro b/benchmarks/pt_mcomponentcache/pt_mcomponentcache.pro
new file mode 100644
index 00000000..07b4f32f
--- /dev/null
+++ b/benchmarks/pt_mcomponentcache/pt_mcomponentcache.pro
@@ -0,0 +1,7 @@
+include(../common_top.pri)
+INCLUDEPATH += $$MSRCDIR/include
+DEPENDPATH += $$INCLUDEPATH
+TARGET = pt_mcomponentcache
+
+SOURCES += pt_mcomponentcache.cpp
+HEADERS += pt_mcomponentcache.h
diff --git a/benchmarks/pt_mcomponentdata/pt_mcomponentdata.cpp b/benchmarks/pt_mcomponentdata/pt_mcomponentdata.cpp
index 0e19972b..48aae275 100644
--- a/benchmarks/pt_mcomponentdata/pt_mcomponentdata.cpp
+++ b/benchmarks/pt_mcomponentdata/pt_mcomponentdata.cpp
@@ -22,18 +22,29 @@
#include <mbenchmark.h>
#include <MComponentData>
#include <MApplication>
+#include <MApplicationService>
+#include <MComponentCache>
+namespace {
+ int argc = 1;
+ char appName[] = "./pt_mcomponentdata";
+ char *argv[] = { appName };
+}
-void Pt_MComponentData::constructor()
+void Pt_MComponentData::uncachedConstructor()
{
- int argc = 1;
- char *argv[argc];
- char appName[] = "./widgetsgallery";
- argv[0] = appName;
+ MComponentData *componentData = 0;
+ MBENCHMARK_ONCE(
+ componentData = new MComponentData(argc, argv, argv[0]);
+ )
+ delete componentData;
+}
+void Pt_MComponentData::cachedConstructor()
+{
MComponentData *componentData = 0;
MBENCHMARK_ONCE(
- componentData = new MComponentData(argc, argv, appName);
+ componentData = new MComponentData(argc, argv, argv[0]);
)
delete componentData;
}
diff --git a/benchmarks/pt_mcomponentdata/pt_mcomponentdata.h b/benchmarks/pt_mcomponentdata/pt_mcomponentdata.h
index 9447d308..586e1e68 100644
--- a/benchmarks/pt_mcomponentdata/pt_mcomponentdata.h
+++ b/benchmarks/pt_mcomponentdata/pt_mcomponentdata.h
@@ -17,26 +17,28 @@
**
****************************************************************************/
-#ifndef PT_MComponentData_H
-#define PT_MComponentData_H
+#ifndef PT_MCOMPONENTDATA_H
+#define PT_MCOMPONENTDATA_H
#include <QtTest/QtTest>
#include <QObject>
-class MComponentData;
-class MWidgetView;
-
/**
* MApplication constructor spends most of its runtime creating a
* MComponentData object. This test benchmarks the MComponentData
* creation.
+ *
+ * The MComponentData constructor spends most of its runtime by
+ * creating a MTheme instance. Check pt_mtheme for getting further
+ * details.
*/
class Pt_MComponentData : public QObject
{
Q_OBJECT
private slots:
- void constructor();
+ void uncachedConstructor();
+ void cachedConstructor();
};
#endif
diff --git a/benchmarks/pt_mstylesheet/pt_mstylesheet.cpp b/benchmarks/pt_mstylesheet/pt_mstylesheet.cpp
new file mode 100644
index 00000000..f9550c88
--- /dev/null
+++ b/benchmarks/pt_mstylesheet/pt_mstylesheet.cpp
@@ -0,0 +1,108 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "pt_mstylesheet.h"
+
+#include <mbenchmark.h>
+#include <MComponentData>
+#include <mlogicalvalues.h>
+#include <mstylesheet.h>
+
+#include <QtTest/QtTest>
+
+void Pt_MStyleSheet::constructor()
+{
+ MStyleSheet *styleSheet = 0;
+ MBENCHMARK_ONCE (
+ styleSheet = new MStyleSheet();
+ )
+ delete styleSheet;
+}
+
+void Pt_MStyleSheet::loadThemeStyles()
+{
+ QFETCH(int, repeatCount);
+
+ MLogicalValues logicalValues;
+ initLogicalValues(logicalValues);
+
+ QStringList files;
+ files.append("/usr/share/themes/base/meegotouch/libmeegotouchextensions/style/libmeegotouchextensions.css");
+ files.append("/usr/share/themes/base/meegotouch/libmeegotouchcore/style/libmeegotouchcore.css");
+ files.append("/usr/share/themes/base/meegotouch/libmeegotouchviews/style/libmeegotouchviews.css");
+ files.append("/usr/share/themes/base/meegotouch/libmeegotouchtheme-nokia-views/style/libmeegotouchtheme-nokia-views.css");
+
+ MBENCHMARK_ONCE (
+ for (int i = 0; i < repeatCount; ++i) {
+ foreach (const QString &file, files) {
+ MStyleSheet styleSheet(&logicalValues);
+ styleSheet.load(file);
+ }
+ }
+ )
+}
+
+void Pt_MStyleSheet::loadThemeStyles_data()
+{
+ QTest::addColumn<int>("repeatCount");
+ QTest::newRow("Read once") << 1;
+ QTest::newRow("Read 2 times") << 2;
+ QTest::newRow("Read 5 times") << 5;
+ QTest::newRow("Read 10 times") << 10;
+}
+
+void Pt_MStyleSheet::loadCoreStyles()
+{
+ QFETCH(QString, style);
+ QFETCH(int, repeatCount);
+
+ MLogicalValues logicalValues;
+ initLogicalValues(logicalValues);
+
+ MBENCHMARK_ONCE (
+ for (int i = 0; i < repeatCount; ++i) {
+ MStyleSheet styleSheet(&logicalValues);
+ styleSheet.load("/usr/share/themes/base/meegotouch/libmeegotouchcore/style/" + style);
+ }
+ )
+}
+
+void Pt_MStyleSheet::loadCoreStyles_data()
+{
+ QTest::addColumn<QString>("style");
+ QTest::addColumn<int>("repeatCount");
+
+ QTest::newRow("commonlayouts (read once)") << "commonlayouts.css" << 1;
+ QTest::newRow("commonlayouts (read twice)") << "commonlayouts.css" << 2;
+ QTest::newRow("mwidgetstyle (read once)") << "mwidgetstyle.css" << 1;
+ QTest::newRow("mwidgetstyles (read twice)") << "mwidgetstyle.css" << 2;
+ QTest::newRow("deprecated (read once)") << "deprecated.css" << 1;
+ QTest::newRow("deprecated (read twice)") << "deprecated.css" << 2;
+}
+
+void Pt_MStyleSheet::initLogicalValues(MLogicalValues &values)
+{
+ QStringList themeInheritance;
+ themeInheritance.append("/usr/share/themes/blanco/");
+ themeInheritance.append("/usr/share/themes/base/");
+
+ values.load(themeInheritance, QString());
+}
+
+QTEST_MAIN(Pt_MStyleSheet)
diff --git a/benchmarks/pt_mstylesheet/pt_mstylesheet.h b/benchmarks/pt_mstylesheet/pt_mstylesheet.h
new file mode 100644
index 00000000..1417ab36
--- /dev/null
+++ b/benchmarks/pt_mstylesheet/pt_mstylesheet.h
@@ -0,0 +1,56 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef PT_MSTYLESHEET_H
+#define PT_MSTYLESHEET_H
+
+#include <QObject>
+
+class MLogicalValues;
+
+/**
+ * This test benchmarks the MStyleSheet loading performance.
+ */
+class Pt_MStyleSheet : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void constructor();
+
+ /**
+ * Benchmark the loading of theme styles that are typically loaded
+ * when starting an application.
+ */
+ void loadThemeStyles();
+ void loadThemeStyles_data();
+
+ /**
+ * Some core styles are loaded multiple times during startup. Benchmark
+ * whether multiple loading results in a linear increasing of the
+ * startup time.
+ */
+ void loadCoreStyles();
+ void loadCoreStyles_data();
+
+private:
+ void initLogicalValues(MLogicalValues &values);
+};
+
+#endif
diff --git a/benchmarks/pt_mstylesheet/pt_mstylesheet.pro b/benchmarks/pt_mstylesheet/pt_mstylesheet.pro
new file mode 100644
index 00000000..1755cd7f
--- /dev/null
+++ b/benchmarks/pt_mstylesheet/pt_mstylesheet.pro
@@ -0,0 +1,14 @@
+include(../common_top.pri)
+INCLUDEPATH += $$MSRCDIR/include
+INCLUDEPATH += $$MSRCDIR/corelib/theme
+INCLUDEPATH += $$MSRCDIR/corelib/style
+DEPENDPATH += $$INCLUDEPATH
+TARGET = pt_mstylesheet
+
+SOURCES += pt_mstylesheet.cpp \
+ mlogicalvalues.cpp \
+ mstylesheetattribute.cpp \
+
+HEADERS += pt_mstylesheet.h \
+ mlogicalvalues.h \
+ mstylesheetattribute.h \
diff --git a/benchmarks/pt_mtheme/pt_mtheme.cpp b/benchmarks/pt_mtheme/pt_mtheme.cpp
index 596e6273..a6d6b965 100644
--- a/benchmarks/pt_mtheme/pt_mtheme.cpp
+++ b/benchmarks/pt_mtheme/pt_mtheme.cpp
@@ -20,14 +20,22 @@
#include "pt_mtheme.h"
#include <mbenchmark.h>
-#include <MComponentData>
#include <MTheme>
#include <QtTest/QtTest>
-void Pt_MTheme::constructor()
+void Pt_MTheme::uncachedConstructor()
{
- MTheme *theme = NULL;
+ MTheme *theme = 0;
+ MBENCHMARK_ONCE (
+ theme = new MTheme("widgetsgallery");
+ )
+ delete theme;
+}
+
+void Pt_MTheme::cachedConstructor()
+{
+ MTheme *theme = 0;
MBENCHMARK_ONCE (
theme = new MTheme("widgetsgallery");
)
diff --git a/benchmarks/pt_mtheme/pt_mtheme.h b/benchmarks/pt_mtheme/pt_mtheme.h
index cb7783f5..7049ba6c 100644
--- a/benchmarks/pt_mtheme/pt_mtheme.h
+++ b/benchmarks/pt_mtheme/pt_mtheme.h
@@ -26,14 +26,24 @@ class MComponentData;
class MWidgetView;
/**
- * This test benchmarks the MTheme creation.
+ * This test benchmarks the MTheme creation. Most of the time when creating
+ * a MTheme instance is spend with loading stylesheets. Check pt_mstylesheet
+ * for getting more details.
*/
class Pt_MTheme : public QObject
{
Q_OBJECT
private slots:
- void constructor();
+ /**
+ * Test the performance of the MTheme constructor.
+ */
+ void uncachedConstructor();
+
+ /**
+ * Execute the constructor a second time to evaluate caching possibilities.
+ */
+ void cachedConstructor();
};
#endif
diff --git a/benchmarks/pt_mtheme/pt_mtheme.pro b/benchmarks/pt_mtheme/pt_mtheme.pro
index ba8d9cd3..c57470cf 100644
--- a/benchmarks/pt_mtheme/pt_mtheme.pro
+++ b/benchmarks/pt_mtheme/pt_mtheme.pro
@@ -4,4 +4,5 @@ DEPENDPATH += $$INCLUDEPATH
TARGET = pt_mtheme
SOURCES += pt_mtheme.cpp
+
HEADERS += pt_mtheme.h
diff --git a/benchmarks/pt_qapplication/pt_qapplication.cpp b/benchmarks/pt_qapplication/pt_qapplication.cpp
index b281ce1f..60d0dd3d 100644
--- a/benchmarks/pt_qapplication/pt_qapplication.cpp
+++ b/benchmarks/pt_qapplication/pt_qapplication.cpp
@@ -32,12 +32,12 @@ void Pt_QApplication::processCreation()
executeSelf(QLatin1String("--exit-immediately"));
}
-void Pt_QApplication::processCreationAndCtor()
+void Pt_QApplication::processCreationAndConstructor()
{
executeSelf(QLatin1String("--exit-after-qapp"));
}
-void Pt_QApplication::ctor()
+void Pt_QApplication::uncachedConstructor()
{
QApplication *a(NULL);
MBENCHMARK_ONCE (
@@ -50,7 +50,7 @@ void Pt_QApplication::ctor()
delete a;
}
-void Pt_QApplication::ctor2()
+void Pt_QApplication::cachedConstructor()
{
QApplication *a(NULL);
MBENCHMARK_ONCE (
diff --git a/benchmarks/pt_qapplication/pt_qapplication.h b/benchmarks/pt_qapplication/pt_qapplication.h
index c87c4581..e062c204 100644
--- a/benchmarks/pt_qapplication/pt_qapplication.h
+++ b/benchmarks/pt_qapplication/pt_qapplication.h
@@ -41,17 +41,17 @@ private slots:
* This test creates a new process and thus includes process creation overhead.
* Callgrind results are meaningless since the child process is not traced.
*/
- void processCreationAndCtor();
+ void processCreationAndConstructor();
/**
* Test the performance of the qapplication constructor.
*/
- void ctor();
+ void uncachedConstructor();
/**
* Execute the constructor a second time to evaluate caching possibilities.
*/
- void ctor2();
+ void cachedConstructor();
private:
/**