A.41 library(prolog_jiti): Just In Time Indexing (JITI) utilities
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(prolog_jiti): Just In Time Indexing (JITI) utilities
          • jiti_list/0
          • jiti_list/1
          • jiti_suggest_modes/0
          • jiti_suggest_modes/1
    • Packages
Availability::- use_module(library(prolog_jiti)).(can be autoloaded)
Source[det]jiti_list
[det]jiti_list(:Spec)
List the JITI (Just In Time Indexes) of selected predicates. The predicate jiti_list/0 list all just-in-time indexed predicates. The predicate jiti_list/1 takes one of the patterns below. All parts except for Name can be variables. The last pattern takes an arbitrary number of arguments.

  • Module:Head
  • Module:Name/Arity
  • Module:Name

The columns use the following notation:

  • The Indexed column describes the argument(s) indexed:

    • A plain integer refers to a 1-based argument number
    • A+B is a multi-argument index on the arguments A and B.
    • P:L is a deep-index L on sub-argument P. For example, 1/2:2+3 is an index of the 2nd and 3rd argument of the 2nd argument of a compound on the first argument of the predicate. This implies x and y in the head p(f(_,g(_,x,y)))

  • The Buckets specifies the number of buckets of the hash table
  • The Speedup specifies the selectivity of the index
  • The Flags describes additional properties, currently:

    • L denotes that the index contains multiple compound terms with the same name/arity that may be used to create deep indexes. The deep indexes themselves are created as just-in-time indexes.
    • V denotes the index is virtual, i.e., it has not yet been materialized.