lzlib-1.0.7.1: bench/Bench.hs
module Main (main) where
import Codec.Lzip
import Control.Applicative ((<$>))
import Criterion.Main
import qualified Data.ByteString.Lazy as BSL
import System.FilePath ((</>))
import System.IO.Temp (withSystemTempDirectory)
unpack :: FilePath -> IO ()
unpack fp' = withSystemTempDirectory "lzlib" $
\fp -> BSL.writeFile (fp </> "dump.tar") =<<
(decompress <$> BSL.readFile fp')
pack :: FilePath -> IO ()
pack fp' = withSystemTempDirectory "lzlib" $
\fp -> BSL.writeFile (fp </> "dump.tar.lz") =<<
compressFile fp'
main :: IO ()
main =
defaultMain [ bgroup "unpack"
[ bench "lzlib" $ nfIO (unpack "lzlib-1.10.tar.lz")
, bench "lzlib" $ nfIO (unpack "gmp-6.1.2.tar.lz")
]
, bgroup "pack"
[ bench "lzlib" $ nfIO (pack "lzlib-1.10.tar") ]
]