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. |
Statistics are retrieved using thread_statistics/3 on the calling thread. Note that not all systems support thread-specific CPU time. Notable, this is lacking on MacOS X.
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 , 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. |