mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-05 00:35:27 +08:00
qt 6.5.1 original
This commit is contained in:
14
tests/benchmarks/corelib/tools/qringbuffer/CMakeLists.txt
Normal file
14
tests/benchmarks/corelib/tools/qringbuffer/CMakeLists.txt
Normal file
@ -0,0 +1,14 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#####################################################################
|
||||
## tst_bench_qringbuffer Binary:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_add_benchmark(tst_bench_qringbuffer
|
||||
SOURCES
|
||||
tst_bench_qringbuffer.cpp
|
||||
LIBRARIES
|
||||
Qt::CorePrivate
|
||||
Qt::Test
|
||||
)
|
@ -0,0 +1,46 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
#include <private/qringbuffer_p.h>
|
||||
#include <QByteArray>
|
||||
|
||||
#include <qtest.h>
|
||||
|
||||
class tst_QRingBuffer : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void reserveAndRead();
|
||||
void free();
|
||||
};
|
||||
|
||||
void tst_QRingBuffer::reserveAndRead()
|
||||
{
|
||||
QRingBuffer ringBuffer;
|
||||
QBENCHMARK {
|
||||
for (qint64 i = 1; i < 256; ++i)
|
||||
ringBuffer.reserve(i);
|
||||
|
||||
for (qint64 i = 1; i < 256; ++i)
|
||||
ringBuffer.read(0, i);
|
||||
}
|
||||
}
|
||||
|
||||
void tst_QRingBuffer::free()
|
||||
{
|
||||
QRingBuffer ringBuffer;
|
||||
QBENCHMARK {
|
||||
ringBuffer.reserve(4096);
|
||||
ringBuffer.reserve(2048);
|
||||
ringBuffer.append(QByteArray("01234", 5));
|
||||
|
||||
ringBuffer.free(1);
|
||||
ringBuffer.free(4096);
|
||||
ringBuffer.free(48);
|
||||
ringBuffer.free(2000);
|
||||
}
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_QRingBuffer)
|
||||
|
||||
#include "tst_bench_qringbuffer.moc"
|
Reference in New Issue
Block a user