Add minView benchmark for Map
authorDavid Feuer <David.Feuer@gmail.com>
Mon, 8 Jan 2018 22:44:52 +0000 (17:44 -0500)
committerDavid Feuer <David.Feuer@gmail.com>
Mon, 22 Jan 2018 04:07:58 +0000 (23:07 -0500)
benchmarks/IntMap.hs
benchmarks/Map.hs

index 8fabda4..43ddd91 100644 (file)
@@ -40,6 +40,8 @@ main = do
         , bench "fromList" $ whnf M.fromList elems
         , bench "fromAscList" $ whnf M.fromAscList elems
         , bench "fromDistinctAscList" $ whnf M.fromDistinctAscList elems
         , bench "fromList" $ whnf M.fromList elems
         , bench "fromAscList" $ whnf M.fromAscList elems
         , bench "fromDistinctAscList" $ whnf M.fromDistinctAscList elems
+        , bench "minView" $ whnf (maybe 0 (\((k,v), m) -> k+v+M.size m) . M.minViewWithKey)
+                    (M.fromList $ zip [1..10] [1..10])
         ]
   where
     elems = zip keys values
         ]
   where
     elems = zip keys values
index 60de4b4..731995f 100644 (file)
@@ -91,6 +91,7 @@ main = do
         , bench "fromList-desc" $ whnf M.fromList (reverse elems)
         , bench "fromAscList" $ whnf M.fromAscList elems
         , bench "fromDistinctAscList" $ whnf M.fromDistinctAscList elems
         , bench "fromList-desc" $ whnf M.fromList (reverse elems)
         , bench "fromAscList" $ whnf M.fromAscList elems
         , bench "fromDistinctAscList" $ whnf M.fromDistinctAscList elems
+        , bench "minView" $ whnf (\m' -> case M.minViewWithKey m' of {Nothing -> 0; Just ((k,v),m'') -> k+v+M.size m''}) (M.fromAscList $ zip [1..10::Int] [100..110::Int])
         ]
   where
     bound = 2^12
         ]
   where
     bound = 2^12