While integrating the preprocessor into the search code (issue26) we switched
classes that depended on the global task before to the new task interface
(causal graph, successor generator, DTGs). Ideally, we would like to compute
them only once per task and remove them after we are done with them.
The causal graph currently uses a factory with a local cache to only generate
one instance per AbstractTask, but its entries are never deleted. The successor
generator is not cached at all, which means that we create two instances in the
call "astar(ipdb())" (one for the search, one for ipdb's sampling).
We should re-think the way this kind of information is stored and when it should
be removed.
|