diff options
Diffstat (limited to 'tests/databasepopulationandfacadequerybenchmark.cpp')
-rw-r--r-- | tests/databasepopulationandfacadequerybenchmark.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/tests/databasepopulationandfacadequerybenchmark.cpp b/tests/databasepopulationandfacadequerybenchmark.cpp index 5efe292..4e00bd4 100644 --- a/tests/databasepopulationandfacadequerybenchmark.cpp +++ b/tests/databasepopulationandfacadequerybenchmark.cpp | |||
@@ -38,13 +38,13 @@ class DatabasePopulationAndFacadeQueryBenchmark : public QObject | |||
38 | 38 | ||
39 | void populateDatabase(int count) | 39 | void populateDatabase(int count) |
40 | { | 40 | { |
41 | Sink::Storage(Sink::storageLocation(), "identifier", Sink::Storage::ReadWrite).removeFromDisk(); | 41 | Sink::Storage::DataStore(Sink::storageLocation(), "identifier", Sink::Storage::DataStore::ReadWrite).removeFromDisk(); |
42 | // Setup | 42 | // Setup |
43 | auto domainTypeAdaptorFactory = QSharedPointer<TestEventAdaptorFactory>::create(); | 43 | auto domainTypeAdaptorFactory = QSharedPointer<TestEventAdaptorFactory>::create(); |
44 | { | 44 | { |
45 | Sink::Storage storage(Sink::storageLocation(), identifier, Sink::Storage::ReadWrite); | 45 | Sink::Storage::DataStore storage(Sink::storageLocation(), identifier, Sink::Storage::DataStore::ReadWrite); |
46 | auto transaction = storage.createTransaction(Sink::Storage::ReadWrite); | 46 | auto transaction = storage.createTransaction(Sink::Storage::DataStore::ReadWrite); |
47 | auto db = Sink::Storage::mainDatabase(transaction, "event"); | 47 | auto db = Sink::Storage::DataStore::mainDatabase(transaction, "event"); |
48 | 48 | ||
49 | int bufferSizeTotal = 0; | 49 | int bufferSizeTotal = 0; |
50 | int keysSizeTotal = 0; | 50 | int keysSizeTotal = 0; |
@@ -58,15 +58,15 @@ class DatabasePopulationAndFacadeQueryBenchmark : public QObject | |||
58 | flatbuffers::FlatBufferBuilder fbb; | 58 | flatbuffers::FlatBufferBuilder fbb; |
59 | domainTypeAdaptorFactory->createBuffer(*domainObject, fbb); | 59 | domainTypeAdaptorFactory->createBuffer(*domainObject, fbb); |
60 | const auto buffer = QByteArray::fromRawData(reinterpret_cast<const char *>(fbb.GetBufferPointer()), fbb.GetSize()); | 60 | const auto buffer = QByteArray::fromRawData(reinterpret_cast<const char *>(fbb.GetBufferPointer()), fbb.GetSize()); |
61 | const auto key = Sink::Storage::generateUid(); | 61 | const auto key = Sink::Storage::DataStore::generateUid(); |
62 | db.write(key, buffer); | 62 | db.write(key, buffer); |
63 | bufferSizeTotal += buffer.size(); | 63 | bufferSizeTotal += buffer.size(); |
64 | keysSizeTotal += key.size(); | 64 | keysSizeTotal += key.size(); |
65 | } | 65 | } |
66 | transaction.commit(); | 66 | transaction.commit(); |
67 | 67 | ||
68 | transaction = storage.createTransaction(Sink::Storage::ReadOnly); | 68 | transaction = storage.createTransaction(Sink::Storage::DataStore::ReadOnly); |
69 | db = Sink::Storage::mainDatabase(transaction, "event"); | 69 | db = Sink::Storage::DataStore::mainDatabase(transaction, "event"); |
70 | 70 | ||
71 | auto dataSizeTotal = count * (QByteArray("uid").size() + QByteArray("summary").size() + attachment.size()); | 71 | auto dataSizeTotal = count * (QByteArray("uid").size() + QByteArray("summary").size() + attachment.size()); |
72 | auto size = db.getSize(); | 72 | auto size = db.getSize(); |
@@ -100,7 +100,11 @@ class DatabasePopulationAndFacadeQueryBenchmark : public QObject | |||
100 | 100 | ||
101 | auto resultSet = QSharedPointer<Sink::ResultProvider<Sink::ApplicationDomain::Event::Ptr>>::create(); | 101 | auto resultSet = QSharedPointer<Sink::ResultProvider<Sink::ApplicationDomain::Event::Ptr>>::create(); |
102 | auto resourceAccess = QSharedPointer<TestResourceAccess>::create(); | 102 | auto resourceAccess = QSharedPointer<TestResourceAccess>::create(); |
103 | TestResourceFacade facade(identifier, resourceAccess); | 103 | |
104 | QMap<QByteArray, DomainTypeAdaptorFactoryInterface::Ptr> factories; | ||
105 | Sink::ResourceContext context{identifier, "test", factories}; | ||
106 | context.mResourceAccess = resourceAccess; | ||
107 | TestResourceFacade facade(context); | ||
104 | 108 | ||
105 | auto ret = facade.load(query); | 109 | auto ret = facade.load(query); |
106 | ret.first.exec().waitForFinished(); | 110 | ret.first.exec().waitForFinished(); |
@@ -118,7 +122,7 @@ class DatabasePopulationAndFacadeQueryBenchmark : public QObject | |||
118 | const auto finalRss = getCurrentRSS(); | 122 | const auto finalRss = getCurrentRSS(); |
119 | const auto rssGrowth = finalRss - startingRss; | 123 | const auto rssGrowth = finalRss - startingRss; |
120 | // Since the database is memory mapped it is attributted to the resident set size. | 124 | // Since the database is memory mapped it is attributted to the resident set size. |
121 | const auto rssWithoutDb = finalRss - Sink::Storage(Sink::storageLocation(), identifier, Sink::Storage::ReadWrite).diskUsage(); | 125 | const auto rssWithoutDb = finalRss - Sink::Storage::DataStore(Sink::storageLocation(), identifier, Sink::Storage::DataStore::ReadWrite).diskUsage(); |
122 | const auto peakRss = getPeakRSS(); | 126 | const auto peakRss = getPeakRSS(); |
123 | // How much peak deviates from final rss in percent (should be around 0) | 127 | // How much peak deviates from final rss in percent (should be around 0) |
124 | const auto percentageRssError = static_cast<double>(peakRss - finalRss) * 100.0 / static_cast<double>(finalRss); | 128 | const auto percentageRssError = static_cast<double>(peakRss - finalRss) * 100.0 / static_cast<double>(finalRss); |