From running jiti_list/0, it appears that a predicate with dicts in the head doesn’t create any indexes. Is this the case? - and is there a way to index a predicate that has dicts in the head? (Caveat: from looking at the output from profile/1, it’s unclear to me how much this would speed up my code – the profiler seems to have a black hole into which ~50% of the processing time disappears.)
The code looks something like this (the node are generated by a Python program that outputs JSON, which is why I’m using dicts rather than Prolog terms):
It appears that having instantiated tags on dicts doesn’t help (according to jiti_list/0), presumably because a dict is a compound term using the functor dict, with the tag as the first argument, and deep indexing doesn’t get to the tag first argument?
jiti_list/0 confirms that this creates an index, although in this case it didn’t result in any significant overall speedup (I’m still trying to figure out where the black hold in the profiling output is).