Profile - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


CodeTools[Profiling]

  

Profile

  

enable collection profiling information

 

Calling Sequence

Parameters

Description

Examples

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:

withCodeToolsProfiling:

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

tGetProfileTablea&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