lzlib 0.3.0.1 → 0.3.0.2
raw patch · 6 files changed
+25/−27 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- README.md +11/−11
- bench/Bench.hs +6/−12
- lzlib.cabal +1/−1
- src/Codec/Lzip.hs +2/−2
- stack.yaml +1/−1
CHANGELOG.md view
@@ -1,5 +1,9 @@ # lzlib +## 0.3.0.2++ * Documentation improvements+ ## 0.3.0.1 * Performance improvements
README.md view
@@ -2,27 +2,27 @@ [](https://matrix.hackage.haskell.org/package/lzlib) [](http://hackage.haskell.org/package/lzlib)+ [](https://hackage.haskell.org/package/lzlib) Haskell bindings to [lzlib](https://www.nongnu.org/lzip/lzlib.html). -This package includes a high-level interface to lzlib, however, it is slow.+This package includes a high-level interface to lzlib. It provides performance+comparable to the [lzip](https://www.nongnu.org/lzip/) command-line tool. +## Comparison++Compared to the [lzip](http://hackage.haskell.org/package/lzip) Haskell library:++ * Uses `c2hs` instead of `hsc2hs`+ * Provides a high-level (`ByteString`-based) API+ ## Hacking Run ```bash-make -j+make ``` to download a few tarballs before running the test suite.--### CI--To edit the CI script, edit `haskell-ci.dhall` and regenerate-`.github/workflows/haskell.yml` with--```-make ci-```
bench/Bench.hs view
@@ -24,24 +24,18 @@ main :: IO () main =- defaultMain [ env files $ \ ~(f, g) ->- bgroup "roundtrip"+ defaultMain [ env file $ \ f ->+ bgroup "roundtrip (decompress/compress)" [ bench "lzlib (lzlib)" $ nf roundtrip f- , bench "lzlib (gmp)" $ nf roundtrip g ]- , bgroup "unpack"+ , bgroup "unpack (decompress/compress)" [ bench "lzlib" $ nfIO unpack ]- , env decompressedFiles $ \ ~(f, g) ->- bgroup "roundtrip'"+ , env decompressed $ \ f ->+ bgroup "roundtrip' (compress/decompress)" [ bench "lzlib (lzlib)" $ nf roundtrip' f- , bench "lzlib (gmp)" $ nf roundtrip' g ]- , bgroup "unpack"+ , bgroup "unpack' (compress/decompress)" [ bench "lzlib" $ nfIO unpack' ] ] where file = BSL.readFile "lzlib-1.10.tar.lz"- bigFile = BSL.readFile "gmp-6.1.2.tar.lz"- files = (,) <$> file <*> bigFile decompressed = BSL.readFile "lzlib-1.10.tar"- bigDecompressed = BSL.readFile "gmp-6.1.2.tar"- decompressedFiles = (,) <$> decompressed <*> bigDecompressed
lzlib.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: lzlib-version: 0.3.0.1+version: 0.3.0.2 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2019 Vanessa McHale
src/Codec/Lzip.hs view
@@ -92,8 +92,8 @@ lZDecompressWrite decoder (castPtr bytes) (fromIntegral sz) $> rest:bss' else BS.useAsCStringLen bs' $ \(bytes, sz) ->- lZDecompressWrite decoder (castPtr bytes) (fromIntegral sz) $>- bss'+ lZDecompressWrite decoder (castPtr bytes) (fromIntegral sz) $>+ bss' [] -> pure [] res <- lZDecompressFinished decoder
stack.yaml view
@@ -1,5 +1,5 @@ ----resolver: lts-14.16+resolver: lts-14.17 ghc-options: {"$locals": -ddump-to-file -ddump-hi} packages: - '.'