-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Automated benchmarking tool
--
-- Maybench is a tool for comparing the performance between two versions
-- of the same program, on a series of benchmarks that you design.
--
-- Maybench aims to be easy to use, almost as easy as running time
-- your-program arg1..arg2. Ideally, it should be a simple matter for
-- outsiders to write timing tests for your programming project and
-- contribute them as part of your performance testing suite.
--
-- The Darcs repository is available at
-- http://code.haskell.org/maybench.
@package maybench
@version 0.2.2
module Test.Maybench.Utils
class ConsLeft f
(<|) :: (ConsLeft f) => a -> f a -> f a
class ConsRight f
(|>) :: (ConsRight f) => f a -> a -> f a
(<++>) :: (Monoid a) => a -> a -> a
list :: b -> (a -> [a] -> b) -> [a] -> b
fromList :: a -> [a] -> a
instance ConsRight []
instance ConsLeft []
module Test.Maybench.Command
data Command
Cmd :: String -> [String] -> String -> Command
cmdName :: Command -> String
cmdArgs :: Command -> [String]
cmdInput :: Command -> String
updateCmdName :: (String -> String) -> (Command -> Command)
updateCmdInput :: (String -> String) -> (Command -> Command)
updateCmdArgs :: ([String] -> [String]) -> (Command -> Command)
addArg :: String -> (Command -> Command)
addArgs :: [String] -> (Command -> Command)
class (Monad m) => CommandModifierClass m mod
modifyCmd :: (CommandModifierClass m mod) => mod -> m (Command -> Command)
data CommandModifier m
Nop :: CommandModifier m
CmdMod :: CommandModifier m -> mod -> CommandModifier m
(<@>) :: (Monad m, CommandModifierClass m mod) => CommandModifier m -> mod -> CommandModifier m
instance (Monad m) => CommandModifierClass m Command
instance (Monad m) => CommandModifierClass m [String]
instance (Monad m) => CommandModifierClass m String
instance (Monad m) => CommandModifierClass m (CommandModifier m)
module Test.Maybench
data Benchmark
Benchmark :: Int -> [TimeDiff] -> Benchmark
benchIters :: Benchmark -> Int
benchTimes :: Benchmark -> [TimeDiff]
run :: (MonadIO m) => CommandModifier m -> m (String, String)
runC :: (MonadIO m) => Command -> m (String, String)
runProcessWithInput :: FilePath -> [String] -> String -> IO (String, String)
averageTime :: String -> String -> String -> Int -> IO Double
showTimeDiff :: (String, TimeDiff) -> String
printTimeDiff :: (String, TimeDiff) -> IO ()
hour :: Int
day :: Int
month :: Int
year :: Int
minute :: Int
timeDiffToSeconds :: TimeDiff -> Int
secondsToTimeDiff :: Int -> TimeDiff
compareTimes :: (Fractional a) => (String, a) -> (String, a) -> Maybe String