The PROFILE signature

This is the user interface for the execution time profiler.


signature PROFILE
structure Compiler.Profile : PROFILE


val setProfMode : bool -> unit
val getProfMode : unit -> bool
val setTimingMode : bool -> unit
val getTimingMode : unit -> bool
val reset : unit -> unit
val report : TextIO.outstream -> unit
val reportAll : TextIO.outstream -> unit
val reportData : unit -> {name : string, count : int, time : Time.time} list


setProfMode b
Set the current profiling mode. When the profiling mode is true, all compilation (through the interactive system or the compilation manager) generates profiled executable code.

getProfMode ()
Get the current profiling mode.

setTimingMode b
Set the timing mode. While true, timer interrupts generate a statistical sample for calculation of where the program is spending its time.

getTimingMode ()
Get the timing mode.

reset ()
Reset profiling counts to zero. This is done automatically when the timing mode is enabled by setTimingMode.

report stream
Print a formatted profile report to stream.

reportAll ou
Print a formatted profile report to stream without suppressing zero entries.

reportData ()
Return the unformatted profile-count data.