Что здесь не так, это Lazy Evaluation?Benchmarking и ленивая оценка
teste.hs
module Main where
import Control.Parallel(par,pseq)
import Text.Printf
import Control.Exception
import System.CPUTime
import Data.List
import IO
import Data.Char
import Control.DeepSeq
--Calcula o tempo entre o inicio e o fim de rodagem do programa
time :: IO t -> IO t
time a = do
start <- getCPUTime
v <- a
end <- getCPUTime
let diff = (fromIntegral (end - start))/(10^12)
printf "Computation time: %0.3f sec\n" (diff :: Double)
return v
learquivo :: FilePath -> IO ([[Int]])
learquivo s = do
conteudo <- readFile s
return (read conteudo)
main :: IO()
main = do
conteudo <- learquivo "mkList1.txt"
mapasort <- return (map sort conteudo)
time $ mapasort `seq` return()
*Main> main
Computation time: 0.125 sec
mkList1.txt является список из 100 списков 100 случайных чисел в каждом, более или менее, как это: [[23,45 , 89,78,89 ...], [4783, 44, 34 ...] ...]
Я сделал тест печати mapasort:
- время $ печати («Сортировка usando карта =», mapasort)
И время вычислений значительно возросла, так что я думаю, что что-то не так.
Computation time: 1.188 sec
Благодаря
У вас возникли проблемы с установкой Критерий. Если вы идете на freenode (IRC) и присоединяетесь к людям канала #haskell, вы можете помочь вам установить его. –
TomMD, я сделаю это, спасибо – Gmp