I have two predicates with identical argument patterns, one with 9 clauses and one with 8. The first two arguments in each case form a unique pair of atoms. After executing some code, jiti_list/1
displays the following index info for the two predicates:
Predicate Indexed Buckets Speedup Flags
============================================================================
clpBNR:multCase/6 1 4 3.0
clpBNR:odivCase/6 1+2 16 8.0
multCase
has 9 clauses and only gets indexed on the first argument - there will be 3 clauses with the same first argument. According to the numbers the speedup is less than half of that of odivCase
(8 clauses) which is indexed on first and second arguments.
Any explanation for how this happens? Does clause ordering matter? Number of required buckets?
Not a big deal in the grand scheme, but I am curious.