Include Paulo Moura's Logtalk OO LP system
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@53 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
104
Logtalk/examples/profiling/SCRIPT
Normal file
104
Logtalk/examples/profiling/SCRIPT
Normal file
@@ -0,0 +1,104 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.8.4
|
||||
|
||||
Copyright (c) 1998-2001 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
||||
|
||||
%% 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.00070799999999996994
|
||||
|
||||
yes
|
Reference in New Issue
Block a user