buildbox-tools 1.2.0.0 → 1.3.0.0
raw patch · 2 files changed
+42/−13 lines, 2 filesdep ~buildbox
Dependency ranges changed: buildbox
Files
- buildbox-tools.cabal +2/−2
- results/Main.hs +40/−11
buildbox-tools.cabal view
@@ -1,5 +1,5 @@ Name: buildbox-tools-Version: 1.2.0.0+Version: 1.3.0.0 License: BSD3 License-file: LICENSE Author: Ben Lippmeier@@ -21,7 +21,7 @@ Executable buildbox-results Build-depends: base == 4.*,- buildbox == 1.2.*,+ buildbox == 1.3.*, parseargs == 0.1.* Main-is: Main.hs hs-source-dirs: results
results/Main.hs view
@@ -25,19 +25,18 @@ let results = (read contents) :: BuildResults putStrLn $ render $ ppr results - -- Compare two results files.- | gotArg args ArgCompare- = do let fileNames = argsRest args- contentss <- mapM readFile fileNames+ -- Print the names of all the benchmarks in a file.+ | Just fileName <- getArg args ArgNames+ , [] <- argsRest args+ = do contents <- readFile fileName+ let results = (read contents) :: BuildResults+ putStrLn + $ render + $ vcat+ $ map (text . benchResultName)+ $ buildResultBench results - let (results :: [BuildResults])- = map read contentss- - let [baseline, current] - = map buildResultBench results - putStrLn $ render $ pprComparisons baseline current- -- Merge two results files, prefering benchmark results on the left. -- The time and environment fields are taken from the file on the right. | gotArg args ArgMerge@@ -50,6 +49,36 @@ print $ mergeResults results + + -- Compare two results files.+ | gotArg args ArgCompare+ = do let fileNames = argsRest args+ contentss <- mapM readFile fileNames++ let (results :: [BuildResults])+ = map read contentss+ + let [baseline, current] + = map buildResultBench results++ putStrLn $ render $ vcat $ punctuate (text "\n") $ map ppr+ $ compareManyBenchResults + (map statBenchResult baseline)+ (map statBenchResult current)++ -- Compare two results files.+ | Just swing <- getArg args ArgSummarise+ = do let fileNames = argsRest args+ contentss <- mapM readFile fileNames++ let (results :: [BuildResults]) = map read contentss+ let [baseline, current] = map buildResultBench results++ putStr $ render $ reportBenchResults (Just swing) + $ compareManyBenchResults + (map statBenchResult baseline)+ (map statBenchResult current)+ | otherwise = usageError args "Nothing to do...\n"