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).