on master help sign in
Specify benchmark input file via env var

Specifying the input file via an environment variable was broken.

commit6c3f1edfc14368c8c844b7bb10e5e5cd8cf9f8f9 authorHarendra Kumar <harendra@composewell.com> dateWed 28 Oct 2020, 00:35 (6 years ago) parent3999320
2 files changed+12−8
benchmark/Streamly/Benchmark/FileSystem/Handle.hs+8−6 benchmark/Streamly/Benchmark/FileSystem/Handle/Common.hs+4−2
benchmark/Streamly/Benchmark/FileSystem/Handle.hs+8−6
@@ -65,7 +65,7 @@ blockCount size = (size + blockSize - 1) `div` blockSize
6565main :: IO ()
6666main = do
6767 (_, cfg, benches) <- parseCLIOpts defaultStreamSize
68− r <- lookupEnv "Benchmark.FileSystem.Handle.InputFile"
68+ r <- lookupEnv "Benchmark_FileSystem_Handle_InputFile"
6969 (small, big) <-
7070 case r of
7171 Just inFileName -> return (inFileName, inFileName)
@@ -83,18 +83,18 @@ main = do
8383 runProcess_ (shell (cmd inFileBig bigFileSize))
8484 return (inFileSmall, inFileBig)
8585
86+ putStrLn $ "Using small input file: " ++ small
8687 smallHandle <- openFile small ReadMode
88+
89+ putStrLn $ "Using big input file: " ++ big
8790 bigHandle <- openFile big ReadMode
91+
92+ putStrLn $ "Using output file: " ++ outfile
8893 outHandle <- openFile outfile WriteMode
8994 devNull <- openFile "/dev/null" WriteMode
9095
91−#if __GLASGOW_HASKELL__ >= 800
9296 ssize <- fromIntegral <$> getFileSize small
9397 bsize <- fromIntegral <$> getFileSize big
94−#else
95− let ssize = smallFileSize
96− let bsize = bigFileSize
97−#endif
9898
9999 ref <- newIORef $ RefHandles
100100 { smallInH = smallHandle
@@ -107,6 +107,8 @@ main = do
107107 , smallSize = ssize
108108 , bigSize = bsize
109109 , nullH = devNull
110+ , smallInFile = small
111+ , bigInFile = big
110112 }
111113
112114 runMode (mode cfg) cfg benches (allBenchmarks env)
benchmark/Streamly/Benchmark/FileSystem/Handle/Common.hs+4−2
@@ -69,6 +69,8 @@ data BenchEnv = BenchEnv
6969 , smallSize :: Int
7070 , bigSize :: Int
7171 , nullH :: Handle
72+ , smallInFile :: String
73+ , bigInFile :: String
7274 }
7375
7476withScaling :: BenchEnv -> String -> String
@@ -96,8 +98,8 @@ mkBenchCommon mkHandles name env action =
9698 hClose $ outputH r
9799
98100 -- reopen
99− smallInHandle <- openFile inFileSmall ReadMode
100− bigInHandle <- openFile inFileBig ReadMode
101+ smallInHandle <- openFile (smallInFile env) ReadMode
102+ bigInHandle <- openFile (bigInFile env) ReadMode
101103 outHandle <- openFile outfile WriteMode
102104
103105 let refHandles = RefHandles