on master help sign in
Specify benchmark input file via env var
6c3f1edHarendra Kumar
benchmark/Streamly/Benchmark/FileSystem/Handle.hs+8−6
@@ -65,7 +65,7 @@ blockCount size = (size + blockSize - 1) `div` blockSize
65main :: IO ()
65main :: IO ()
66main = do
66main = do
67 (_, cfg, benches) <- parseCLIOpts defaultStreamSize
67 (_, cfg, benches) <- parseCLIOpts defaultStreamSize
68− r <- lookupEnv "Benchmark.FileSystem.Handle.InputFile"
68+ r <- lookupEnv "Benchmark_FileSystem_Handle_InputFile"
69 (small, big) <-
69 (small, big) <-
70 case r of
70 case r of
71 Just inFileName -> return (inFileName, inFileName)
71 Just inFileName -> return (inFileName, inFileName)
@@ -83,18 +83,18 @@ main = do
83 runProcess_ (shell (cmd inFileBig bigFileSize))
83 runProcess_ (shell (cmd inFileBig bigFileSize))
84 return (inFileSmall, inFileBig)
84 return (inFileSmall, inFileBig)
85
85
86+ putStrLn $ "Using small input file: " ++ small
86 smallHandle <- openFile small ReadMode
87 smallHandle <- openFile small ReadMode
88+
89+ putStrLn $ "Using big input file: " ++ big
87 bigHandle <- openFile big ReadMode
90 bigHandle <- openFile big ReadMode
91+
92+ putStrLn $ "Using output file: " ++ outfile
88 outHandle <- openFile outfile WriteMode
93 outHandle <- openFile outfile WriteMode
89 devNull <- openFile "/dev/null" WriteMode
94 devNull <- openFile "/dev/null" WriteMode
90
95
91−#if __GLASGOW_HASKELL__ >= 800
92 ssize <- fromIntegral <$> getFileSize small
96 ssize <- fromIntegral <$> getFileSize small
93 bsize <- fromIntegral <$> getFileSize big
97 bsize <- fromIntegral <$> getFileSize big
94−#else
95− let ssize = smallFileSize
96− let bsize = bigFileSize
97−#endif
98
98
99 ref <- newIORef $ RefHandles
99 ref <- newIORef $ RefHandles
100 { smallInH = smallHandle
100 { smallInH = smallHandle
@@ -107,6 +107,8 @@ main = do
107 , smallSize = ssize
107 , smallSize = ssize
108 , bigSize = bsize
108 , bigSize = bsize
109 , nullH = devNull
109 , nullH = devNull
110+ , smallInFile = small
111+ , bigInFile = big
110 }
112 }
111
113
112 runMode (mode cfg) cfg benches (allBenchmarks env)
114 runMode (mode cfg) cfg benches (allBenchmarks env)
benchmark/Streamly/Benchmark/FileSystem/Handle/Common.hs+4−2
@@ -69,6 +69,8 @@ data BenchEnv = BenchEnv
69 , smallSize :: Int
69 , smallSize :: Int
70 , bigSize :: Int
70 , bigSize :: Int
71 , nullH :: Handle
71 , nullH :: Handle
72+ , smallInFile :: String
73+ , bigInFile :: String
72 }
74 }
73
75
74withScaling :: BenchEnv -> String -> String
76withScaling :: BenchEnv -> String -> String
@@ -96,8 +98,8 @@ mkBenchCommon mkHandles name env action =
96 hClose $ outputH r
98 hClose $ outputH r
97
99
98 -- reopen
100 -- reopen
99− smallInHandle <- openFile inFileSmall ReadMode
101+ smallInHandle <- openFile (smallInFile env) ReadMode
100− bigInHandle <- openFile inFileBig ReadMode
102+ bigInHandle <- openFile (bigInFile env) ReadMode
101 outHandle <- openFile outfile WriteMode
103 outHandle <- openFile outfile WriteMode
102
104
103 let refHandles = RefHandles
105 let refHandles = RefHandles