import Criterion.Main import Test main = defaultMain [ bench "imp1" $ whnf (\x -> imp1 x x) 1, bench "imp2" $ whnf (\x -> imp2 x x) 1, bench "map imp1 1" $ whnf (sum . map (imp1 1)) [0..1000], bench "map imp2 1" $ whnf (sum . map (imp2 1)) [0..1000], bench "map imp1 0" $ whnf (sum . map (imp1 0)) [0..1000], bench "map imp2 0" $ whnf (sum . map (imp2 0)) [0..1000] ]