criterion-1.6.4.0: Robust, reliable performance measurement and analysis

Copyright | (c) 2014 Bryan O'Sullivan
License | BSD-style
Maintainer | bos@serpentine.com
Stability | experimental
Portability | GHC
Safe Haskell | None
Language | Haskell2010

Criterion.Main.Options

Description

Benchmarking command-line configuration.

Synopsis

- data Mode
  - = List
  - | Version
  - | RunIters Config Int64 MatchType [String]
  - | Run Config MatchType [String]
- data MatchType
  - = Prefix
  - | Glob
  - | Pattern
  - | IPattern
- defaultConfig :: Config
- parseWith :: Config -> Parser Mode
- config :: Config -> Parser Config
- describe :: Config -> ParserInfo Mode
- describeWith :: Parser a -> ParserInfo a
- versionInfo :: String

# Documentation

data Mode #

Execution mode for a benchmark program.

Constructors

List | List all benchmarks.
Version | Print the version.
RunIters Config Int64 MatchType [String] | Run the given benchmarks, without collecting or analysing performance numbers.
Run Config MatchType [String] | Run and analyse the given benchmarks.

#### Instances

Instances details

Data Mode # |
Instance details Defined in Criterion.Main.Options Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Mode -> c Mode # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Mode # toConstr :: Mode -> Constr # dataTypeOf :: Mode -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Mode) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Mode) # gmapT :: (forall b. Data b => b -> b) -> Mode -> Mode # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r # gmapQ :: (forall d. Data d => d -> u) -> Mode -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Mode -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Mode -> m Mode # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Mode -> m Mode # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Mode -> m Mode #
Generic Mode # |
Instance details Defined in Criterion.Main.Options Associated Types
type Rep Mode |
Instance details Defined in Criterion.Main.Options type Rep Mode = D1 ('MetaData "Mode" "Criterion.Main.Options" "criterion-1.6.4.0-KMbd5KXmWbyCEa5Lfuxr8d" 'False) ((C1 ('MetaCons "List" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Version" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RunIters" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Config) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MatchType) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]))) :+: C1 ('MetaCons "Run" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Config) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MatchType) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))))
Methods from :: Mode -> Rep Mode x # to :: Rep Mode x -> Mode #
Read Mode # |
Instance details Defined in Criterion.Main.Options Methods readsPrec :: Int -> ReadS Mode # readList :: ReadS [Mode] # readPrec :: ReadPrec Mode # readListPrec :: ReadPrec [Mode] #
Show Mode # |
Instance details Defined in Criterion.Main.Options Methods showsPrec :: Int -> Mode -> ShowS # show :: Mode -> String # showList :: [Mode] -> ShowS #
Eq Mode # |
Instance details Defined in Criterion.Main.Options Methods (==) :: Mode -> Mode -> Bool # (/=) :: Mode -> Mode -> Bool #
type Rep Mode # |
Instance details Defined in Criterion.Main.Options type Rep Mode = D1 ('MetaData "Mode" "Criterion.Main.Options" "criterion-1.6.4.0-KMbd5KXmWbyCEa5Lfuxr8d" 'False) ((C1 ('MetaCons "List" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Version" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RunIters" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Config) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MatchType) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]))) :+: C1 ('MetaCons "Run" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Config) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MatchType) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))))

data MatchType #

How to match a benchmark name.

Constructors

Prefix | Match by prefix. For example, a prefix of `"foo"` will match `"foobar"`.
Glob | Match by Unix-style glob pattern. When using this match type, benchmark names are treated as if they were file-paths. For example, the glob patterns `"*/ba*"` and `"*/*"` will match `"foo/bar"`, but `"*"` or `"*bar"` will not.
Pattern | Match by searching given substring in benchmark paths.
IPattern | Same as `Pattern`, but case insensitive.

#### Instances

Instances details

Data MatchType # |
Instance details Defined in Criterion.Main.Options Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MatchType -> c MatchType # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MatchType # toConstr :: MatchType -> Constr # dataTypeOf :: MatchType -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MatchType) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MatchType) # gmapT :: (forall b. Data b => b -> b) -> MatchType -> MatchType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MatchType -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MatchType -> r # gmapQ :: (forall d. Data d => d -> u) -> MatchType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> MatchType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MatchType -> m MatchType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MatchType -> m MatchType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MatchType -> m MatchType #
Bounded MatchType # |
Instance details Defined in Criterion.Main.Options Methods minBound :: MatchType # maxBound :: MatchType #
Enum MatchType # |
Instance details Defined in Criterion.Main.Options Methods succ :: MatchType -> MatchType # pred :: MatchType -> MatchType # toEnum :: Int -> MatchType # fromEnum :: MatchType -> Int # enumFrom :: MatchType -> [MatchType] # enumFromThen :: MatchType -> MatchType -> [MatchType] # enumFromTo :: MatchType -> MatchType -> [MatchType] # enumFromThenTo :: MatchType -> MatchType -> MatchType -> [MatchType] #
Generic MatchType # |
Instance details Defined in Criterion.Main.Options Associated Types
type Rep MatchType |
Instance details Defined in Criterion.Main.Options type Rep MatchType = D1 ('MetaData "MatchType" "Criterion.Main.Options" "criterion-1.6.4.0-KMbd5KXmWbyCEa5Lfuxr8d" 'False) ((C1 ('MetaCons "Prefix" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Glob" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Pattern" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IPattern" 'PrefixI 'False) (U1 :: Type -> Type)))
Methods from :: MatchType -> Rep MatchType x # to :: Rep MatchType x -> MatchType #
Read MatchType # |
Instance details Defined in Criterion.Main.Options Methods readsPrec :: Int -> ReadS MatchType # readList :: ReadS [MatchType] # readPrec :: ReadPrec MatchType # readListPrec :: ReadPrec [MatchType] #
Show MatchType # |
Instance details Defined in Criterion.Main.Options Methods showsPrec :: Int -> MatchType -> ShowS # show :: MatchType -> String # showList :: [MatchType] -> ShowS #
Eq MatchType # |
Instance details Defined in Criterion.Main.Options Methods (==) :: MatchType -> MatchType -> Bool # (/=) :: MatchType -> MatchType -> Bool #
Ord MatchType # |
Instance details Defined in Criterion.Main.Options Methods compare :: MatchType -> MatchType -> Ordering # (<) :: MatchType -> MatchType -> Bool # (<=) :: MatchType -> MatchType -> Bool # (>) :: MatchType -> MatchType -> Bool # (>=) :: MatchType -> MatchType -> Bool # max :: MatchType -> MatchType -> MatchType # min :: MatchType -> MatchType -> MatchType #
type Rep MatchType # |
Instance details Defined in Criterion.Main.Options type Rep MatchType = D1 ('MetaData "MatchType" "Criterion.Main.Options" "criterion-1.6.4.0-KMbd5KXmWbyCEa5Lfuxr8d" 'False) ((C1 ('MetaCons "Prefix" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Glob" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Pattern" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IPattern" 'PrefixI 'False) (U1 :: Type -> Type)))

defaultConfig :: Config #

Default benchmarking configuration.

parseWith #

Arguments

:: Config | Default configuration to use if options are not explicitly specified.
-> Parser Mode |

Parse a command line.

config :: Config -> Parser Config #

Parse a configuration.

describe :: Config -> ParserInfo Mode #

Flesh out a command-line parser.

describeWith :: Parser a -> ParserInfo a #

Flesh out command-line information using a custom `Parser`.

versionInfo :: String #

A string describing the version of this benchmark (really, the version of criterion that was used to build it).