Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7837d1d

Browse files
authored
Merge pull request #304 from haskell-unordered-containers/cleanup-bench
Delete stuff from benchmarks we don't really care about
2 parents 2410784 + 9646e31 commit 7837d1d

File tree

9 files changed

+4
-900
lines changed

9 files changed

+4
-900
lines changed

‎hashable-bench/benchmarks/Benchmarks.hs‎

Lines changed: 2 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,10 @@ module Main (main) where
66
import Control.Monad.ST
77
import Criterion.Main
88
import Data.Hashable
9-
import Data.Hashable.SipHash
109
import Data.Int
1110
import Foreign.ForeignPtr
1211
import GHC.Exts
1312
import GHC.ST (ST(..))
14-
import Data.Word
15-
import Foreign.C.Types (CInt(..), CLong(..), CSize(..))
16-
import Foreign.Ptr
1713
import Data.ByteString.Internal
1814
import GHC.Generics (Generic)
1915
import qualified Data.ByteString.Lazy as BL
@@ -72,27 +68,9 @@ main = do
7268

7369
let k0 = 0x4a7330fae70f52e8
7470
k1 = 0x919ea5953a9a1ec9
75-
sipHash = hashByteString 2 4 k0 k1
71+
72+
hsSipHash :: ByteString -> HS.SipHash
7673
hsSipHash = HS.hash (HS.SipKey k0 k1)
77-
cSipHash (PS fp off len) =
78-
accursedUnutterablePerformIO . withForeignPtr fp $ \ptr ->
79-
return $! c_siphash 2 4 k0 k1 (ptr `plusPtr` off) (fromIntegral len)
80-
cSipHash24 (PS fp off len) =
81-
accursedUnutterablePerformIO . withForeignPtr fp $ \ptr ->
82-
return $! c_siphash24 k0 k1 (ptr `plusPtr` off) (fromIntegral len)
83-
fnvHash (PS fp off len) =
84-
accursedUnutterablePerformIO . withForeignPtr fp $ \ptr ->
85-
return $! fnv_hash (ptr `plusPtr` off) (fromIntegral len) 2166136261
86-
#ifdef HAVE_SSE2
87-
sse2SipHash (PS fp off len) =
88-
accursedUnutterablePerformIO . withForeignPtr fp $ \ptr ->
89-
return $! sse2_siphash k0 k1 (ptr `plusPtr` off) (fromIntegral len)
90-
#endif
91-
#ifdef HAVE_SSE41
92-
sse41SipHash (PS fp off len) =
93-
accursedUnutterablePerformIO . withForeignPtr fp $ \ptr ->
94-
return $! sse41_siphash k0 k1 (ptr `plusPtr` off) (fromIntegral len)
95-
#endif
9674

9775
withForeignPtr fp5 $ \ p5 ->
9876
withForeignPtr fp8 $ \ p8 ->
@@ -181,55 +159,6 @@ main = do
181159
, bench "Int64" $ whnf hash (0x7eadbeefdeadbeef :: Int64)
182160
, bench "Double" $ whnf hash (0.3780675796601578 :: Double)
183161
]
184-
, bgroup "sipHash"
185-
[ bench "5" $ whnf sipHash bs5
186-
, bench "8" $ whnf sipHash bs8
187-
, bench "11" $ whnf sipHash bs11
188-
, bench "40" $ whnf sipHash bs40
189-
, bench "128" $ whnf sipHash bs128
190-
, bench "512" $ whnf sipHash bs512
191-
, bench "2^20" $ whnf sipHash bs1Mb
192-
]
193-
, bgroup "cSipHash"
194-
[ bench "5" $ whnf cSipHash bs5
195-
, bench "8" $ whnf cSipHash bs8
196-
, bench "11" $ whnf cSipHash bs11
197-
, bench "40" $ whnf cSipHash bs40
198-
, bench "128" $ whnf cSipHash bs128
199-
, bench "512" $ whnf cSipHash bs512
200-
, bench "2^20" $ whnf cSipHash bs1Mb
201-
]
202-
, bgroup "cSipHash24"
203-
[ bench "5" $ whnf cSipHash24 bs5
204-
, bench "8" $ whnf cSipHash24 bs8
205-
, bench "11" $ whnf cSipHash24 bs11
206-
, bench "40" $ whnf cSipHash24 bs40
207-
, bench "128" $ whnf cSipHash24 bs128
208-
, bench "512" $ whnf cSipHash24 bs512
209-
, bench "2^20" $ whnf cSipHash24 bs1Mb
210-
]
211-
#ifdef HAVE_SSE2
212-
, bgroup "sse2SipHash"
213-
[ bench "5" $ whnf sse2SipHash bs5
214-
, bench "8" $ whnf sse2SipHash bs8
215-
, bench "11" $ whnf sse2SipHash bs11
216-
, bench "40" $ whnf sse2SipHash bs40
217-
, bench "128" $ whnf sse2SipHash bs128
218-
, bench "512" $ whnf sse2SipHash bs512
219-
, bench "2^20" $ whnf sse2SipHash bs1Mb
220-
]
221-
#endif
222-
#ifdef HAVE_SSE41
223-
, bgroup "sse41SipHash"
224-
[ bench "5" $ whnf sse41SipHash bs5
225-
, bench "8" $ whnf sse41SipHash bs8
226-
, bench "11" $ whnf sse41SipHash bs11
227-
, bench "40" $ whnf sse41SipHash bs40
228-
, bench "128" $ whnf sse41SipHash bs128
229-
, bench "512" $ whnf sse41SipHash bs512
230-
, bench "2^20" $ whnf sse41SipHash bs1Mb
231-
]
232-
#endif
233162
, bgroup "pkgSipHash"
234163
[ bench "5" $ whnf hsSipHash bs5
235164
, bench "8" $ whnf hsSipHash bs8
@@ -239,22 +168,9 @@ main = do
239168
, bench "512" $ whnf hsSipHash bs512
240169
, bench "2^20" $ whnf hsSipHash bs1Mb
241170
]
242-
, bgroup "fnv"
243-
[ bench "5" $ whnf fnvHash bs5
244-
, bench "8" $ whnf fnvHash bs8
245-
, bench "11" $ whnf fnvHash bs11
246-
, bench "40" $ whnf fnvHash bs40
247-
, bench "128" $ whnf fnvHash bs128
248-
, bench "512" $ whnf fnvHash bs512
249-
, bench "2^20" $ whnf fnvHash bs1Mb
250-
]
251171
, bgroup "Int"
252172
[ bench "id32" $ whnf id (0x7eadbeef :: Int32)
253173
, bench "id64" $ whnf id (0x7eadbeefdeadbeef :: Int64)
254-
, bench "wang32" $ whnf hash_wang_32 0xdeadbeef
255-
, bench "wang64" $ whnf hash_wang_64 0xdeadbeefdeadbeef
256-
, bench "jenkins32a" $ whnf hash_jenkins_32a 0xdeadbeef
257-
, bench "jenkins32b" $ whnf hash_jenkins_32b 0xdeadbeef
258174
]
259175
, bgroup "Generic"
260176
[ bench "product" $ whnf hash exP
@@ -271,31 +187,6 @@ new (I# n#) = unBA (runST $ ST $ \s1 ->
271187
(# s2, ary #) -> case unsafeFreezeByteArray# ary s2 of
272188
(# s3, ba #) -> (# s3, BA ba #))
273189

274-
foreign import ccall unsafe "hashable_siphash" c_siphash
275-
:: CInt -> CInt -> Word64 -> Word64 -> Ptr Word8 -> CSize -> Word64
276-
foreign import ccall unsafe "hashable_siphash24" c_siphash24
277-
:: Word64 -> Word64 -> Ptr Word8 -> CSize -> Word64
278-
#ifdef HAVE_SSE2
279-
foreign import ccall unsafe "hashable_siphash24_sse2" sse2_siphash
280-
:: Word64 -> Word64 -> Ptr Word8 -> CSize -> Word64
281-
#endif
282-
#ifdef HAVE_SSE41
283-
foreign import ccall unsafe "hashable_siphash24_sse41" sse41_siphash
284-
:: Word64 -> Word64 -> Ptr Word8 -> CSize -> Word64
285-
#endif
286-
287-
foreign import ccall unsafe "hashable_fnv_hash" fnv_hash
288-
:: Ptr Word8 -> CLong -> CLong -> CLong
289-
290-
foreign import ccall unsafe "hashable_wang_32" hash_wang_32
291-
:: Word32 -> Word32
292-
foreign import ccall unsafe "hashable_wang_64" hash_wang_64
293-
:: Word64 -> Word64
294-
foreign import ccall unsafe "hash_jenkins_32a" hash_jenkins_32a
295-
:: Word32 -> Word32
296-
foreign import ccall unsafe "hash_jenkins_32b" hash_jenkins_32b
297-
:: Word32 -> Word32
298-
299190
data PS
300191
= PS1 Int Char Bool
301192
| PS2 String ()

‎hashable-bench/benchmarks/cbits/inthash.c‎

Lines changed: 0 additions & 28 deletions
This file was deleted.

‎hashable-bench/benchmarks/cbits/siphash-sse2.c‎

Lines changed: 0 additions & 129 deletions
This file was deleted.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /