This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/Logtalk/examples/profiling/SCRIPT.txt
pmoura 42aabce1bb Logtalk 2.30.7 files.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1973 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-06 01:50:09 +00:00

111 lines
1.6 KiB
Plaintext

================================================================
Logtalk - Open source object-oriented logic programming language
Release 2.30.7
Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
================================================================
% start by loading the example and the required library files:
| ?- logtalk_load(profiling(loader)).
...
%% message_counter example
% choose an object to spy:
| ?- message_counter::set_spy_point(_, list, _, _).
yes
% activate the monitor:
| ?- message_counter::activate_monitor.
yes
% send some messages to the spied object; get all the answers for ancestor/1:
| ?- list::empty([]).
yes
| ?- list::member(X, [1, 2, 3]).
X = 1 ? ;
X = 2 ? ;
X = 3 ? ;
no
% print a report of the data collected by the monitor:
| ?- message_counter::report.
list
total of calls: 2
total of exits: 4
empty/1
calls: 1
exits: 1
member/2
calls: 1
exits: 3
yes
% stop and reset the message counter monitor:
| ?- message_counter::stop.
yes
%% stop_watch example
% choose a pair object/message to spy:
| ?- stop_watch::set_spy_point(_, list, length(_, _), _).
yes
% activate the monitor:
| ?- stop_watch::activate_monitor.
yes
% send a message to the spied object:
| ?- list::length([1, 2, 3], Length).
list <-- length([1,2,3],_277) from user
STARTING at 755.75999999999999 seconds
list <-- length([1,2,3],3) from user
ENDING at 755.69000000000005 seconds
Length = 3
yes
% clean up:
| ?- stop_watch::reset_monitor.
yes
%% timer example
% try a message 1000 times and return the average time:
| ?- timer::timer(list::length([1, 2, 3], _), 1000, Time).
Time = 0.00003
yes