on master help sign in
remove the append benchmark

it is already covered by the generation benchmarks

commitb9e5e424a72af7e0eebf1a16f988c6ffc5bb26d2 authorHarendra Kumar <harendra.kumar@gmail.com> dateTue 12 Jun 2018, 14:51 (8 years ago) parent9790107
2 files changed+12−31
benchmark/Linear.hs+10−18 benchmark/LinearOps.hs+2−13
benchmark/Linear.hs+10−18
@@ -26,9 +26,6 @@ benchSrcIO
2626benchSrcIO t name f
2727 = bench name $ nfIO $ randomRIO (1,1000) >>= Ops.toNull t . f
2828
29−benchIOAppend :: (NFData b) => String -> (Int -> IO b) -> Benchmark
30−benchIOAppend name f = bench name $ nfIO $ randomRIO (1,1000) >>= f
31−
3229{-
3330_benchId :: NFData b => String -> (Ops.Stream m Int -> Identity b) -> Benchmark
3431_benchId name f = bench name $ nf (runIdentity . f) (Ops.source 10)
@@ -40,10 +37,10 @@ main = do
4037 [ bgroup "serially"
4138 [ bgroup "generation"
4239 [ benchSrcIO serially "unfoldr" $ Ops.sourceUnfoldr
43− , benchSrcIO serially "fromFoldable" Ops.sourceFromFoldable
44− , benchSrcIO serially "foldMapWith" Ops.sourceFoldMapWith
4540 , benchSrcIO serially "unfoldrM" Ops.sourceUnfoldrM
41+ , benchSrcIO serially "fromFoldable" Ops.sourceFromFoldable
4642 , benchSrcIO serially "fromFoldableM" Ops.sourceFromFoldableM
43+ , benchSrcIO serially "foldMapWith" Ops.sourceFoldMapWith
4744 , benchSrcIO serially "foldMapWithM" Ops.sourceFoldMapWithM
4845 ]
4946 , bgroup "elimination"
@@ -66,7 +63,6 @@ main = do
6663 , benchIO "drop-all" Ops.dropAll
6764 , benchIO "dropWhile-true" Ops.dropWhileTrue
6865 ]
69− , benchIOAppend "append" $ Ops.append serially
7066 , benchIO "zip" $ Ops.zip
7167 , bgroup "compose"
7268 [ benchIO "mapM" Ops.composeMapM
@@ -85,45 +81,41 @@ main = do
8581 , bgroup "asyncly"
8682 [ -- benchIO "unfoldr" $ Ops.toNull asyncly
8783 -- , benchSrcIO asyncly "fromFoldable" Ops.sourceFromFoldable
88− benchSrcIO asyncly "foldMapWith" Ops.sourceFoldMapWith
89− , benchSrcIO asyncly "unfoldrM" Ops.sourceUnfoldrM
84+ benchSrcIO asyncly "unfoldrM" Ops.sourceUnfoldrM
9085 , benchSrcIO asyncly "fromFoldableM" Ops.sourceFromFoldableM
86+ , benchSrcIO asyncly "foldMapWith" Ops.sourceFoldMapWith
9187 , benchSrcIO asyncly "foldMapWithM" Ops.sourceFoldMapWithM
9288 , benchIO "mapM" $ Ops.mapM asyncly
93− , benchIOAppend "append" $ Ops.append asyncly
9489 ]
9590 , bgroup "wAsyncly"
9691 [ -- benchIO "unfoldr" $ Ops.toNull wAsyncly
9792 -- , benchSrcIO wAsyncly "fromFoldable" Ops.sourceFromFoldable
98− benchSrcIO wAsyncly "foldMapWith" Ops.sourceFoldMapWith
99− , benchSrcIO wAsyncly "unfoldrM" Ops.sourceUnfoldrM
93+ benchSrcIO wAsyncly "unfoldrM" Ops.sourceUnfoldrM
10094 , benchSrcIO wAsyncly "fromFoldableM" Ops.sourceFromFoldableM
95+ , benchSrcIO wAsyncly "foldMapWith" Ops.sourceFoldMapWith
10196 , benchSrcIO wAsyncly "foldMapWithM" Ops.sourceFoldMapWithM
10297 , benchIO "mapM" $ Ops.mapM wAsyncly
103− , benchIOAppend "append" $ Ops.append wAsyncly
10498 ]
10599 -- unfoldr and fromFoldable are always serial and thereofore the same for
106100 -- all stream types.
107101 , bgroup "aheadly"
108102 [ -- benchIO "unfoldr" $ Ops.toNull aheadly
109103 -- , benchSrcIO aheadly "fromFoldable" Ops.sourceFromFoldable
110− benchSrcIO aheadly "foldMapWith" Ops.sourceFoldMapWith
111− , benchSrcIO aheadly "unfoldrM" Ops.sourceUnfoldrM
104+ benchSrcIO aheadly "unfoldrM" Ops.sourceUnfoldrM
112105 , benchSrcIO aheadly "fromFoldableM" Ops.sourceFromFoldableM
106+ , benchSrcIO aheadly "foldMapWith" Ops.sourceFoldMapWith
113107 , benchSrcIO aheadly "foldMapWithM" Ops.sourceFoldMapWithM
114108 , benchIO "mapM" $ Ops.mapM aheadly
115− , benchIOAppend "append" $ Ops.append aheadly
116109 ]
117110 -- XXX need to use smaller streams to finish in reasonable time
118111 , bgroup "parallely"
119112 [ --benchIO "unfoldr" $ Ops.toNull parallely
120113 --, benchSrcIO parallely "fromFoldable" Ops.sourceFromFoldable
121− benchSrcIO parallely "foldMapWith" Ops.sourceFoldMapWith
122− , benchSrcIO parallely "unfoldrM" Ops.sourceUnfoldrM
114+ benchSrcIO parallely "unfoldrM" Ops.sourceUnfoldrM
123115 , benchSrcIO parallely "fromFoldableM" Ops.sourceFromFoldableM
116+ , benchSrcIO parallely "foldMapWith" Ops.sourceFoldMapWith
124117 , benchSrcIO parallely "foldMapWithM" Ops.sourceFoldMapWithM
125118 , benchIO "mapM" $ Ops.mapM parallely
126− , benchIOAppend "append" $ Ops.append parallely
127119 -- Zip has only one parallel flavor
128120 , benchIO "zip" $ Ops.zipAsync
129121 ]
benchmark/LinearOps.hs+2−13
@@ -11,14 +11,13 @@ module LinearOps where
1111
1212import Prelude
1313 (Monad, Int, (+), ($), (.), return, fmap, even, (>), (<=),
14− subtract, undefined, Maybe(..), Monoid, foldMap)
14+ subtract, undefined, Maybe(..))
1515
1616import qualified Streamly as S
1717import qualified Streamly.Prelude as S
1818
19−value, appendValue, maxValue :: Int
19+value, maxValue :: Int
2020value = 100000
21−appendValue = 100000
2221maxValue = value + 1000
2322
2423-------------------------------------------------------------------------------
@@ -150,16 +149,6 @@ zip src = transform $ (S.zipWith (,) src src)
150149zipAsync src = transform $ (S.zipAsyncWith (,) src src)
151150concat _n = return ()
152151
153−-------------------------------------------------------------------------------
154−-- Append
155−-------------------------------------------------------------------------------
156−
157−{-# INLINE append #-}
158−append
159− :: (Monoid (t m Int), Monad m, Monad (t m))
160− => (t m Int -> S.SerialT m Int) -> Int -> m ()
161−append t n = runStream $ t $ foldMap return [n..n+appendValue]
162−
163152-------------------------------------------------------------------------------
164153-- Composition
165154-------------------------------------------------------------------------------