@@ -7,6 +7,7 @@ module Main where
77import Control.Exception (handle, catch, SomeException, ErrorCall(..))
88import Control.Monad.Trans.State
99import Control.Monad.Trans.Maybe
10+import Data.Char (toLower)
1011import Data.Function (on, (&))
1112import Data.List
1213import Data.List.Split
@@ -38,6 +39,7 @@ data BenchType
3839 | PrimArray
3940 | Concurrent
4041 | Parallel
42+ | Adaptive
4143 deriving Show
4244
4345data Options = Options
@@ -87,6 +89,7 @@ parseBench = do
8789 Just "prim-array" -> setBenchType PrimArray
8890 Just "concurrent" -> setBenchType Concurrent
8991 Just "parallel" -> setBenchType Parallel
92+ Just "adaptive" -> setBenchType Adaptive
9093 Just str -> do
9194 liftIO $ putStrLn $ "unrecognized benchmark type " <> str
9295 mzero
@@ -360,6 +363,12 @@ main = do
360363 let cfg = defaultConfig
361364 { presentation = Groups PercentDiff
362365 , selectBenchmarks = selectBench
366+ , selectFields = filter
367+ ( flip elem ["time" , "mean"
368+ , "maxrss", "cputime"
369+ ]
370+ . map toLower
371+ )
363372 }
364373 res <- parseOptions
365374
@@ -379,7 +388,9 @@ main = do
379388 makeLinearAsyncGraphs
380389 "charts/linear-async/results.csv"
381390 "charts/linear-async"
382− LinearRate -> benchShow opts cfg makeLinearRateGraphs
391+ LinearRate -> benchShow opts cfg
392+ { title = Just "Linear Rate" }
393+ makeLinearRateGraphs
383394 "charts/linear-rate/results.csv"
384395 "charts/linear-rate"
385396 Nested -> benchShow opts cfg
@@ -436,6 +447,11 @@ main = do
436447 (makeGraphs "parallel")
437448 "charts/parallel/results.csv"
438449 "charts/parallel"
450+ Adaptive -> benchShow opts cfg
451+ { title = Just "Adaptive" }
452+ (makeGraphs "adaptive")
453+ "charts/adaptive/results.csv"
454+ "charts/adaptive"
439455 Base -> do
440456 let cfg' = cfg { title = Just "Base stream" }
441457 if groupDiff