summaryrefslogtreecommitdiff
path: root/src/GF/Devel/UseIO.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2008-04-29 09:43:35 +0000
committerkrasimir <krasimir@chalmers.se>2008-04-29 09:43:35 +0000
commit6550daf31cd454bca62f2b7d900414ef2150b262 (patch)
tree0c7aeb4420cf5a54a626fdc0748a062bdc9f5cd4 /src/GF/Devel/UseIO.hs
parent4e4734f5a3e8af4270ae5f7c75a7a50490737838 (diff)
let the putPointE print the time in msec
Diffstat (limited to 'src/GF/Devel/UseIO.hs')
-rw-r--r--src/GF/Devel/UseIO.hs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/GF/Devel/UseIO.hs b/src/GF/Devel/UseIO.hs
index 8ffe06605..afbf00efd 100644
--- a/src/GF/Devel/UseIO.hs
+++ b/src/GF/Devel/UseIO.hs
@@ -26,6 +26,7 @@ import System.IO.Error
import System.Environment
import System.CPUTime
import Control.Monad
+import Control.Exception(evaluate)
import qualified Data.ByteString.Char8 as BS
#ifdef mingw32_HOST_OS
@@ -252,10 +253,12 @@ putPointEgen :: (Options -> Bool) -> Options -> String -> IOE a -> IOE a
putPointEgen cond opts msg act = do
let ve x = if cond opts then return () else x
ve $ ioeIO $ putStrFlush msg
- a <- act
---- ve $ ioeIO $ putShow' id a --- replace by a statistics command
- ve $ ioeIO $ putStrFlush " "
--- ve $ ioeIO $ putCPU
+
+ t1 <- ioeIO $ getCPUTime
+ a <- act >>= ioeIO . evaluate
+ t2 <- ioeIO $ getCPUTime
+
+ ve $ ioeIO $ putStrLnFlush (' ' : show ((t2 - t1) `div` 1000000000) ++ " msec")
return a