@@ -22,7 +22,14 @@ import BenchShow
22-- Command line parsing
22-- Command line parsing
23------------------------------------------------------------------------------
23------------------------------------------------------------------------------
25−data BenchType = Linear | LinearAsync | LinearRate | Nested | Base | FileIO
25+data BenchType
26 deriving Show
33 deriving Show
28data Options = Options
35data Options = Options
@@ -63,6 +70,7 @@ parseBench = do
63 Just "nested" -> setBenchType Nested
70 Just "nested" -> setBenchType Nested
64 Just "base" -> setBenchType Base
71 Just "base" -> setBenchType Base
65 Just "fileio" -> setBenchType FileIO
72 Just "fileio" -> setBenchType FileIO
73+ Just "array" -> setBenchType Array
66 Just str -> do
74 Just str -> do
67 liftIO $ putStrLn $ "unrecognized benchmark type " <> str
75 liftIO $ putStrLn $ "unrecognized benchmark type " <> str
@@ -233,6 +241,10 @@ makeFileIOGraphs :: Config -> String -> IO ()
233makeFileIOGraphs cfg@Config{..} inputFile =
241makeFileIOGraphs cfg@Config{..} inputFile =
234 ignoringErr $ graph inputFile "fileIO" cfg
242 ignoringErr $ graph inputFile "fileIO" cfg
244+makeArrayGraphs :: Config -> String -> IO ()
245+makeArrayGraphs cfg@Config{..} inputFile =
246+ ignoringErr $ graph inputFile "array" cfg
236------------------------------------------------------------------------------
248------------------------------------------------------------------------------
237-- Reports/Charts for base streams
249-- Reports/Charts for base streams
238------------------------------------------------------------------------------
250------------------------------------------------------------------------------
@@ -334,6 +346,11 @@ main = do
334 makeFileIOGraphs
346 makeFileIOGraphs
335 "charts/fileio/results.csv"
347 "charts/fileio/results.csv"
336 "charts/fileio"
348 "charts/fileio"
349+ Array -> benchShow opts cfg
350+ { title = Just "Array" }
352+ "charts/array/results.csv"
337 Base -> do
354 Base -> do
338 let cfg' = cfg { title = Just "100,000 elems" }
355 let cfg' = cfg { title = Just "100,000 elems" }
339 if groupDiff
356 if groupDiff