summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/corelib/io/qdir/10000/tst_bench_qdir_10000.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/benchmarks/corelib/io/qdir/10000/tst_bench_qdir_10000.cpp')
-rw-r--r--tests/benchmarks/corelib/io/qdir/10000/tst_bench_qdir_10000.cpp96
1 files changed, 36 insertions, 60 deletions
diff --git a/tests/benchmarks/corelib/io/qdir/10000/tst_bench_qdir_10000.cpp b/tests/benchmarks/corelib/io/qdir/10000/tst_bench_qdir_10000.cpp
index b22c15b07f..a53742b536 100644
--- a/tests/benchmarks/corelib/io/qdir/10000/tst_bench_qdir_10000.cpp
+++ b/tests/benchmarks/corelib/io/qdir/10000/tst_bench_qdir_10000.cpp
@@ -1,30 +1,7 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
#include <QTest>
#include <QDirIterator>
@@ -57,24 +34,14 @@ public slots:
}
void cleanupTestCase()
{
- {
- QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
- testdir.setSorting(QDir::Unsorted);
- testdir.setFilter(QDir::AllEntries | QDir::System | QDir::Hidden);
- foreach (const QString &filename, testdir.entryList()) {
- testdir.remove(filename);
- }
- }
- const QDir temp = QDir(QDir::tempPath());
- temp.rmdir(QLatin1String("test_speed"));
+ QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
+ QVERIFY(testdir.removeRecursively());
}
private slots:
- void baseline() {}
-
void sizeSpeed()
{
- QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
QBENCHMARK {
+ QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
QFileInfoList fileInfoList = testdir.entryInfoList(QDir::Files, QDir::Unsorted);
foreach (const QFileInfo &fileInfo, fileInfoList) {
fileInfo.isDir();
@@ -84,8 +51,8 @@ private slots:
}
void sizeSpeedIterator()
{
- QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
QBENCHMARK {
+ QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
QDirIterator dit(testdir.path(), QDir::Files);
while (dit.hasNext()) {
const auto fi = dit.nextFileInfo();
@@ -97,8 +64,8 @@ private slots:
void sizeSpeedWithoutFilter()
{
- QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
QBENCHMARK {
+ QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
QFileInfoList fileInfoList = testdir.entryInfoList(QDir::NoFilter, QDir::Unsorted);
foreach (const QFileInfo &fileInfo, fileInfoList) {
fileInfo.size();
@@ -107,8 +74,8 @@ private slots:
}
void sizeSpeedWithoutFilterIterator()
{
- QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
QBENCHMARK {
+ QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
QDirIterator dit(testdir.path());
while (dit.hasNext()) {
const auto fi = dit.nextFileInfo();
@@ -120,9 +87,9 @@ private slots:
void sizeSpeedWithoutFileInfoList()
{
- QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
- testdir.setSorting(QDir::Unsorted);
QBENCHMARK {
+ QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
+ testdir.setSorting(QDir::Unsorted);
QStringList fileList = testdir.entryList(QDir::NoFilter, QDir::Unsorted);
foreach (const QString &filename, fileList) {
QFileInfo fileInfo(filename);
@@ -133,10 +100,10 @@ private slots:
void iDontWantAnyStat()
{
- QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
- testdir.setSorting(QDir::Unsorted);
- testdir.setFilter(QDir::AllEntries | QDir::System | QDir::Hidden);
QBENCHMARK {
+ QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
+ testdir.setSorting(QDir::Unsorted);
+ testdir.setFilter(QDir::AllEntries | QDir::System | QDir::Hidden);
QStringList fileList = testdir.entryList(QDir::NoFilter, QDir::Unsorted);
foreach (const QString &filename, fileList) {
Q_UNUSED(filename);
@@ -155,10 +122,10 @@ private slots:
void sorted_byTime()
{
- QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
- testdir.setSorting(QDir::Time);
- testdir.setFilter(QDir::AllEntries | QDir::System | QDir::Hidden);
QBENCHMARK {
+ QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
+ testdir.setSorting(QDir::Time);
+ testdir.setFilter(QDir::AllEntries | QDir::System | QDir::Hidden);
QStringList fileList = testdir.entryList(QDir::NoFilter, QDir::Time);
foreach (const QString &filename, fileList) {
Q_UNUSED(filename);
@@ -166,6 +133,15 @@ private slots:
}
}
+ void sorted_byName()
+ {
+ QBENCHMARK {
+ QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
+ testdir.setFilter(QDir::AllEntries | QDir::System | QDir::Hidden);
+ [[maybe_unused]] auto r = testdir.entryInfoList(QDir::NoFilter, QDir::Name);
+ }
+ }
+
void sizeSpeedWithoutFilterLowLevel()
{
QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
@@ -175,22 +151,22 @@ private slots:
wcscpy(appendedPath, dirpath);
wcscat(appendedPath, L"\\*");
- WIN32_FIND_DATA fd;
- HANDLE hSearch = FindFirstFileW(appendedPath, &fd);
- QVERIFY(hSearch != INVALID_HANDLE_VALUE);
-
QBENCHMARK {
+ WIN32_FIND_DATA fd;
+ HANDLE hSearch = FindFirstFileW(appendedPath, &fd);
+ QVERIFY(hSearch != INVALID_HANDLE_VALUE);
+
do {
} while (FindNextFile(hSearch, &fd));
+ FindClose(hSearch);
}
- FindClose(hSearch);
#else
- DIR *dir = opendir(qPrintable(testdir.absolutePath()));
- QVERIFY(dir);
-
QVERIFY(!chdir(qPrintable(testdir.absolutePath())));
QBENCHMARK {
+ DIR *dir = opendir(qPrintable(testdir.absolutePath()));
+ QVERIFY(dir);
+
struct dirent *item = readdir(dir);
while (item) {
char *fileName = item->d_name;
@@ -200,8 +176,8 @@ private slots:
item = readdir(dir);
}
+ closedir(dir);
}
- closedir(dir);
#endif
}
};