Si ingresa :set +s
en GHCi, la información de tiempo y memoria se imprimirá después de la evaluación de cada expresión.
Ejemplo:
Prelude> :set +s
Prelude> sum [1..2^20]
549756338176
it :: (Num a, Enum a) => a
(0.34 secs, 169,197,008 bytes)
Tenga en cuenta que este será el momento de la expresión evaluada en el intérprete, sin optimización, por lo que no será necesariamente una medida precisa del tiempo que tome las cosas, o incluso cuál de las dos versiones del mismo código será más rápida, en el código compilado real. Para eso, eche un vistazo a la biblioteca de evaluación comparativa criterion.
In ghci? ': set + s' te proporciona estadísticas de tiempo y asignación para todas las expresiones evaluadas. Puede escribir un 'tiempo' usando' System.CPUTime.getCPUTime', si lo desea. –
Solo tenga en cuenta que el programa interactivo no le dará información precisa sobre el rendimiento compilado. – rotskoff
Puede que le guste 'time runhaskell foo.hs' y su compañero más honesto' ghc foo.hs -O2 && time./Foo'. –