summaryrefslogtreecommitdiffstats
path: root/tests/mailquerybenchmark.cpp
Commit message (Collapse)AuthorAge
* No parent queryChristian Mollekopf2018-01-02
|
* Initial query testChristian Mollekopf2017-10-17
|
* dummyresourcebenchmark valuesChristian Mollekopf2017-10-17
|
* QUICK_TRY_VERIFY for quick polling in benchmarksChristian Mollekopf2017-10-16
|
* hawd def for incremental vs nonincremental comparisonChristian Mollekopf2017-10-12
|
* Changed how we record and print the mail query benchmark data.Christian Mollekopf2017-10-12
| | | | | | Each column can represent an individual value, which we can use to record related data. Each row thus represents a new run of the benchmark.
* Don't use QTRY_* in a benchmarkChristian Mollekopf2017-10-11
| | | | It has a backoff timer inside which skews the time measurements.
* No need to make this overly complicated.Christian Mollekopf2017-10-10
|
* Optimized the incremental update case.Christian Mollekopf2017-10-08
| | | | | | | | | | | | This brings the incremental closer to a regular query (about 1.5 times as bad instead of 3.5 times). For a comparison look at MailQueryBenchmark::testIncremental() The optimization is built on the assumption that we i.e. get an update with 100 revisions, and thus the optimization applies to the case where we have multiple revisions within that batch that are part of the same reduction. In such a case we can avoid redoing the reduction lookup over and over.
* Benchmark incremental queriesChristian Mollekopf2017-09-13
|
* Fixed benchmarkChristian Mollekopf2017-05-11
|
* Moved all preprocessing back into the pipelineChristian Mollekopf2017-04-11
|
* Fixed mailquery benchmark.Christian Mollekopf2017-03-19
|
* Revived mailquerybenchmark to show how slow reduction queries are.Christian Mollekopf2017-03-18
|
* Mails don't have uid'sChristian Mollekopf2017-02-16
|
* More Log::ContextChristian Mollekopf2016-12-22
|
* Introduced Log::ContextChristian Mollekopf2016-12-22
| | | | | | | To have hierarchical debug output we have to pass around something at run-time, there is no reasonable alternative. Log::Context provides the identifier to do just that and largely replaces the debug component idea.
* Report when we don't have any more to fetch.Christian Mollekopf2016-12-20
| | | | ... so we can use that information in fetchMore.
* Wrap references in a Reerence type.Christian Mollekopf2016-12-08
| | | | | | | | This allows us to make sure that references are not taken out of context (the resource). Because we need to use the type-specific accessors more we also ran into a problem that we cannot "downcast" a reference with the change recording still working, for that we have the cast<T>() operator now.
* Hide the Query::limitChristian Mollekopf2016-11-14
|
* Don't expose the live query flag directly.Christian Mollekopf2016-11-04
|
* Ported the pipeline to the entitystoreChristian Mollekopf2016-10-21
|
* Refactor how the storage is used.Christian Mollekopf2016-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the initial refactoring to improve how we deal with the storage. It does a couple of things: * Rename Sink::Storage to Sink::Storage::DataStore to free up the Sink::Storage namespace * Introduce a Sink::ResourceContext to have a single object that can be passed around containing everything that is necessary to operate on a resource. This is a lot better than the multiple separate parameters that we used to pass around all over the place, while still allowing for dependency injection for tests. * Tie storage access together using the new EntityStore that directly works with ApplicationDomainTypes. This gives us a central place where main storage, indexes and buffer adaptors are tied together, which will also give us a place to implement external indexes, such as a fulltextindex using xapian. * Use ApplicationDomainTypes as the default way to pass around entities. Instead of using various ways to pass around entities (buffers, buffer adaptors, ApplicationDomainTypes), only use a single way. The old approach was confusing, and was only done as: * optimization; really shouldn't be necessary and otherwise I'm sure we can find better ways to optimize ApplicationDomainType itself. * a way to account for entities that have multiple buffers, a concept that I no longer deem relevant. While this commit does the bulk of the work to get there, the following commits will refactor more stuff to get things back to normal.
* Use the Query::filter api.Christian Mollekopf2016-09-27
|
* Shorten the types to be more distinctive.Christian Mollekopf2016-07-08
| | | | | The org.kde prefix is useless and possibly misleading. Simply prefixing with sink is more unique and shorter.
* Refactored the generic resource to use separate classes forChristian Mollekopf2016-05-28
| | | | | | | | changereplay and synchronization. This cleans up the API and avoids the excessive passing around of transactions. It also provides more flexibility in eventually using different synchronization strategies for different resources.
* Account filter for resources and contains comparator in queryChristian Mollekopf2016-05-01
|
* Fromatted the whole codebase with clang-format.Christian Mollekopf2016-03-03
| | | | clang-format -i */**{.cpp,.h}
* Use slots/signals instead of Q_SLOTS/Q_SIGNALS for clang-format compatibilityChristian Mollekopf2016-02-17
|
* Mailquerybenchmark stuffChristian Mollekopf2016-02-16
|
* Added a mailquerybenchmarkChristian Mollekopf2016-02-16