Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data ProfileOption
- data ProfileOptions
- noProfileOptions :: ProfileOptions
- addProfileOption :: String -> ProfileOptions -> Either String ProfileOptions
- containsProfileOption :: ProfileOption -> ProfileOptions -> Bool
- profileOptionsToList :: ProfileOptions -> [ProfileOption]
- profileOptionsFromList :: [ProfileOption] -> ProfileOptions
- validProfileOptionStrings :: [String]
Documentation
data ProfileOption Source #
Various things that can be measured when checking an Agda development. Turned on with
the `--profile` flag, for instance `--profile=sharing` to turn on the Sharing
option.
Internal
, Modules
, and Definitions
are mutually exclusive.
NOTE: Changing this data type requires bumping the interface version number in
currentInterfaceVersion
.
Internal | Measure time taken by various parts of the system (type checking, serialization, etc) |
Modules | Measure time spent on individual (Agda) modules |
Definitions | Measure time spent on individual (Agda) definitions |
Sharing | Measure things related to sharing |
Serialize | Collect detailed statistics about serialization |
Constraints | Collect statistics about constraint solving |
Metas | Count number of created metavariables |
Interactive | Measure time of interactive commands |
Conversion | Collect statistics about conversion checking |
Instances
data ProfileOptions Source #
A set of ProfileOption
s
Instances
EmbPrj ProfileOptions Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Errors | |
Show ProfileOptions Source # | |
Defined in Agda.Utils.ProfileOptions showsPrec :: Int -> ProfileOptions -> ShowS # show :: ProfileOptions -> String # showList :: [ProfileOptions] -> ShowS # | |
NFData ProfileOptions Source # | |
Defined in Agda.Utils.ProfileOptions rnf :: ProfileOptions -> () # | |
Eq ProfileOptions Source # | |
Defined in Agda.Utils.ProfileOptions (==) :: ProfileOptions -> ProfileOptions -> Bool # (/=) :: ProfileOptions -> ProfileOptions -> Bool # |
noProfileOptions :: ProfileOptions Source #
The empty set of profiling options.
addProfileOption :: String -> ProfileOptions -> Either String ProfileOptions Source #
Parse and add a profiling option to a set of profiling options. Returns Left
with a helpful
error message if the option doesn't parse or if it's incompatible with existing options.
The special string "all" adds all options compatible with the given set and prefering the first
of incompatible options. So `--profile=all` sets Internal
over Modules
and Definitions
,
but `--profile=modules --profile=all` sets Modules
and not Internal
.
containsProfileOption :: ProfileOption -> ProfileOptions -> Bool Source #
Check if a given profiling option is present in a set of profiling options.
profileOptionsToList :: ProfileOptions -> [ProfileOption] Source #
Use only for serialization.
profileOptionsFromList :: [ProfileOption] -> ProfileOptions Source #
Use only for serialization.
validProfileOptionStrings :: [String] Source #
Strings accepted by addProfileOption