CodeTools[Profiling]
LoadProfiles
load profiling data from a file
Calling Sequence
Parameters
Description
Examples
LoadProfiles(filename, proc1, proc2, ..., opts)
filename
-
string; file from which to load the profiles
proc1, proc2, ...
(optional) procedure
opts
equation(s) of the form output=value where value is one of merge or table; specify the type of output
The LoadProfiles(filename) command loads the profiling data stored in filename for all the procedures in the file.
The LoadProfiles(filename, proc1, proc2, ...) command loads the profiling data stored in filename for the specified procedures, proc1, proc2.
By default the profile data is merged into each procedure's profile table. In this case LoadProfiles does not return anything. However, you can specify the output = table option which instructs the LoadProfiles function to return a table of the profiling data, similar to the one returned by Build.
LoadProfiles performs two checks while loading profile data from file. If one of these checks fail, the profiling data for that procedure is not loaded and a warning is printed. The first check determines if the name associated with the data being loaded is the name of a procedure. The second check verifies that the number of rows of data in the file matches the number of statements in the procedure definition.
If a procedure appears more than once in the file (as might happen if SaveProfiles is called with 'append'), then the multiple rtables of profiling data are merged.
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,a⁡1:
SaveProfiles⁡file,a,t:
LoadProfiles⁡file,a,output=table
table⁡_Inert_ASSIGNEDNAME⁡a,PROC=206206000200
PrintProfiles⁡a,t
a a := proc(x) |Calls Seconds Words| PROC | 2 0.000 6| 1 | 2 0.000 6| if 1 < x then 2 | 0 0.000 0| return 1 else 3 | 2 0.000 0| return 0 end if end proc
SaveProfiles⁡file,a,t,append:
LoadProfiles⁡file,a
PrintProfiles⁡a
a a := proc(x) |Calls Seconds Words| PROC | 4 0.000 12| 1 | 4 0.000 12| if 1 < x then 2 | 0 0.000 0| return 1 else 3 | 4 0.000 0| return 0 end if end proc
FileToolsRemove⁡file
See Also
CodeTools[Profiling][Build]
CodeTools[Profiling][PrintProfiles]
CodeTools[Profiling][Profile]
CodeTools[Profiling][SaveProfiles]
CodeTools[Profiling][UnProfile]
FileTools[Remove]
rtable
Download Help Document