| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
BenchmarkHistory
- newtype TimeStamp = TimeStamp {}
- newtype GCStatistics = GCStatistics {}
- data Stats = Stats {
- timeStamp :: !TimeStamp
- preStats :: !GCStatistics
- postStats :: !GCStatistics
- multiplier :: !Int
- gcStatDiff :: Num a => (GCStats -> a) -> GCStats -> GCStats -> a
- benchmark :: (NFData e, NFData a, NFData b) => Int -> String -> (a -> e) -> (e -> a -> b) -> a -> IO ExitCode
- call :: NFData b => (a -> b) -> a -> IO b
- toBlocks :: [Int] -> [a] -> [[a]]
- defbs :: [Integer]
- eachBlock :: (GCStats -> r) -> (Int -> r -> r -> Double) -> [[Stats]] -> [(TimeStamp, Double)]
- basicStats :: [(TimeStamp, Double)] -> IO ExitCode
Documentation
Constructors
| TimeStamp | |
Fields | |
newtype GCStatistics Source
Constructors
| GCStatistics | |
Fields | |
Constructors
| Stats | |
Fields
| |
Arguments
| :: (NFData e, NFData a, NFData b) | |
| => Int | multiplicity of the benchmark run |
| -> String | name of the benchmark file |
| -> (a -> e) | environment generator (not benched) |
| -> (e -> a -> b) | given environment, input, create output |
| -> a | input |
| -> IO ExitCode | run everything, return exit code based on performance |
Benchmark a function. The function should take a /considerable amount of time/ to finish, since the benchmarking system is designed to measure coarse-grained timings.