hw-diagnostics-0.0.0.3: src/HaskellWorks/Diagnostics/Time.hs
{-# LANGUAGE BangPatterns #-}
module HaskellWorks.Diagnostics.Time where
import System.CPUTime
measure :: a -> IO a
measure a = measureIO (return a)
measureIO :: IO a -> IO a
measureIO a = do
start <- getCPUTime
!b <- a
end <- getCPUTime
putStrLn $ show ((end - start) `div` 1000000000) ++ " ms"
return b