summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIoannis Christoforidis2019-12-04 17:24:20 +0100
committerIoannis Christoforidis2019-12-04 17:24:20 +0100
commita4c27b82f6f9f92216c77b97923cae668a83c063 (patch)
tree5103dead019325cf4fab531c60ecffe3591dd9eb
parentupdate output to also show KiB if connection gets slow (diff)
downloadspeedcheck-a4c27b82f6f9f92216c77b97923cae668a83c063.tar.gz
speedcheck-a4c27b82f6f9f92216c77b97923cae668a83c063.tar.xz
speedcheck-a4c27b82f6f9f92216c77b97923cae668a83c063.zip
divide console output from gui output and also show updates more fluently
-rw-r--r--src/copythread.cpp35
-rw-r--r--src/speedcheck.cpp6
-rw-r--r--src/speedcheck.h1
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 <QMainWindow>
#include <QTimer>
+#include <string>
namespace Ui
{