All predicatesShow sourceprolog_jiti.pl -- Just In Time Indexing (JITI) utilities

This module provides utilities to examine just-in-time indexes created by the system and can help diagnosing space and performance issues.

To be done
- Use print_message/2 and dynamically figure out the column width.
Source jiti_list is det
Source jiti_list(:Spec) is det
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.
    • A/B is a deep-index on sub-argument B of argument A.
  • 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.

Re-exported predicates

The following predicates are exported from this file while their implementation is defined in imported modules or non-module files loaded by this module.

Source jiti_list is det
Source jiti_list(:Spec) is det
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.
    • A/B is a deep-index on sub-argument B of argument A.
  • 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.