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.000     0.00          6288   100.00
---------------------------------------------------------------------------
total:                 5        9    0.000     0.00          6288   100.00

unprofilefib

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

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

g7x2+22xy94y255x+87y56

(2)

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

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

gcda&comma;b

7x222xy+94y2+55x87y+56

(3)

showprofile

function           depth    calls     time    time%         bytes   bytes%
---------------------------------------------------------------------------
gcd                    1        1    0.006   100.00        533664    85.91
randpoly               1        3    0.000     0.00         80976    13.04
expand                 1        8    0.000     0.00          3488     0.56
divide                 1        6    0.000     0.00          3056     0.49
---------------------------------------------------------------------------
total:                 4       18    0.006   100.00        621184   100.00

resetprofile

profilegcd&comma;divide&comma;content

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

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

bexpandgrandpolyx&comma;y&comma;degree=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        242960    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        245888   100.00

See Also

CodeTools,Profile

exprofile

kernelopts

showprofile

unprofile