From a4c27b82f6f9f92216c77b97923cae668a83c063 Mon Sep 17 00:00:00 2001 From: Ioannis Christoforidis Date: Wed, 4 Dec 2019 17:24:20 +0100 Subject: divide console output from gui output and also show updates more fluently --- src/copythread.cpp | 35 ++++++++++++++++++++++++++++++----- src/speedcheck.cpp | 6 +++--- src/speedcheck.h | 1 + 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/copythread.cpp b/src/copythread.cpp index 775de7f..69b5950 100644 --- a/src/copythread.cpp +++ b/src/copythread.cpp @@ -35,14 +35,14 @@ void CopyThread::run() QElapsedTimer timer; qint64 ret; qint64 seqSum = 0, rndSum = 0; - qint64 seqTime = 0, rndTime = 1; + qint64 seqTime, rndTime = 0; const qint64 size = _file->size() - BUFFER_SIZE; // Sequential read emit logMessage(trUtf8("Starting sequential read test")); if (size > 0) { - _file->seek(BIGRAND % size); + _file->seek(BIGRAND % size); } timer.start(); do { @@ -51,30 +51,55 @@ void CopyThread::run() if (ret == 0) { _file->seek(0); } + seqTime = timer.elapsed(); + if (seqSum / (seqTime * 1024 + 1) >= 1) { + printf("\r Seqential: %d MiB/s",int32_t(seqSum/(seqTime*1024+1))); + fflush(stdout); + emit logMessage(trUtf8("Seqential: %1MiB/s").arg(seqSum/(seqTime*1024+1))); + } + else { + printf("\r Seqential: %d KiB/s",int32_t(seqSum/(seqTime+1))); + fflush(stdout); + emit logMessage(trUtf8("Seqential: %1KiB/s").arg(seqSum/(seqTime+1))); + } } while (!_doStop && ret >= 0 && timer.elapsed() < TEST_LENGTH); - seqTime = timer.elapsed(); // Random read if (size > 0) { - emit logMessage(trUtf8("Starting random read test")); + printf("\n"); + fflush(stdout); + emit logMessage(trUtf8("Starting random read test")); timer.restart(); do { _file->seek(BIGRAND % size); ret = _file->read(buffer, BUFFER_SIZE); rndSum += ret; + rndTime = timer.elapsed(); + if (seqSum / (seqTime * 1024 + 1) >= 1){ + + printf("\r Random: %dMiB/s", int32_t(rndSum/(rndTime*1024+1))); + fflush(stdout); + emit logMessage(trUtf8("Random: %1MiB/s").arg(rndSum/(rndTime*1024+1))); + } + else { + printf("\r Random: %dKiB/s", int32_t(rndSum/(rndTime+1))); + fflush(stdout); + emit logMessage(trUtf8("Random: %1KiB/s").arg(rndSum/(rndTime+1))); + } } while (!_doStop && ret > 0 && timer.elapsed() < TEST_LENGTH); rndTime = timer.elapsed(); } if (seqSum / (seqTime * 1024 + 1) >= 1) { const qint64 seqSpeed = seqSum / (seqTime * 1024 + 1); const qint64 rndSpeed = rndSum / (rndTime * 1024 + 1); + printf("Seqential: %d MiB/s, Random: %dMiB/s - [%d / %d]",int32_t(seqSpeed), int32_t(rndSpeed), int32_t(seqTime / 1000), int32_t(rndTime / 1000)); + fflush(stdout); emit logMessage(trUtf8("Seq: %1MiB/s, Random: %2MiB/s - [%3s / %4s]") .arg(QString::number(seqSpeed), QString::number(rndSpeed), QString::number(seqTime / 1000), QString::number(rndTime / 1000))); } else { const qint64 seqSpeed = seqSum / (seqTime + 1); const qint64 rndSpeed = rndSum / (rndTime + 1); - qDebug() << seqSum / seqTime << " " << rndSum / rndTime; emit logMessage(trUtf8("Seq: %1KiB/s, Random: %2KiB/s - [%3s / %4s]") .arg(QString::number(seqSpeed), QString::number(rndSpeed), QString::number(seqTime / 1000), QString::number(rndTime / 1000))); diff --git a/src/speedcheck.cpp b/src/speedcheck.cpp index 45a5c85..fae4b88 100644 --- a/src/speedcheck.cpp +++ b/src/speedcheck.cpp @@ -42,8 +42,8 @@ SpeedCheck::~SpeedCheck() void SpeedCheck::logMessage(QString message) { - qDebug() << message; - _ui->statusBar->showMessage(message); + // qDebug() << message; + _ui->statusBar->showMessage(message); } void SpeedCheck::selectClicked(bool) { _fileName = QFileDialog::getOpenFileName(this, tr("Select benchmark file")); @@ -64,7 +64,7 @@ void SpeedCheck::startClicked(bool) _ui->comboBox->setDisabled(true); delete _thread; _thread = new CopyThread(file, this); - connect(_thread, SIGNAL(logMessage(QString)), this, SLOT(logMessage(QString)), Qt::QueuedConnection); + connect(_thread, SIGNAL(logMessage(QString)), this, SLOT(logMessage(QString)), Qt::QueuedConnection); connect(_thread, SIGNAL(finished()), this, SLOT(testFinished()), Qt::QueuedConnection); _timer.start(); _thread->start(); diff --git a/src/speedcheck.h b/src/speedcheck.h index 79ceb28..5d885da 100644 --- a/src/speedcheck.h +++ b/src/speedcheck.h @@ -3,6 +3,7 @@ #include #include +#include namespace Ui { -- cgit v1.2.3-55-g7522