[commit: packages/containers] changelog-foldtree, cleaned_bugfix394, develop-0.6, develop-0.6-questionable, master, merge-doc-target, merge-fixes-5.9, merge-restrict-fix-5.8, revert-184-generic, revert-408-bugfix_394, zip-devel: Add zip benchmarks (cdf173f)

git at git.haskell.org git at git.haskell.org
Mon Apr 17 21:35:30 UTC 2017


Repository : ssh://git@git.haskell.org/containers

On branches: changelog-foldtree,cleaned_bugfix394,develop-0.6,develop-0.6-questionable,master,merge-doc-target,merge-fixes-5.9,merge-restrict-fix-5.8,revert-184-generic,revert-408-bugfix_394,zip-devel
Link       : http://git.haskell.org/packages/containers.git/commitdiff/cdf173f4cb1f792a4ac54b939bf197c214abcd43

>---------------------------------------------------------------

commit cdf173f4cb1f792a4ac54b939bf197c214abcd43
Author: David Feuer <David.Feuer at gmail.com>
Date:   Wed Dec 3 12:31:45 2014 -0500

    Add zip benchmarks


>---------------------------------------------------------------

cdf173f4cb1f792a4ac54b939bf197c214abcd43
 benchmarks/Sequence.hs | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/benchmarks/Sequence.hs b/benchmarks/Sequence.hs
index 8c18582..ccaca6c 100644
--- a/benchmarks/Sequence.hs
+++ b/benchmarks/Sequence.hs
@@ -20,10 +20,16 @@ main = do
         r1000 = rlist 1000
     rnf [r10, r100, r1000] `seq` return ()
     defaultMain
-        [ bench "splitAt/append 10" $ nf (shuffle r10) s10
-        , bench "splitAt/append 100" $ nf (shuffle r100) s100
-        , bench "splitAt/append 1000" $ nf (shuffle r1000) s1000
-        ]
+      [ bgroup "splitAt/append"
+         [ bench "10" $ nf (shuffle r10) s10
+         , bench "100" $ nf (shuffle r100) s100
+         , bench "1000" $ nf (shuffle r1000) s1000
+         ]
+      , bgroup "zip"
+         [ bench "ix10000/5000" $ nf (\(xs,ys) -> S.zip xs ys `S.index` 5000) (S.replicate 10000 (), S.fromList [1..10000::Int])
+         , bench "nf150" $ nf (uncurry S.zip) (S.fromList [1..150::Int], S.replicate 150 ())
+         , bench "nf10000" $ nf (uncurry S.zip) (S.fromList [1..10000::Int], S.replicate 10000 ())
+         ] ]
 
 -- splitAt+append: repeatedly cut the sequence at a random point
 -- and rejoin the pieces in the opposite order.



More information about the ghc-commits mailing list