Hello,
To speed up my program i tried to use tabling, adding a tabling directive to one key predicate that that was found in high demand via profiling.
However, interestingly, the tabling changed the programs behavior leading to test cases to fail. Removing tabling, the test cases work again.
Btw, I then tried to instead cache results with an assertion and looking up the asserted fact first, before trying to re"compute it". This worked, i.e. did not change the semantics of the program -- however, it slowed the program down very significantly ...
any thoughts on tabling and semantics would be much appreciated,
thank you,
Dan