Skip to content

Commit 487a1cd

Browse files
committed
Fix benchmarks
1 parent 3307712 commit 487a1cd

File tree

2 files changed

+25
-28
lines changed

2 files changed

+25
-28
lines changed

benchmarks/Benchmarks.hs

+25-25
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ data Env = Env {
5555
elemsDupBS :: ![(BS.ByteString, Int)],
5656
elemsDupI :: ![(Int, Int)],
5757

58-
hm :: !(HM.HashMap String Int),
59-
hmbs :: !(HM.HashMap BS.ByteString Int),
60-
hmi :: !(HM.HashMap Int Int),
61-
hmi2 :: !(HM.HashMap Int Int),
58+
hm :: !(HM.HashMapW String Int),
59+
hmbs :: !(HM.HashMapW BS.ByteString Int),
60+
hmi :: !(HM.HashMapW Int Int),
61+
hmi2 :: !(HM.HashMapW Int Int),
6262
m :: !(M.Map String Int),
6363
mbs :: !(M.Map BS.ByteString Int),
6464
im :: !(IM.IntMap Int),
@@ -195,7 +195,7 @@ main = do
195195
]
196196

197197
, env setupEnv $ \ ~(Env{..}) ->
198-
bgroup "HashMap"
198+
bgroup "HashMapW"
199199
[ -- * Basic interface
200200
bgroup "lookup"
201201
[ bench "String" $ whnf (lookup keys) hm
@@ -283,32 +283,32 @@ main = do
283283
]
284284

285285
------------------------------------------------------------------------
286-
-- * HashMap
286+
-- * HashMapW
287287

288-
lookup :: (Eq k, Hashable k) => [k] -> HM.HashMap k Int -> Int
288+
lookup :: (Eq k, Hashable k) => [k] -> HM.HashMapW k Int -> Int
289289
lookup xs m = foldl' (\z k -> fromMaybe z (HM.lookup k m)) 0 xs
290-
{-# SPECIALIZE lookup :: [Int] -> HM.HashMap Int Int -> Int #-}
291-
{-# SPECIALIZE lookup :: [String] -> HM.HashMap String Int -> Int #-}
292-
{-# SPECIALIZE lookup :: [BS.ByteString] -> HM.HashMap BS.ByteString Int
290+
{-# SPECIALIZE lookup :: [Int] -> HM.HashMapW Int Int -> Int #-}
291+
{-# SPECIALIZE lookup :: [String] -> HM.HashMapW String Int -> Int #-}
292+
{-# SPECIALIZE lookup :: [BS.ByteString] -> HM.HashMapW BS.ByteString Int
293293
-> Int #-}
294294

295-
insert :: (Eq k, Hashable k) => [(k, Int)] -> HM.HashMap k Int
296-
-> HM.HashMap k Int
295+
insert :: (Eq k, Hashable k) => [(k, Int)] -> HM.HashMapW k Int
296+
-> HM.HashMapW k Int
297297
insert xs m0 = foldl' (\m (k, v) -> HM.insert k v m) m0 xs
298-
{-# SPECIALIZE insert :: [(Int, Int)] -> HM.HashMap Int Int
299-
-> HM.HashMap Int Int #-}
300-
{-# SPECIALIZE insert :: [(String, Int)] -> HM.HashMap String Int
301-
-> HM.HashMap String Int #-}
302-
{-# SPECIALIZE insert :: [(BS.ByteString, Int)] -> HM.HashMap BS.ByteString Int
303-
-> HM.HashMap BS.ByteString Int #-}
304-
305-
delete :: (Eq k, Hashable k) => [k] -> HM.HashMap k Int -> HM.HashMap k Int
298+
{-# SPECIALIZE insert :: [(Int, Int)] -> HM.HashMapW Int Int
299+
-> HM.HashMapW Int Int #-}
300+
{-# SPECIALIZE insert :: [(String, Int)] -> HM.HashMapW String Int
301+
-> HM.HashMapW String Int #-}
302+
{-# SPECIALIZE insert :: [(BS.ByteString, Int)] -> HM.HashMapW BS.ByteString Int
303+
-> HM.HashMapW BS.ByteString Int #-}
304+
305+
delete :: (Eq k, Hashable k) => [k] -> HM.HashMapW k Int -> HM.HashMapW k Int
306306
delete xs m0 = foldl' (\m k -> HM.delete k m) m0 xs
307-
{-# SPECIALIZE delete :: [Int] -> HM.HashMap Int Int -> HM.HashMap Int Int #-}
308-
{-# SPECIALIZE delete :: [String] -> HM.HashMap String Int
309-
-> HM.HashMap String Int #-}
310-
{-# SPECIALIZE delete :: [BS.ByteString] -> HM.HashMap BS.ByteString Int
311-
-> HM.HashMap BS.ByteString Int #-}
307+
{-# SPECIALIZE delete :: [Int] -> HM.HashMapW Int Int -> HM.HashMapW Int Int #-}
308+
{-# SPECIALIZE delete :: [String] -> HM.HashMapW String Int
309+
-> HM.HashMapW String Int #-}
310+
{-# SPECIALIZE delete :: [BS.ByteString] -> HM.HashMapW BS.ByteString Int
311+
-> HM.HashMapW BS.ByteString Int #-}
312312

313313
------------------------------------------------------------------------
314314
-- * Map

benchmarks/unordered-containers-benchmarks.cabal

-3
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,12 @@ cabal-version: >=1.2
77
executable unordered-containers-benchmarks
88
ghc-options: -Wall -O2
99
cc-options: -msse4.1
10-
c-sources:
11-
../cbits/popc.c
1210
hs-source-dirs: .. .
1311
main-is: Benchmarks.hs
1412
other-modules:
1513
Data.HashMap.Array
1614
Data.HashMap.Base
1715
Data.HashMap.Lazy
18-
Data.HashMap.PopCount
1916
Data.HashMap.Strict
2017
Data.HashMap.Unsafe
2118
Data.HashMap.UnsafeShift

0 commit comments

Comments
 (0)