[MDSAL-615] Add binding.query microbenchmarks Created: 28/Oct/20  Updated: 28/Oct/20

Status: Confirmed
Project: mdsal
Component/s: Binding runtime
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Medium
Reporter: Robert Varga Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: Searchable MD-SAL

 Description   

We have a simple QueryPerformanceTest, but that covers only a single scenario and performs measurements in a rather unscientific way.

Add a proper JMH-based benchmark, which will cover a variety of queries on a variety of data. Each test case should be composed of static data, one test for query, one test for Binding-level equivalent code. A test case can also include alternative ways for querying the same result set – i.e. less-than-optimal queries. In cases where there is a selection of data from a Map, the test should be re-run with 10, 100, 1K, 10K, 100K and 1M items.

Query evaluation for each such test case should happen in two modes:

  • stream-based short-circuit, i.e. 'find any node matching' is stream().findAny()
  • full evaluation, i.e. 'find any node matching' is !getItems().isEmpty()

 


Generated at Wed Feb 07 20:10:15 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.