summaryrefslogtreecommitdiffstats
path: root/tests/dummyresourcebenchmark.cpp
Commit message (Collapse)AuthorAge
* 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.
* These jobs now work reliably.Christian Mollekopf2016-10-07
|
* A better resource filter apiChristian Mollekopf2016-10-05
|
* Don't access the propertyFilter list directly.Christian Mollekopf2016-09-27
|
* Ported to the kasync revampChristian Mollekopf2016-09-15
|
* 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.
* Prepare for making the resource status availableChristian Mollekopf2016-07-05
|
* Account filter for resources and contains comparator in queryChristian Mollekopf2016-05-01
|
* Don't encode the resource type into the identifierChristian Mollekopf2016-04-17
|
* 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
|
* Stop using clientapi.hChristian Mollekopf2016-02-10
|
* Renamed Resources to ResourceControlChristian Mollekopf2016-02-10
|
* Moved some APIChristian Mollekopf2016-02-09
|
* Use removeDataFromDiskChristian Mollekopf2016-02-09
|
* Test responsiveness of command processing.Christian Mollekopf2016-02-08
|
* Renamed Akonadi2 to SinkChristian Mollekopf2016-01-20
| | | | (except for documentation).
* Got rid of all uses of Query::syncOnDemand and Query::processAllChristian Mollekopf2016-01-14
|
* This is how we can look at the memory layoutChristian Mollekopf2015-12-17
|
* Added resource disk usageChristian Mollekopf2015-12-10
|
* Use hawd for dummyresourcebenchmarkChristian Mollekopf2015-12-01
|
* Resolve remoteIds during syncChristian Mollekopf2015-12-01
| | | | | | | Remote id's need to be resolved while syncing any references. This is done by the synchronizer by consulting the rid to entity id mapping. If the referenced entity doesn't exist yet we create a local id anyways, that we then need to pick up once the actual entity arrives.
* Introduced a QueryRunner objectChristian Mollekopf2015-11-27
| | | | | | | | The QueryRunner object lives for the duration of the query (so just for the initial query for non-live queries, and for the lifetime of the result model for live queries). It's supposed to handle all the threading internally and decouple the lifetime of the facade.
* Use the new model api in the benchmark and split tests up.Christian Mollekopf2015-11-26
| | | | This way it's possible to i.e. repeatedly only run the reading part.
* Comments for the benchmarksChristian Mollekopf2015-10-25
|
* ClientAPI: Don't require an explicit instance identifierChristian Mollekopf2015-10-21
|
* Added a removeFromDisk method to the resourceChristian Mollekopf2015-10-21
|
* Set debuglevel in dummyresourcebenchmarkChristian Mollekopf2015-08-13
|
* DummyResourceBenchmark cleanup.Christian Mollekopf2015-08-10
|
* Example for parallel processing of jobsChristian Mollekopf2015-08-07
|
* Made the pipeline an implementation detail of the resource.Christian Mollekopf2015-07-30
| | | | | This removes one dependency from the Listener and will allow us to test the Listener better.
* Pass command around as QByteArrayChristian Mollekopf2015-07-23
| | | | | | | Simpler api, GenericResource didn't honor size anyways, and we copy the command for now to avoid sideeffects of data coming in in the meantime (although that should generally work since data is always appended).
* Use the resource instance nameChristian Mollekopf2015-07-07
|
* Use a queryrunner to execute queries.Christian Mollekopf2015-04-15
| | | | | | | | | | | | | | The queryrunner is responsible for running queries and keeping them up to date. This is required for self-updating queries. To get this to work properly the ResultProvider/emitter had to be fixed. The emitter now only lives as long as the client holds a reference to it, allowing the provider to detect when it is no longer necessary to keep the query alive (because noone is listening). In the process various lifetime issues have been fixed, that we're caused by lambdas capturing smartpointers, that then extended the lifetime of the associated objects unpredictably.
* Only measure appending, not creating the buffer.Christian Mollekopf2015-04-09
|
* Renamed Akonadi::Domain to Akonadi::ApplicationDomainChristian Mollekopf2015-04-09
| | | | Because it's really the application domain and not the akonadi domain.
* Use memcpy to copy tables into vectors.Christian Mollekopf2015-04-07
| | | | | | Ideally we wouldn't be copying at all, and somehow cast the table to a vector. Unfortunately I haven't figured out how to do that, and this solution at least gets us from 0.065 ms to 0.028 ms in testCreateCommand.
* Benchmark for in-process writing.Christian Mollekopf2015-04-06
| | | | To measure overhead of the communication to the separate process.
* DummyResourceBenchmarkChristian Mollekopf2015-01-27