@@ -32,7 +32,11 @@ data BenchType
3232 | Base
3333 | FileIO
3434 | Array
35+ | UnpinnedArray
36+ | SmallArray
37+ | PrimArray
3538 | Concurrent
39+ | Parallel
3640 deriving Show
3741
3842data Options = Options
@@ -76,7 +80,11 @@ parseBench = do
7680 Just "base" -> setBenchType Base
7781 Just "fileio" -> setBenchType FileIO
7882 Just "array" -> setBenchType Array
83+ Just "unpinned-array" -> setBenchType UnpinnedArray
84+ Just "small-array" -> setBenchType SmallArray
85+ Just "prim-array" -> setBenchType PrimArray
7986 Just "concurrent" -> setBenchType Concurrent
87+ Just "parallel" -> setBenchType Parallel
8088 Just str -> do
8189 liftIO $ putStrLn $ "unrecognized benchmark type " <> str
8290 mzero
@@ -247,9 +255,9 @@ makeFileIOGraphs :: Config -> String -> IO ()
247255makeFileIOGraphs cfg@Config{..} inputFile =
248256 ignoringErr $ graph inputFile "fileIO" cfg
249257
250−makeArrayGraphs :: Config -> String -> IO ()
251−makeArrayGraphs cfg@Config{..} inputFile =
252− ignoringErr $ graph inputFile "array" cfg
258+makeGraphs :: String -> Config -> String -> IO ()
259+makeGraphs name cfg@Config{..} inputFile =
260+ ignoringErr $ graph inputFile name cfg
253261
254262makeConcurrentGraphs :: Config -> String -> IO ()
255263makeConcurrentGraphs cfg@Config{..} inputFile =
@@ -370,14 +378,34 @@ main = do
370378 "charts/fileio"
371379 Array -> benchShow opts cfg
372380 { title = Just "Array" }
373− makeArrayGraphs
381+ (makeGraphs "array")
374382 "charts/array/results.csv"
375383 "charts/array"
384+ UnpinnedArray -> benchShow opts cfg
385+ { title = Just "Unpinned Array" }
386+ (makeGraphs "unpinned-array")
387+ "charts/unpinned-array/results.csv"
388+ "charts/unpinned-array"
389+ SmallArray -> benchShow opts cfg
390+ { title = Just "Small Array" }
391+ (makeGraphs "small-array")
392+ "charts/small-array/results.csv"
393+ "charts/small-array"
394+ PrimArray -> benchShow opts cfg
395+ { title = Just "Prim Array" }
396+ (makeGraphs "prim-array")
397+ "charts/prim-array/results.csv"
398+ "charts/prim-array"
376399 Concurrent -> benchShow opts cfg
377400 { title = Just "Concurrent Ops" }
378401 makeConcurrentGraphs
379402 "charts/concurrent/results.csv"
380403 "charts/concurrent"
404+ Parallel -> benchShow opts cfg
405+ { title = Just "Parallel" }
406+ (makeGraphs "parallel")
407+ "charts/parallel/results.csv"
408+ "charts/parallel"
381409 Base -> do
382410 let cfg' = cfg { title = Just "Base stream" }
383411 if groupDiff