save profiling data to a file - Maple Help

Online Help

All Products    Maple    MapleSim


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

CodeTools[Profiling][SaveProfiles] - save profiling data to a file

Calling Sequence

SaveProfiles(filename, proc1, proc2, ..., tab1, tab2, ..., opts)

Parameters

filename

-

string; file in which to save the profiles

proc1, proc2, ...

-

(optional) procedure

tab1, tab2, ...

-

(optional) table

opts

-

(optional) name of the form option where option is one of 'append' or 'overwrite'; specify save options

Description

• 

The SaveProfiles(filename) command saves profiling data for all procedures for which it has profiling data to filename.

• 

The SaveProfiles(filename, proc1, proc2, ...) command saves the profiling data for the specified procedures to the file.

• 

The SaveProfiles(filename, proc1, proc2, ..., tab1, tab2, ...) command reads profiling data from the currently profiled procedures and the specified tables of profiling data.  If a procedure appears more than once in any of these sources, the profiles are joined together (as in Merge) and the data from the merged profiles is saved.

• 

If the file, filename, exists, then SaveProfiles raises an error. To avoid this error, specify the opts parameter as 'append' or 'overwrite'.

  

 

  

'append'

  

Specifies that the saved data is saved to the end of the existing file.

  

 

  

'overwrite'

  

Specifies that an existing file is overwritten by a new file.

  

 

• 

The data written for a procedure is the current profiling data (if any) for the procedure combined with any associated profiling data that was specified in a table.

• 

To reload the profiles into Maple, use the LoadProfiles function.

Examples

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

withCodeTools[Profiling]:

t:=Buildprocs=a,commands='a0','a1':

PrintProfilesa,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

Profilea

a2

1

(1)

PrintProfilesa&comma;t

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

SaveProfilesfile&comma;a&comma;t&colon;

UnProfile

PrintProfilesa

Error, (in CodeTools:-Profiling:-PrintProfiles) a is not currently profiled

LoadProfilesfile&comma;a

PrintProfilesa

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

FileTools&lsqb;Remove&rsqb;file

See Also

CodeTools[Profiling], CodeTools[Profiling][Build], CodeTools[Profiling][GetProfileTable], CodeTools[Profiling][LoadProfiles], CodeTools[Profiling][Merge], CodeTools[Profiling][Profile], CodeTools[Profiling][UnProfile]


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