enable collection profiling information - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Programming : Profiling : CodeTools[Profiling] : CodeTools/Profiling/Profile

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:

withCodeTools[Profiling]:

Profilea

a2

1

(1)

a0

0

(2)

PrintProfilesa

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

t:=GetProfileTablea&colon;

UnProfilea

PrintProfilesa

Error, (in CodeTools:-Profiling:-PrintProfiles) a is not currently profiled

Profilea&comma;t

PrintProfilesa

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

a3

1

(3)

PrintProfilesa

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

See Also

CodeTools[Profiling], CodeTools[Profiling][Build], CodeTools[Profiling][GetProfileTable], CodeTools[Profiling][PrintProfiles], CodeTools[Profiling][UnProfile], profile


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam