/usr/lib/swipl/library/statistics.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl -- Print debug messages and test assertions
      • apply.pl -- Apply predicates on a list
      • lists.pl -- List Manipulation
      • broadcast.pl -- Event service
      • predicate_options.pl
      • shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
      • option.pl -- Option list processing
      • thread_pool.pl
      • gensym.pl
      • settings.pl -- Setting management
      • arithmetic.pl
      • main.pl -- Provide entry point for scripts
      • readutil.pl
      • operators.pl -- Manage operators
      • pairs.pl -- Operations on key-value lists
      • prolog_source.pl -- Examine Prolog source-files
      • record.pl -- Access compound arguments by name
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • pure_input.pl -- Pure Input from files and streams
      • solution_sequences.pl -- Modify solution sequences
      • ordsets.pl -- Ordered set manipulation
      • random.pl -- Random numbers
      • base64.pl -- Base64 encoding and decoding
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • yall.pl -- Lambda expressions
      • sandbox.pl -- Sandboxed Prolog code
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • assoc.pl -- Binary associations
      • prolog_format.pl -- Analyse format specifications
      • csv.pl -- Process CSV (Comma-Separated Values) data
      • pprint.pl -- Pretty Print Prolog terms
      • atom.pl -- Operations on atoms
      • modules.pl -- Module utility predicates
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl -- Prolog cross-referencer data collection
      • prolog_colour.pl -- Prolog syntax colouring support.
      • lazy_lists.pl -- Lazy list handling
      • ugraphs.pl -- Graph manipulation library
      • iostream.pl -- Utilities to deal with streams
      • url.pl -- Analysing and constructing URL
      • www_browser.pl -- Open a URL in the users browser
      • prolog_pack.pl -- A package manager for Prolog
      • git.pl -- Run GIT commands
      • utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
      • quintus.pl -- Quintus compatibility
      • prolog_versions.pl -- Demand specific (Prolog) versions
      • prolog_wrap.pl -- Wrapping predicates
      • dialect.pl -- Support multiple Prolog dialects
      • date.pl -- Process dates and times
      • persistency.pl -- Provide persistent dynamic predicates
      • prolog_code.pl -- Utilities for reasoning about code
      • strings.pl -- String utilities
      • dif.pl -- The dif/2 constraint
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • terms.pl -- Term manipulation
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • threadutil.pl -- Interactive thread utilities
      • prolog_stack.pl -- Examine the Prolog stack
      • prolog_clause.pl -- Get detailed source-information about a clause
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • wfs.pl -- Well Founded Semantics interface
      • sort.pl
      • dicts.pl -- Dict utilities
      • varnumbers.pl -- Utilities for numbered terms
      • rbtrees.pl -- Red black trees
      • backcomp.pl -- Backward compatibility
      • charsio.pl -- I/O on Lists of Character Codes
      • base32.pl -- Base32 encoding and decoding
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl -- Co-Logic Programming
      • statistics.pl -- Get information about resource usage
        • statistics/0
        • statistics/1
        • thread_statistics/2
        • time/1
        • call_time/2
        • call_time/3
      • heaps.pl -- heaps/priority queues
      • when.pl -- Conditional coroutining
      • nb_set.pl -- Non-backtrackable sets
      • ctypes.pl -- Character code classification
      • listing.pl -- List programs and pretty print clauses
      • intercept.pl -- Intercept and signal interface
      • system.pl -- System utilities
      • prolog_debug.pl -- User level debugging tools
      • oset.pl -- Ordered set manipulation
      • writef.pl -- Old-style formatted write
      • tables.pl -- XSB interface to tables
      • make.pl -- Reload modified source files
      • vm.pl -- SWI-Prolog Virtual Machine utilities
      • thread.pl -- High level thread primitives
      • increval.pl -- Incremental dynamic predicate modification
      • check.pl -- Consistency checking
      • hashtable.pl -- Hash tables
      • tty.pl -- Terminal operations
      • optparse.pl -- command line parsing
      • exceptions.pl -- Exception classification
      • shell.pl -- Elementary shell commands
      • edit.pl -- Editor interface
      • streams.pl -- Manage Prolog streams
      • explain.pl -- Describe Prolog Terms
      • qsave.pl -- Save current program as a state or executable
      • zip.pl -- Access resource ZIP archives
      • prolog_autoload.pl -- Autoload all dependencies
      • prolog_codewalk.pl -- Prolog code walker
      • readln.pl -- Read line as list of tokens
      • help.pl -- Text based manual
      • portray_text.pl -- Portray text
      • qpforeign.pl -- Quintus compatible foreign loader
      • prolog_deps.pl -- Compute file dependencies
      • win_menu.pl -- Console window menu
      • fastrw.pl -- Fast reading and writing of terms
      • prolog_config.pl -- Provide configuration information
      • prolog_profile.pl -- Execution profiler
      • prolog_coverage.pl -- Coverage analysis tool
      • prolog_history.pl -- Per-directory persistent commandline history
      • macros.pl -- Macro expansion
      • prolog_trace.pl -- Print access to predicates
      • check_installation.pl -- Check installation issues and features
      • prolog_metainference.pl -- Infer meta-predicate properties
      • rwlocks.pl -- Read/write locks
      • nb_rbtrees.pl -- Non-backtrackable operations on red black trees
      • files.pl
      • prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
 call_time(:Goal, -Time:dict)
 call_time(:Goal, -Time:dict, -Result)
Call Goal as call/1, unifying Time with a dict that provides information on the resource usage. If Goal succeeds with a choice point, backtracking reports the time used to find the next answer, failure or exception. If Goal succeeds deterministically no choice point is left open. Currently Time contains the keys below. Future versions may provide additional keys.
  • wall:Seconds
  • cpu:Seconds
  • inferences:Count

call_time/2 is defined as below. Note that for call_time/2 the time is only available if Goal succeeds.

call_time(Goal, Time) :-
    call_time(Goal, Time, Result),
    call(Result).
Arguments:
Result- is one of true, false or throw(E), depending on whether or not the goal succeeded or raised an exception. Note that Result may be called using call/1 to propagate the failure or exception.