mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-04 16:25:27 +08:00
qt 6.5.1 original
This commit is contained in:
13
tests/benchmarks/corelib/thread/qthreadpool/CMakeLists.txt
Normal file
13
tests/benchmarks/corelib/thread/qthreadpool/CMakeLists.txt
Normal file
@ -0,0 +1,13 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#####################################################################
|
||||
## tst_bench_qthreadpool Binary:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_add_benchmark(tst_bench_qthreadpool
|
||||
SOURCES
|
||||
tst_bench_qthreadpool.cpp
|
||||
LIBRARIES
|
||||
Qt::Test
|
||||
)
|
@ -0,0 +1,55 @@
|
||||
// Copyright (C) 2013 David Faure <david.faure@kdab.com>
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
#include <qtest.h>
|
||||
#include <QtCore>
|
||||
|
||||
class tst_QThreadPool : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
tst_QThreadPool();
|
||||
~tst_QThreadPool();
|
||||
|
||||
private slots:
|
||||
void startRunnables();
|
||||
void activeThreadCount();
|
||||
};
|
||||
|
||||
tst_QThreadPool::tst_QThreadPool()
|
||||
{
|
||||
}
|
||||
|
||||
tst_QThreadPool::~tst_QThreadPool()
|
||||
{
|
||||
}
|
||||
|
||||
class NoOpRunnable : public QRunnable
|
||||
{
|
||||
public:
|
||||
void run() override {
|
||||
}
|
||||
};
|
||||
|
||||
void tst_QThreadPool::startRunnables()
|
||||
{
|
||||
QThreadPool threadPool;
|
||||
threadPool.setMaxThreadCount(10);
|
||||
QBENCHMARK {
|
||||
threadPool.start(new NoOpRunnable());
|
||||
}
|
||||
}
|
||||
|
||||
void tst_QThreadPool::activeThreadCount()
|
||||
{
|
||||
QThreadPool threadPool;
|
||||
threadPool.start(new NoOpRunnable());
|
||||
QBENCHMARK {
|
||||
QVERIFY(threadPool.activeThreadCount() <= 10);
|
||||
}
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_QThreadPool)
|
||||
|
||||
#include "tst_bench_qthreadpool.moc"
|
Reference in New Issue
Block a user