@@ -49,8 +49,8 @@ benchIO
49benchIO name src sink =
49benchIO name src sink =
50 bench name $ nfIO $ randomRIO (1,1) >>= sink . src
50 bench name $ nfIO $ randomRIO (1,1) >>= sink . src
52−o_n_space_serial_marray :: Int -> MArray.Array Int -> [Benchmark]
52+o_1_space_serial_marray :: Int -> MArray.Array Int -> [Benchmark]
53−o_n_space_serial_marray value array =
53+o_1_space_serial_marray value array =
54 [ benchIO "partitionBy (< 0)" (const array)
54 [ benchIO "partitionBy (< 0)" (const array)
55 $ MArray.partitionBy (< 0)
55 $ MArray.partitionBy (< 0)
56 , benchIO "partitionBy (> 0)" (const array)
56 , benchIO "partitionBy (> 0)" (const array)
@@ -59,22 +59,10 @@ o_n_space_serial_marray value array =
59 $ MArray.partitionBy (< (value `div` 2))
59 $ MArray.partitionBy (< (value `div` 2))
60 , benchIO "partitionBy (> value/2)" (const array)
60 , benchIO "partitionBy (> value/2)" (const array)
61 $ MArray.partitionBy (> (value `div` 2))
61 $ MArray.partitionBy (> (value `div` 2))
64−o_1_space_serial_marray :: Int -> MArray.Array Int -> [Benchmark]
65−o_1_space_serial_marray value array =
66− [ benchIO "strip (< 0)" (const array)
62+ , benchIO "strip (< value/2 || > value/2)" (const array)
67− $ MArray.strip (< 0)
63+ $ MArray.strip (\x -> x < value `div` 2 || x > value `div` 2)
68 , benchIO "strip (> 0)" (const array)
64 , benchIO "strip (> 0)" (const array)
69 $ MArray.strip (> 0)
65 $ MArray.strip (> 0)
70− , benchIO "strip (< value/2)" (const array)
71− $ MArray.strip (< (value `div` 2))
72− , benchIO "strip (> value/2)" (const array)
73− $ MArray.strip (> (value `div` 2))
74− , benchIO "strip (odd)" (const array)
76− , benchIO "strip (even)" (const array)
80-------------------------------------------------------------------------------
68-------------------------------------------------------------------------------
@@ -94,7 +82,5 @@ main = do
95 allBenchmarks array value =
83 allBenchmarks array value =
96 [ bgroup (o_1_space_prefix moduleName) $
84 [ bgroup (o_1_space_prefix moduleName) $
97− o_n_space_serial_marray value array
98− , bgroup (o_1_space_prefix moduleName) $
99 o_1_space_serial_marray value array
85 o_1_space_serial_marray value array