This library provides predicates to obtain information about resource usage by your program. The predicates of this library are for human use at the toplevel: information is printed. All predicates obtain their information using public low-level primitives. These primitives can be use to obtain selective statistics during execution.
| Stats | is a dict containing status, time and stack-size information about Thread. | 
Note that is no portable way to get thread-specific CPU time. SWI-Prolog has implementations for Linux, Windows and MacOS. The automatic detection may work on some other operating systems.
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).
| Result | is one of true,falseorthrow(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. |