Используйте
import Criterion.Main
вместо
import Criterion.Main (defaultMain)
Функция bench
из Criterion.Main
недоступна, поскольку вы импортируете только defaultMain
.Использовать bgroup
не обязательно.
Вот полный рабочий пример:
import Criterion.Main
fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
main = defaultMain [
bench "fib 10" $ nf fib 10
, bench "fib 30" $ nf fib 30
, bench "fib 35" $ nf fib 35
]
Если вам интересно, для чего нужны эти nf
вещи, посмотрите на этот раздел документации.