CodeTools[Profiling] - Maple Help

Online Help

All Products    Maple    MapleSim


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

CodeTools[Profiling]

  

Build

  

generate profiling data for specified procedures

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Build(opts)

Parameters

opts

-

(optional) equation(s) of the form option=value where option is one of commands, files, or procs; specify options for the Build command

Description

• 

The Build(opts) command accepts a set of procedures and commands and returns the profiling data for the procedures collected over the execution of the given commands and any pre-existing profiling data.

• 

The opts parameter can contain any of the following equations that specify options for the Build command.

  

 

  

commands = expression

  

Specifies commands to be executed during profiling.  Generally, these are unevaluated function calls, however other unevaluated expressions can be passed as well.

  

 

  

files = string

  

Specifies the files to be read during profiling.

  

 

  

procs = name

  

Specifies the procedures to be profiled.  If no procedures are specified, then all procedures are profiled.

  

 

• 

You can specify multiple values for the options commands, files, and procs because each option can be passed more than once.  As well, each option accepts a list of values.

• 

If neither commands or files is specified, then the profiling data is taken from procedures that were already profiled at the time of the call to Build.  This can be useful for creating a table of profile data for procedures that have been profiled interactively.

• 

The Build function returns a table whose keys are the encoded names (see CodeTools[EncodeName]) of the procedures that were profiled and whose values are rtables of profile data.  All functions that manipulate profile data, for example, PrintProfiles, accept this table as input.

• 

Unless you want to extract data directly from the profile rtables, it is unnecessary to manipulate the returned table directly.

• 

To join tables generated from separate calls to Build, use the Merge function.

Examples

a := proc(x)
    if (x > 1) then
        return 1;
    else
        return 0;
    end if;
end proc:

withCodeTools[Profiling]:

tBuildprocs=a,commands='a0',commands='a2'

t:=table_Inert_ASSIGNEDNAMEa,PROC=206206100100

(1)

PrintProfilest

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

tBuildprocs&equals;a&comma;commands&equals;&apos;a0&apos;&comma;commands&equals;&apos;a2&apos;&comma;&apos;a1&apos;&colon;

PrintProfilest

a
a := proc(x)
     |Calls Seconds  Words|
PROC |    3   0.000      9|
   1 |    3   0.000      9| if 1 < x then
   2 |    1   0.000      0|   return 1
                            else
   3 |    2   0.000      0|   return 0
                            end if
end proc

See Also

CodeTools[Profiling]

CodeTools[Profiling][Build]

CodeTools[Profiling][GetProfileTable]

CodeTools[Profiling][Merge]

CodeTools[Profiling][PrintProfiles]

CodeTools[Profiling][Profile]

CodeTools[Profiling][UnProfile]

rtable

 


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