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

Online Help

All Products    Maple    MapleSim


The profile Function

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

profile(procedure1, procedure2, ...)

Parameters

procedure1, procedure2, ...

-

any number of valid Maple procedures that have not already been profiled with profile

Description

• 

The procedure profile alters the given procedures to record runtime information on the procedures. If profile is successful, it returns NULL on exit.

• 

The profiling information is printed using the showprofile() function as shown in the examples below.  For more options and examples see showprofile. To stop collecting profiling information on a function, use unprofile(). To reset the profiler to begin a new profile use resetprofile().

• 

Use of profile() increases memory usage and slows down computations, sometimes dramatically.  In addition, profile may not work properly with procedures that have special evaluation rules.

• 

A closely related function, exprofile(), can be used to profile all Maple functions at once.

Examples

fib:=proc(n) option remember; if n<2 then n else fib(n-1)+fib(n-2) end if; end proc:

profilefib

fib5

5

(1)

showprofilefib

function           depth    calls     time    time%         bytes   bytes%
---------------------------------------------------------------------------
fib                    5        9    0.001   100.00          6512   100.00
---------------------------------------------------------------------------
total:                 5        9    0.001   100.00          6512   100.00

unprofilefib

profilegcd&comma;divide&comma;expand&comma;randpoly

grandpolyx&comma;y&comma;degree&equals;2&comma;dense

g7x2+22xy94y255x+87y56

(2)

aexpandgrandpolyx&comma;y&comma;degree&equals;2&comma;dense&colon;

bexpandgrandpolyx&comma;y&comma;degree&equals;2&comma;dense&colon;

gcda&comma;b

7x222xy+94y2+55x87y+56

(3)

showprofile

function           depth    calls     time    time%         bytes   bytes%
---------------------------------------------------------------------------
gcd                    1        1    0.009    90.00        532856    86.12
randpoly               1        3    0.001    10.00         79344    12.82
expand                 1        8    0.000     0.00          3488     0.56
divide                 1        6    0.000     0.00          3056     0.49
---------------------------------------------------------------------------
total:                 4       18    0.010   100.00        618744   100.00

resetprofile

profilegcd&comma;divide&comma;content

grandpolyx&comma;y&comma;degree&equals;3&comma;dense&colon;

aexpandgrandpolyx&comma;y&comma;degree&equals;7&comma;dense&colon;

bexpandgrandpolyx&comma;y&comma;degree&equals;7&comma;dense&colon;

gcda&comma;b

92x36x2y72xy287y374x237xy44y2+23x29y98

(4)

showprofile

function           depth    calls     time    time%         bytes   bytes%
---------------------------------------------------------------------------
gcd                    1        1    0.003   100.00        242632    98.81
divide                 1        6    0.000     0.00          2928     1.19
content                0        0    0.000     0.00             0     0.00
---------------------------------------------------------------------------
total:                 2        7    0.003   100.00        245560   100.00

See Also

CodeTools,Profile

exprofile

kernelopts

showprofile

unprofile