/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
      • lists.pl
      • broadcast.pl -- Event service
      • shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
      • option.pl -- Option list processing
      • thread_pool.pl -- Resource bounded thread management
      • gensym.pl -- Generate unique symbols
      • settings.pl -- Setting management
      • arithmetic.pl -- Extensible arithmetic
      • main.pl -- Provide entry point for scripts
      • readutil.pl -- Read utilities
      • 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
      • sandbox.pl
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • yall.pl
      • assoc.pl -- Binary associations
      • prolog_format.pl -- Analyse format specifications
      • pure_input.pl -- Pure Input from files and streams
      • solution_sequences.pl -- Modify solution sequences
      • ordsets.pl
      • random.pl -- Random numbers
      • base64.pl -- Base64 encoding and decoding
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • predicate_options.pl -- Access and analyse predicate options
      • 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_colour.pl -- Prolog syntax colouring support.
      • lazy_lists.pl -- Lazy list handling
      • ugraphs.pl -- Graph manipulation library
      • 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
      • iostream.pl -- Utilities to deal with streams
      • 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
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • threadutil.pl -- Interactive thread utilities
      • prolog_stack.pl -- Examine the Prolog stack
      • prolog_clause.pl
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • wfs.pl -- Well Founded Semantics interface
      • sort.pl
      • dicts.pl
      • varnumbers.pl -- Utilities for numbered terms
      • ctypes.pl -- Character code classification
      • rbtrees.pl -- Red black trees
      • backcomp.pl -- Backward compatibility
      • charsio.pl -- I/O on Lists of Character Codes
      • statistics.pl -- Get information about resource usage
        • statistics/0
        • statistics/1
        • thread_statistics/2
        • time/1
        • call_time/2
        • call_time/3
      • base32.pl -- Base32 encoding and decoding
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl -- Co-Logic Programming
      • heaps.pl
      • when.pl
      • listing.pl -- List programs and pretty print clauses
      • edit.pl
      • tableutil.pl -- Table inspection and statistics utilities
      • check.pl -- Consistency checking
      • prolog_debug.pl
      • readln.pl
      • optparse.pl
      • make.pl -- Reload modified source files
      • thread.pl -- High level thread primitives
      • writef.pl
      • shell.pl -- Elementary shell commands
      • exceptions.pl
      • prolog_profile.pl -- Execution profiler
      • fastrw.pl
      • tty.pl -- Terminal operations
      • increval.pl -- Incremental dynamic predicate modification
      • tables.pl -- XSB interface to tables
      • prolog_deps.pl
      • prolog_coverage.pl -- Coverage analysis tool
      • help.pl
      • prolog_autoload.pl
      • prolog_metainference.pl
      • qsave.pl -- Save current program as a state or executable
      • prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
      • zip.pl -- Access resource ZIP archives
      • prolog_codewalk.pl -- Prolog code walker
      • nb_set.pl -- Non-backtrackable sets
      • intercept.pl -- Intercept and signal interface
      • macros.pl -- Macro expansion
      • prolog_trace.pl -- Print access to predicates
      • vm.pl -- SWI-Prolog Virtual Machine utilities
      • nb_rbtrees.pl
      • streams.pl -- Manage Prolog streams
      • qpforeign.pl
      • explain.pl
      • portray_text.pl -- Portray text
      • system.pl -- System utilities
      • oset.pl -- Ordered set manipulation
      • check_installation.pl -- Check installation issues and features
      • prolog_config.pl
      • prolog_history.pl -- Per-directory persistent commandline history
      • files.pl
      • hashtable.pl -- Hash tables
      • rwlocks.pl
      • pio.pl
 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.