Repository : ssh://[email protected]/containers On branch : ghc-head Link : http://git.haskell.org/?p=packages/containers.git;a=commit;h=cfb472c87df53c37c7b54561d0b727ffbc772be0
>--------------------------------------------------------------- commit cfb472c87df53c37c7b54561d0b727ffbc772be0 Author: Milan Straka <[email protected]> Date: Thu Aug 30 16:51:57 2012 +0200 Add fromList variants to benchmark. Also set the size of inputs for various containers to the same value 2^12. >--------------------------------------------------------------- cfb472c87df53c37c7b54561d0b727ffbc772be0 benchmarks/IntMap.hs | 3 +++ benchmarks/IntSet.hs | 9 ++++++--- benchmarks/Map.hs | 5 ++++- benchmarks/Set.hs | 9 ++++++--- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/benchmarks/IntMap.hs b/benchmarks/IntMap.hs index 3a4d2d6..99aaa01 100644 --- a/benchmarks/IntMap.hs +++ b/benchmarks/IntMap.hs @@ -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 diff --git a/benchmarks/IntSet.hs b/benchmarks/IntSet.hs index 7844097..9f68600 100644 --- a/benchmarks/IntSet.hs +++ b/benchmarks/IntSet.hs @@ -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 diff --git a/benchmarks/Map.hs b/benchmarks/Map.hs index 70a7cc9..41211c6 100644 --- a/benchmarks/Map.hs +++ b/benchmarks/Map.hs @@ -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 diff --git a/benchmarks/Set.hs b/benchmarks/Set.hs index 570e14c..b76a6a2 100644 --- a/benchmarks/Set.hs +++ b/benchmarks/Set.hs @@ -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 _______________________________________________ ghc-commits mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-commits
