diff options
author | Gunnar Sletta <gunnar@trolltech.com> | 2010-01-22 13:29:27 (GMT) |
---|---|---|
committer | Gunnar Sletta <gunnar@trolltech.com> | 2010-01-22 13:29:27 (GMT) |
commit | c705684982213d6168643623fa3bf12c111482fc (patch) | |
tree | b00e7f0eee4fc024cb4cfdc50a62098b7353064a /tests/benchmarks | |
parent | aa2d3eb0f05dc87347e30fc0a6c843fc3d1b4855 (diff) | |
parent | c8f4319b3a2ddacacd3bca67861a41e22dd1ada0 (diff) | |
download | Qt-c705684982213d6168643623fa3bf12c111482fc.zip Qt-c705684982213d6168643623fa3bf12c111482fc.tar.gz Qt-c705684982213d6168643623fa3bf12c111482fc.tar.bz2 |
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6
Diffstat (limited to 'tests/benchmarks')
-rw-r--r-- | tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp b/tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp index 907ffb7..23e07db 100644 --- a/tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp +++ b/tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp @@ -55,11 +55,13 @@ class qfile_vs_qnetworkaccessmanager : public QObject // but.. this is a manual test anyway, so :) protected: void qnamFileRead_iteration(QNetworkAccessManager &manager, QNetworkRequest &request); + void qnamImmediateFileRead_iteration(QNetworkAccessManager &manager, QNetworkRequest &request); void qfileFileRead_iteration(); static const int iterations = 10; private slots: void qnamFileRead(); + void qnamImmediateFileRead(); void qfileFileRead(); void initTestCase(); @@ -124,6 +126,39 @@ void qfile_vs_qnetworkaccessmanager::qnamFileRead() qDebug() << "Speed:" << (qreal(size*iterations) / 1024.0) / (qreal(elapsed) / 1000.0) << "KB/sec"; } +void qfile_vs_qnetworkaccessmanager::qnamImmediateFileRead_iteration(QNetworkAccessManager &manager, QNetworkRequest &request) +{ + QNetworkReply* reply = manager.get(request); + QVERIFY(reply->isFinished()); // should be like that! + QByteArray qba = reply->readAll(); + delete reply; +} + +void qfile_vs_qnetworkaccessmanager::qnamImmediateFileRead() +{ + QNetworkAccessManager manager; + QTime t; + QNetworkRequest request(QUrl(testFile.fileName())); + + // do 3 dry runs for cache warmup + qnamImmediateFileRead_iteration(manager, request); + qnamImmediateFileRead_iteration(manager, request); + qnamImmediateFileRead_iteration(manager, request); + + t.start(); + // 10 real runs + QBENCHMARK_ONCE { + for (int i = 0; i < iterations; i++) { + qnamImmediateFileRead_iteration(manager, request); + } + } + + qint64 elapsed = t.elapsed(); + qDebug() << endl << "Finished!"; + qDebug() << "Bytes:" << size; + qDebug() << "Speed:" << (qreal(size*iterations) / 1024.0) / (qreal(elapsed) / 1000.0) << "KB/sec"; +} + void qfile_vs_qnetworkaccessmanager::qfileFileRead_iteration() { testFile.reset(); |