CodeTools[Profiling]
Build
generate profiling data for specified procedures
Calling Sequence
Parameters
Description
Examples
Build(opts)
opts
-
(optional) equation(s) of the form option=value where option is one of commands, files, or procs; specify options for the Build command
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.
a := proc(x) if (x > 1) then return 1; else return 0; end if; end proc:
with⁡CodeToolsProfiling:
t≔Build⁡procs=a,commands=a⁡0,commands=a⁡2
t≔table⁡_Inert_ASSIGNEDNAME⁡a,PROC=206206100100
PrintProfiles⁡t
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≔Build⁡procs=a,commands=a⁡0,commands=a⁡2,a⁡−1:
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][Build]
CodeTools[Profiling][GetProfileTable]
CodeTools[Profiling][Merge]
CodeTools[Profiling][PrintProfiles]
CodeTools[Profiling][Profile]
CodeTools[Profiling][UnProfile]
rtable
Download Help Document