Add fromList variants to benchmark.
authorMilan Straka <fox@ucw.cz>
Thu, 30 Aug 2012 14:51:57 +0000 (16:51 +0200)
committerMilan Straka <fox@ucw.cz>
Thu, 30 Aug 2012 14:51:57 +0000 (16:51 +0200)
Also set the size of inputs for various containers to the same value 2^12.

benchmarks/IntMap.hs
benchmarks/IntSet.hs
benchmarks/Map.hs
benchmarks/Set.hs

index 3a4d2d6..99aaa01 100644 (file)
@@ -39,6 +39,9 @@ main = do
         , bench "alter"  $ whnf (alt keys) m
         , bench "mapMaybe" $ whnf (M.mapMaybe maybeDel) m
         , bench "mapMaybeWithKey" $ whnf (M.mapMaybeWithKey (const maybeDel)) m
+        , bench "fromList" $ whnf M.fromList elems
+        , bench "fromAscList" $ whnf M.fromAscList elems
+        , bench "fromDistinctAscList" $ whnf M.fromAscList elems
         ]
   where
     elems = zip keys values
index 7844097..9f68600 100644 (file)
@@ -32,11 +32,14 @@ main = do
         , bench "union" $ whnf (S.union s_even) s_odd
         , bench "difference" $ whnf (S.difference s) s_even
         , bench "intersection" $ whnf (S.intersection s) s_even
+        , bench "fromList" $ whnf S.fromList elems
+        , bench "fromAscList" $ whnf S.fromAscList elems
+        , bench "fromDistinctAscList" $ whnf S.fromAscList elems
         ]
   where
-    elems = [1..2^10]
-    elems_even = [2,4..2^10]
-    elems_odd = [1,3..2^10]
+    elems = [1..2^12]
+    elems_even = [2,4..2^12]
+    elems_odd = [1,3..2^12]
 
 member :: [Int] -> S.IntSet -> Int
 member xs s = foldl' (\n x -> if S.member x s then n + 1 else n) 0 xs
index 70a7cc9..41211c6 100644 (file)
@@ -58,9 +58,12 @@ main = do
         , bench "difference" $ whnf (M.difference m) m_even
         , bench "intersection" $ whnf (M.intersection m) m_even
         , bench "split" $ whnf (M.split (bound `div` 2)) m
+        , bench "fromList" $ whnf M.fromList elems
+        , bench "fromAscList" $ whnf M.fromAscList elems
+        , bench "fromDistinctAscList" $ whnf M.fromAscList elems
         ]
   where
-    bound = 2^10
+    bound = 2^12
     elems = zip keys values
     elems_even = zip evens evens
     elems_odd = zip odds odds
index 570e14c..b76a6a2 100644 (file)
@@ -33,11 +33,14 @@ main = do
         , bench "union" $ whnf (S.union s_even) s_odd
         , bench "difference" $ whnf (S.difference s) s_even
         , bench "intersection" $ whnf (S.intersection s) s_even
+        , bench "fromList" $ whnf S.fromList elems
+        , bench "fromAscList" $ whnf S.fromAscList elems
+        , bench "fromDistinctAscList" $ whnf S.fromAscList elems
         ]
   where
-    elems = [1..2^10]
-    elems_even = [2,4..2^10]
-    elems_odd = [1,3..2^10]
+    elems = [1..2^12]
+    elems_even = [2,4..2^12]
+    elems_odd = [1,3..2^12]
 
 member :: [Int] -> S.Set Int -> Int
 member xs s = foldl' (\n x -> if S.member x s then n + 1 else n) 0 xs