packages feed

cryptohash 0.7.4 → 0.7.5

raw patch · 15 files changed

+132/−14 lines, 15 filesdep +criteriondep ~basenew-component:exe:BenchPVP ok

version bump matches the API change (PVP)

Dependencies added: criterion

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

+ Bench.hs view
@@ -0,0 +1,42 @@+import Criterion.Main+import qualified Data.ByteString as B+import qualified Crypto.Hash.MD2 as MD2+import qualified Crypto.Hash.MD4 as MD4+import qualified Crypto.Hash.MD5 as MD5+import qualified Crypto.Hash.SHA1 as SHA1+import qualified Crypto.Hash.SHA224 as SHA224+import qualified Crypto.Hash.SHA256 as SHA256+import qualified Crypto.Hash.SHA384 as SHA384+import qualified Crypto.Hash.SHA512 as SHA512+import qualified Crypto.Hash.SHA512t as SHA512t+import qualified Crypto.Hash.RIPEMD160 as RIPEMD160+import qualified Crypto.Hash.Tiger as Tiger+import qualified Crypto.Hash.Skein256 as Skein256+import qualified Crypto.Hash.Skein512 as Skein512++allHashs =+	[ ("MD2",MD2.hash)+	, ("MD4",MD4.hash)+	, ("MD5",MD5.hash)+	, ("SHA1",SHA1.hash)+	, ("SHA224",SHA224.hash)+	, ("SHA256",SHA256.hash)+	, ("SHA384",SHA384.hash)+	, ("SHA512",SHA512.hash)+	, ("SHA512t-512",(SHA512t.hash 512))+	, ("RIPEMD160",RIPEMD160.hash)+	, ("Tiger",Tiger.hash)+	, ("Skein256-256",Skein256.hash 256)+	, ("Skein512-512",Skein512.hash 512)+	]++benchHash :: Int -> (B.ByteString -> B.ByteString) -> Pure+benchHash sz f = whnf f (B.replicate sz 0)++withHashes f = map f allHashs++main = defaultMain+	[ bgroup "hash-256b" (withHashes (\(name, f) -> bench name $ benchHash 256 f))+	, bgroup "hash-4Kb" (withHashes (\(name, f) -> bench name $ benchHash 4096 f))+	, bgroup "hash-1Mb" (withHashes (\(name, f) -> bench name $ benchHash (1*1024*1024) f))+	]
Crypto/Hash/MD2.hs view
@@ -24,13 +24,17 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/MD4.hs view
@@ -24,13 +24,17 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/MD5.hs view
@@ -24,13 +24,17 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/RIPEMD160.hs view
@@ -24,13 +24,17 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/SHA1.hs view
@@ -24,13 +24,17 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/SHA224.hs view
@@ -24,13 +24,17 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/SHA256.hs view
@@ -24,13 +24,17 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/SHA384.hs view
@@ -24,13 +24,17 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/SHA512.hs view
@@ -25,13 +25,17 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/Skein256.hs view
@@ -24,14 +24,19 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String import Foreign.C.Types+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word+import Data.Bits  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/Skein512.hs view
@@ -24,14 +24,19 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String import Foreign.C.Types+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word+import Data.Bits  #ifdef HAVE_CRYPTOAPI 
Crypto/Hash/Tiger.hs view
@@ -24,13 +24,17 @@ 	) where  import Prelude hiding (init)-import Foreign+import System.IO.Unsafe (unsafePerformIO) import Foreign.C.String+import Foreign.Ptr+import Foreign.Storable+import Foreign.Marshal.Alloc import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import Data.ByteString (ByteString) import Data.ByteString.Unsafe (unsafeUseAsCString, unsafeUseAsCStringLen) import Data.ByteString.Internal (create, memcpy)+import Data.Word  #ifdef HAVE_CRYPTOAPI 
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2010 Vincent Hanquez <vincent@snarc.org>+Copyright (c) 2010-2012 Vincent Hanquez <vincent@snarc.org>  All rights reserved. 
cryptohash.cabal view
@@ -1,5 +1,5 @@ Name:                cryptohash-Version:             0.7.4+Version:             0.7.5 Description:     A collection of crypto hashes, with a practical incremental and one-pass, pure APIs,     with performance close to the fastest implementations available in others languages.@@ -28,6 +28,10 @@   Description:       Build unit test   Default:           False +Flag benchmark+  Description:       Build benchmark test+  Default:           False+ Flag cryptoapi   Description:       Defines crypto-api instances   Default:           True@@ -81,6 +85,28 @@   if flag(test)     Buildable:       True     Build-depends:   base >= 4, HUnit, bytestring+  else+    Buildable:       False+  if flag(cryptoapi)+    Build-depends:   crypto-api >= 0.5, tagged >= 0.1, cereal >= 0.2+    cpp-options:     -DHAVE_CRYPTOAPI++Executable           Bench+  Main-Is:           Bench.hs+  Extensions:        ForeignFunctionInterface+  C-sources:         cbits/sha1.c+                     cbits/sha256.c+                     cbits/sha512.c+                     cbits/md2.c+                     cbits/md4.c+                     cbits/md5.c+                     cbits/ripemd.c+                     cbits/skein256.c+                     cbits/skein512.c+                     cbits/tiger.c+  if flag(benchmark)+    Buildable:       True+    Build-depends:   base >= 4, bytestring, criterion   else     Buildable:       False   if flag(cryptoapi)