haskell ghc timing ghci

haskell - Obtener horarios en GHCi



ghci load file (1)

Tengo un procedimiento relativamente lento (adecuadamente llamado lento), y me gustaría hacer algo como

time $ slow [1,2,3,4,5]

en la consola (REPL) para obtener el tiempo, en lugar de tener que compilar el programa y luego ejecutar el tiempo.

Se puede hacer esto?


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 tiempo de la expresión según lo evaluado en el intérprete, sin optimización, por lo que no necesariamente será una medida precisa de cuánto tardan las cosas, o incluso cuál de las dos versiones del mismo código será más rápida, en código compilado real. Para eso, eche un vistazo a la biblioteca de evaluación de criterion .