
26 Jan
2007
26 Jan
'07
6:20 p.m.
On Jan 26, 2007, at 4:56 PM, Sean McLaughlin wrote:
Hello,
I'm trying to write a simple function to time an application.
-- this doesn't work
time f x = do n1 <- CPUTime.getCPUTime let res = f x in do n2 <- CPUTime.getCPUTime return (res,n2 - n1)
On a function that takes 8 seconds to complete, returns (True,46000000)
Remember that Haskell is lazy -- res won't be evaluated until it is forced. See the evaluate function in Control.Exception to force a value in the IO monad. Spencer Janssen