module Test.Benchmark.Function where
import Text.Printf
import Data.Time
import System.IO
import Data.Char
import System.Random
runData f = do
randomChar <- randomIO
if (last (show f)) == randomChar then return () else return ()
timeAction action = do
t1 <- getCurrentTime
g <- action
t2 <- getCurrentTime
let timeInUnits = (realToFrac $ diffUTCTime t2 t1 :: Float)
return timeInUnits
timeData d = timeAction (runData d)
timeAndPrintData d = timeAndPrintAction (runData d)
timeAndPrintAction action = do
time <- timeAction action
printf "%f\n" time