CodeTools[Profiling][Build] - generate profiling data for specified procedures
|
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.
|
|
Specifies commands to be executed during profiling. Generally, these are unevaluated function calls, however other unevaluated expressions can be passed as well.
|
|
Specifies the files to be read during profiling.
|
|
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:
|
>
|
|
>
|
|
| (1) |
>
|
|
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
| |
>
|
|
>
|
|
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
| |
|
|