test suite: Add ElemCount to control how many elements are added. #151
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context: for every subtestQuery the suite Puts 400 elements to the datastore. In the case of go-ds-crdt, every Put is actually about 4 insertions. The final following 400 deletions made during cleanup are actually 400 more insertions (to the Tombstone set). Multiply that for every Subtest and for all the Permutations.
Additionally every test writes the same set of keys over an over, which means that the number of crdt blocks related to every key grows. Every go-ds-crdt Has and Get operations needs to loop over those and triggers related subqueries.
Finally the map datastore is not optimized for prefixed queries so every Query() will loop-and-match ALL the things in the database.
The result is that it takes very long to run these tests for go-ds-crdt. Reducing ElemCount helps significantly.