on master help sign in
Add fileio benchmark
50170f3Harendra Kumar
benchmark/Chart.hs+15−1
@@ -22,7 +22,7 @@ import BenchShow
22-- Command line parsing
22-- Command line parsing
23------------------------------------------------------------------------------
23------------------------------------------------------------------------------
24
24
25−data BenchType = Linear | LinearAsync | LinearRate | Nested | Base
25+data BenchType = Linear | LinearAsync | LinearRate | Nested | Base | FileIO
26 deriving Show
26 deriving Show
27
27
28data Options = Options
28data Options = Options
@@ -62,6 +62,7 @@ parseBench = do
62 Just "linear-rate" -> setBenchType LinearRate
62 Just "linear-rate" -> setBenchType LinearRate
63 Just "nested" -> setBenchType Nested
63 Just "nested" -> setBenchType Nested
64 Just "base" -> setBenchType Base
64 Just "base" -> setBenchType Base
65+ Just "fileio" -> setBenchType FileIO
65 Just str -> do
66 Just str -> do
66 liftIO $ putStrLn $ "unrecognized benchmark type " <> str
67 liftIO $ putStrLn $ "unrecognized benchmark type " <> str
67 mzero
68 mzero
@@ -224,6 +225,14 @@ makeLinearRateGraphs cfg inputFile = do
224 putStrLn "Not implemented"
225 putStrLn "Not implemented"
225 return ()
226 return ()
226
227
228+------------------------------------------------------------------------------
229+-- FileIO
230+------------------------------------------------------------------------------
231+
232+makeFileIOGraphs :: Config -> String -> IO ()
233+makeFileIOGraphs cfg@Config{..} inputFile =
234+ ignoringErr $ graph inputFile "fileIO" cfg
235+
227------------------------------------------------------------------------------
236------------------------------------------------------------------------------
228-- Reports/Charts for base streams
237-- Reports/Charts for base streams
229------------------------------------------------------------------------------
238------------------------------------------------------------------------------
@@ -320,6 +329,11 @@ main = do
320 makeNestedGraphs
329 makeNestedGraphs
321 "charts/nested/results.csv"
330 "charts/nested/results.csv"
322 "charts/nested"
331 "charts/nested"
332+ FileIO -> benchShow opts cfg
333+ { title = Just "File IO" }
334+ makeFileIOGraphs
335+ "charts/fileio/results.csv"
336+ "charts/fileio"
323 Base -> do
337 Base -> do
324 let cfg' = cfg { title = Just "100,000 elems" }
338 let cfg' = cfg { title = Just "100,000 elems" }
325 if groupDiff
339 if groupDiff