Module PlProfileData

Library to access profile data of the Prolog system

IMPORT NOTE: If this module is used, one must set the PAKCS option "plprofile" (wiht ":set +plprofile") in order to make the profile data available from the Prolog system!

Author: Michael Hanus

Version: February 2004

Summary of exported operations:

profileReset :: IO ()   
Resets all profile counters.
profilePredicates :: ProfileSelection -> IO [(String,Int)]   
Gets profile data of all predicates.
prim_profilePredicates :: ProfileSelection -> IO [(String,Int)]   
profileClauses :: ProfileSelection -> String -> IO [(Int,Int)]   
Gets profile data of all clauses of a particular predicate.
prim_profileClauses :: ProfileSelection -> String -> IO [(Int,Int)]   
profileView :: IO ()   
Starts graphical viewer for profile data via the Gauge profiling tool of Sicstus Prolog.
getHnfDefinitions :: IO [(Int,String)]   
Gets the association of HNF clauses to functions symbols (only for internal use).

Exported datatypes:


ProfileSelection

Constructors:

  • Calls :: ProfileSelection
  • Backtracks :: ProfileSelection
  • ChoicePoints :: ProfileSelection
  • ExecTime :: ProfileSelection

Exported operations:

profileReset :: IO ()   

Resets all profile counters.

Further infos:
  • externally defined

profilePredicates :: ProfileSelection -> IO [(String,Int)]   

Gets profile data of all predicates.

prim_profilePredicates :: ProfileSelection -> IO [(String,Int)]   

Further infos:
  • externally defined

profileClauses :: ProfileSelection -> String -> IO [(Int,Int)]   

Gets profile data of all clauses of a particular predicate. The result is a list of pairs (predicate number, profile count)

prim_profileClauses :: ProfileSelection -> String -> IO [(Int,Int)]   

Further infos:
  • externally defined

profileView :: IO ()   

Starts graphical viewer for profile data via the Gauge profiling tool of Sicstus Prolog.

Further infos:
  • externally defined

getHnfDefinitions :: IO [(Int,String)]   

Gets the association of HNF clauses to functions symbols (only for internal use).

Further infos:
  • externally defined