diff options
author | hjk <hjk121@nokiamail.com> | 2013-09-13 11:20:55 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-13 19:37:51 +0200 |
commit | 63a382a93073a96457a41118753ae88547023cac (patch) | |
tree | c4b99d26e589e2f66ed67628c978c758eb525bb9 /tests/benchmarks/corelib | |
parent | 4c709fb3912ef65f83a5e604ffecc6a4a670a5cb (diff) |
Add a static QFileInfo::exists(fileName) function
This avoids dynamic construction of the private class. According to
the benchmark we go from 4,550 to 3,900 instruction reads per iteration.
(without change 32629676 the baseline is 5,600)
Change-Id: I5df925e30dbd49bdde87173e481820574ce5abe1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/benchmarks/corelib')
-rw-r--r-- | tests/benchmarks/corelib/io/qfileinfo/main.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/benchmarks/corelib/io/qfileinfo/main.cpp b/tests/benchmarks/corelib/io/qfileinfo/main.cpp index 2e63795978..594e5b7478 100644 --- a/tests/benchmarks/corelib/io/qfileinfo/main.cpp +++ b/tests/benchmarks/corelib/io/qfileinfo/main.cpp @@ -52,6 +52,8 @@ class qfileinfo : public QObject { Q_OBJECT private slots: + void existsTemporary(); + void existsStatic(); #if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) void symLinkTargetPerformanceLNK(); void symLinkTargetPerformanceMounpoint(); @@ -70,6 +72,18 @@ void qfileinfo::cleanupTestCase() { } +void qfileinfo::existsTemporary() +{ + QString appPath = QCoreApplication::applicationFilePath(); + QBENCHMARK { QFileInfo(appPath).exists(); } +} + +void qfileinfo::existsStatic() +{ + QString appPath = QCoreApplication::applicationFilePath(); + QBENCHMARK { QFileInfo::exists(appPath); } +} + #if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) void qfileinfo::symLinkTargetPerformanceLNK() { |