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