From 101176cc504bbecf0eb36e04f250796030a10152 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 16 Feb 2016 18:01:04 +0100 Subject: Mailquerybenchmark stuff --- hawd_defs/mail_query | 8 ++++++++ tests/mailquerybenchmark.cpp | 23 ++++++++++++----------- 2 files changed, 20 insertions(+), 11 deletions(-) create mode 100644 hawd_defs/mail_query diff --git a/hawd_defs/mail_query b/hawd_defs/mail_query new file mode 100644 index 0000000..c555997 --- /dev/null +++ b/hawd_defs/mail_query @@ -0,0 +1,8 @@ +{ + "name": "Mail Query performance", + "description": "Measures performance of mail queries", + "columns": [ + { "name": "rows", "type": "int" }, + { "name": "queryResultPerMs", "type": "float", "unit": "result/ms" } + ] +} diff --git a/tests/mailquerybenchmark.cpp b/tests/mailquerybenchmark.cpp index 4c6f13f..4efd5cf 100644 --- a/tests/mailquerybenchmark.cpp +++ b/tests/mailquerybenchmark.cpp @@ -83,16 +83,10 @@ class MailQueryBenchmark : public QObject pipeline->commit(); } - void testLoad(int count) + void testLoad(const Sink::Query &query, int count) { const auto startingRss = getCurrentRSS(); - Sink::Query query; - query.liveQuery = false; - query.requestedProperties << "uid" << "subject" << "date"; - query.sortProperty = "date"; - query.propertyFilter.insert("folder", "folder1"); - query.limit = 1000; //Benchmark QTime time; @@ -115,7 +109,7 @@ class MailQueryBenchmark : public QObject }); emitter->fetch(Sink::ApplicationDomain::Mail::Ptr()); QTRY_VERIFY(done); - QCOMPARE(list.size(), count); + QCOMPARE(list.size(), query.limit); const auto elapsed = time.elapsed(); @@ -137,7 +131,7 @@ class MailQueryBenchmark : public QObject std::cout << "Rss without db [kb]: " << rssWithoutDb/1024 << std::endl; std::cout << "Percentage error: " << percentageRssError << std::endl; - HAWD::Dataset dataset("facade_query", mHawdState); + HAWD::Dataset dataset("mail_query", mHawdState); HAWD::Dataset::Row row = dataset.row(); row.setValue("rows", list.size()); row.setValue("queryResultPerMs", (qreal)list.size()/elapsed); @@ -163,8 +157,15 @@ private Q_SLOTS: void test50k() { - // populateDatabase(50000); - testLoad(50000); + Sink::Query query; + query.liveQuery = false; + query.requestedProperties << "uid" << "subject" << "date"; + query.sortProperty = "date"; + query.propertyFilter.insert("folder", "folder1"); + query.limit = 1000; + + populateDatabase(50000); + testLoad(query, 50000); } }; -- cgit v1.2.3