CodeTools[Profiling][Profile] - enable collection profiling information
|
Calling Sequence
|
|
Profile(proc1, proc2, ...)
Profile([proc1, tab1], [proc2, tab1], ...)
|
|
Parameters
|
|
proc1, proc2, ...
|
-
|
(optional) procedures to be profiled
|
tab1, tab2, ...
|
-
|
(optional) rtable of profiling data
|
|
|
|
|
Description
|
|
•
|
The Profile() command collects profiling data for all currently named procedures and all procedures read from a repository for Maple procedures.
|
•
|
The Profile(proc1, proc2, ...) command collects profiling data for all specified procedures.
|
•
|
The Profile([proc1, tab1], [proc2, tab2], ...) command has a length two list, whose first element is a procedure and second element is an rtable. Profiling is enabled for each procedure with the profiling data specified in the rtable as its initial value. The rtable should be obtained by a call to GetProfileTable on the procedure.
|
•
|
The procedures that are already profiled are not modified by a call to Profile.
|
•
|
To stop profiling, use the UnProfile function.
|
|
|
Examples
|
|
>
|
a := proc(x)
if (x > 1) then
return 1;
else
return 0;
end if;
end proc:
|
>
|
|
>
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
a
a := proc(x)
|Calls Seconds Words|
PROC | 2 0.000 6|
1 | 2 0.000 6| if 1 < x then
2 | 1 0.000 0| return 1
else
3 | 1 0.000 0| return 0
end if
end proc
| |
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
a
a := proc(x)
|Calls Seconds Words|
PROC | 2 0.000 6|
1 | 2 0.000 6| if 1 < x then
2 | 1 0.000 0| return 1
else
3 | 1 0.000 0| return 0
end if
end proc
| |
>
|
|
| (3) |
>
|
|
a
a := proc(x)
|Calls Seconds Words|
PROC | 3 0.000 9|
1 | 3 0.000 9| if 1 < x then
2 | 2 0.000 0| return 1
else
3 | 1 0.000 0| return 0
end if
end proc
| |
|
|