Safe Haskell | None |
---|---|
Language | Haskell2010 |
- 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
newtype GCStatistics Source
Stats | |
|
:: (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.