Overview of the CodeTools[Profiling] Subpackage
|
Calling Sequence
|
|
CodeTools[Profiling][command](arguments)
command(arguments)
|
|
Description
|
|
•
|
The CodeTools[Profiling] subpackage contains a subpackage and commands to perform statement level profiling and related operations.
|
•
|
The Coverage subpackage, analyzes the profiling data and produces coverage information. This coverage data indicates which procedures and statements executed and which did not. This is useful for testing.
|
•
|
Each command in the CodeTools[Profiling] subpackage can be accessed by using either the long form or the short form of the command name in the command calling sequence.
|
|
As the underlying implementation of the CodeTools[Profiling] subpackage is a module, it is also possible to use the form CodeTools:-Profiling:-command to access a command from the subpackage. For more information, see Module Members.
|
|
|
List of CodeTools[Profiling] Subpackage Commands
|
|
|
The following is a list of the available commands in the CodeTools[Profiling] subpackage.
|
|
|
List of CodeTools[Profiling][Coverage] Module Commands
|
|
|
The following is a list of the available commands in the CodeTools[Profiling][Coverage] subpackage.
|
|
|
Profiling Using the CodeTools[Profiling] Subpackage
|
|
•
|
The profiling data generated by the CodeTools[Profiling] package has some limitations that must be understood to properly interpret the data. The biggest limitation is its inability to profile kernel functions. This means that time spent in the kernel while executing a statement is assigned to that statement, including time for events that are not directly related to the execution of that line, for example, garbage collection.
|
|
To collect the profiling information, Maple evaluates the profiled procedures. Therefore, profiled procedures appear slower when compared to nonprofiled procedures.
|
|
Due to difficulties in resolving names, it is not possible to profile the member functions of a module that is not saved in a repository. To avoid this, simply create a repository using march, set savelibname, and then use savelib to save the module. By adding the new repository to libname, the module is available to use and profile.
|
|
|
See Also
|
|
CodeTools, CodeTools[Profiling][Coverage], help, libname, march, module, savelib, savelibname, symbol, UsingPackages, with
|
|