module Main (main) where import Codec.Lzip 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") ] ]