Open jwaldmann opened 1 year ago
(I am not sure about this but it is a source of confusion in #273 )
We have
nf :: NFData b => (a -> b) -> a -> Benchmarkable
and Benchmarkable is "A pure function or impure action that can be benchmarked." (says the haddock).
Benchmarkable
So what happens if I write this:
import Criterion.Main main = defaultMain $ let b = nf length [1 .. 10^7 :: Int ] in [ bench "1" b , bench "2" b , bench "3" b ]
I do get the same timings - the value is shared, but the value denotes the action that performs the evaluation. (I think.)
(I am not sure about this but it is a source of confusion in #273 )
We have
and
Benchmarkable
is "A pure function or impure action that can be benchmarked." (says the haddock).So what happens if I write this:
I do get the same timings - the value is shared, but the value denotes the action that performs the evaluation. (I think.)