Currently, DFA caches do not handle duplicates within a single query batch, as the cache only checks if a query can be cached and delegates all (duplicate) cache-misses to the oracle.
In comparison, Mealy caches (should?) support this because they aggregate multiple queries into "MasterQueries" which can answer multiple (prefix-) queries with a single call to the oracle.
With this issue, duplicate in-batch queries (for both DFAs and Mealy Machines) should only result in a single query being delegated to the oracle, both for performance resons and benchmarking reasons.
Dear author, I tried the simplest change. The DFACacheOracle checks the repeat queries in the function "queryCache", and updates anwsers of the repeat queries in the function "processQueries".
Currently, DFA caches do not handle duplicates within a single query batch, as the cache only checks if a query can be cached and delegates all (duplicate) cache-misses to the oracle.
In comparison, Mealy caches (should?) support this because they aggregate multiple queries into "MasterQueries" which can answer multiple (prefix-) queries with a single call to the oracle.
With this issue, duplicate in-batch queries (for both DFAs and Mealy Machines) should only result in a single query being delegated to the oracle, both for performance resons and benchmarking reasons.
See #76.