on master help sign in
update benchmarks for streamD/K
commitd0a07bb70e6656eb1a364654bd9b352bdd8edaa8 authorHarendra Kumar <harendra.kumar@gmail.com> dateMon 25 Jun 2018, 05:45 (8 years ago) parent5ace358
3 files changed+28−31
benchmark/BaseStreams.hs+9−2 benchmark/StreamDOps.hs+13−23 benchmark/StreamKOps.hs+6−6
benchmark/BaseStreams.hs+9−2
@@ -41,8 +41,15 @@ main = do
4141 -- , benchIO "fromFoldableM" D.sourceFromFoldableM
4242 ]
4343 , bgroup "transformation"
44− [
45− benchIO "mapM" D.mapM D.sourceUnfoldrM
44+ [ -- benchIO "scan" D.scan D.sourceUnfoldrM
45+ benchIO "map" D.map D.sourceUnfoldrM
46+ , benchIO "mapM" D.mapM D.sourceUnfoldrM
47+ ]
48+ , bgroup "filtering"
49+ [ benchIO "filter-even" D.filterEven D.sourceUnfoldrM
50+ , benchIO "filter-all-out" D.filterAllOut D.sourceUnfoldrM
51+ , benchIO "filter-all-in" D.filterAllIn D.sourceUnfoldrM
52+ , benchIO "take-all" D.takeAll D.sourceUnfoldrM
4653 ]
4754 ]
4855 , bgroup "streamK"
benchmark/StreamDOps.hs+13−23
@@ -13,7 +13,7 @@ module StreamDOps where
1313 -- (Monad, Int, (+), ($), (.), return, fmap, even, (>), (<=),
1414 -- subtract, undefined, Maybe(..))
1515import Prelude
16− (Monad, Int, (+), (.), return, (>),
16+ (Monad, Int, (+), (.), return, (>), even, (<=),
1717 Maybe(..))
1818
1919import qualified Streamly.Streams.StreamD as S
@@ -26,14 +26,14 @@ maxValue = value + 1000
2626-- Benchmark ops
2727-------------------------------------------------------------------------------
2828
29−{-
30−{-# INLINE scan #-}
29+-- {-# INLINE scan #-}
3130{-# INLINE map #-}
3231{-# INLINE filterEven #-}
3332{-# INLINE filterAllOut #-}
3433{-# INLINE filterAllIn #-}
3534{-# INLINE takeOne #-}
3635{-# INLINE takeAll #-}
36+{-
3737{-# INLINE takeWhileTrue #-}
3838{-# INLINE dropAll #-}
3939{-# INLINE dropWhileTrue #-}
@@ -42,15 +42,18 @@ maxValue = value + 1000
4242{-# INLINE composeAllInFilters #-}
4343{-# INLINE composeAllOutFilters #-}
4444{-# INLINE composeMapAllInFilter #-}
45−scan, map, filterEven, filterAllOut,
46− filterAllIn, takeOne, takeAll, takeWhileTrue, dropAll, dropWhileTrue, zip,
47− concat, composeAllInFilters, composeAllOutFilters,
48− composeMapAllInFilter
45+-}
46+map, filterEven, filterAllOut,
47+ filterAllIn, takeOne, takeAll -- takeWhileTrue, dropAll, dropWhileTrue, zip,
48+ -- concat, composeAllInFilters, composeAllOutFilters,
49+ -- composeMapAllInFilter
4950 :: Monad m
5051 => Stream m Int -> m ()
5152
53+{-
5254{-# INLINE composeMapM #-}
5355composeMapM :: S.MonadAsync m => Stream m Int -> m ()
56+-}
5457
5558{-# INLINE toList #-}
5659toList :: Monad m => Stream m Int -> m [Int]
@@ -58,9 +61,6 @@ toList :: Monad m => Stream m Int -> m [Int]
5861foldl :: Monad m => Stream m Int -> m Int
5962{-# INLINE last #-}
6063last :: Monad m => Stream m Int -> m (Maybe Int)
61−{-# INLINE zipAsync #-}
62−zipAsync :: S.MonadAsync m => Stream m Int -> m ()
63−-}
6464
6565{-# INLINE toNull #-}
6666{-# INLINE mapM #-}
@@ -98,12 +98,6 @@ sourceFromEnum n = S.enumFromStepN n 1 value
9898sourceFromFoldable :: Monad m => Int -> Stream m Int
9999sourceFromFoldable n = S.fromList [n..n+value]
100100
101−{-
102−{-# INLINE sourceFromFoldableM #-}
103−sourceFromFoldableM :: (S.IsStream t, S.MonadAsync m) => Int -> t m Int
104−sourceFromFoldableM n = S.fromFoldableM (Prelude.fmap return [n..n+value])
105−-}
106−
107101{-# INLINE source #-}
108102source :: Monad m => Int -> Stream m Int
109103source n = sourceUnfoldrM n
@@ -117,11 +111,9 @@ runStream :: Monad m => Stream m a -> m ()
117111runStream = S.runStream
118112
119113toNull = runStream
120−{-
121114toList = S.toList
122115foldl = S.foldl' (+) 0
123116last = S.last
124−-}
125117
126118-------------------------------------------------------------------------------
127119-- Transformation
@@ -131,17 +123,15 @@ last = S.last
131123transform :: Monad m => Stream m a -> m ()
132124transform = runStream
133125
134−{-
135−scan = transform . S.scanl' (+) 0
136−map = transform . fmap (+1)
137−-}
126+-- scan = transform . S.scanl' (+) 0
127+map = transform . S.map (+1)
138128mapM = transform . S.mapM return
139−{-
140129filterEven = transform . S.filter even
141130filterAllOut = transform . S.filter (> maxValue)
142131filterAllIn = transform . S.filter (<= maxValue)
143132takeOne = transform . S.take 1
144133takeAll = transform . S.take maxValue
134+{-
145135takeWhileTrue = transform . S.takeWhile (<= maxValue)
146136dropAll = transform . S.drop maxValue
147137dropWhileTrue = transform . S.dropWhile (<= maxValue)
benchmark/StreamKOps.hs+6−6
@@ -16,7 +16,7 @@ import Prelude
1616import qualified Streamly.Streams.StreamK as S hiding (runStream)
1717-- import qualified Streamly.Streams.Serial as S
1818import qualified Streamly as S
19−import qualified Streamly.Prelude as S
19+import qualified Streamly.Prelude as P
2020
2121value, maxValue :: Int
2222value = 1000000
@@ -99,7 +99,7 @@ sourceFromFoldable n = S.fromFoldable [n..n+value]
9999
100100{-# INLINE sourceFromFoldableM #-}
101101sourceFromFoldableM :: S.MonadAsync m => Int -> Stream m Int
102−sourceFromFoldableM n = S.fromFoldableM (Prelude.fmap return [n..n+value])
102+sourceFromFoldableM n = P.fromFoldableM (Prelude.fmap return [n..n+value])
103103
104104{-# INLINE sourceFoldMapWith #-}
105105sourceFoldMapWith :: Monad m => Int -> Stream m Int
@@ -142,15 +142,15 @@ filterAllOut = transform . S.filter (> maxValue)
142142filterAllIn = transform . S.filter (<= maxValue)
143143takeOne = transform . S.take 1
144144takeAll = transform . S.take maxValue
145−takeWhileTrue = transform . S.takeWhile (<= maxValue)
146−dropAll = transform . S.drop maxValue
147−dropWhileTrue = transform . S.dropWhile (<= maxValue)
145+takeWhileTrue = transform . P.takeWhile (<= maxValue)
146+dropAll = transform . P.drop maxValue
147+dropWhileTrue = transform . P.dropWhile (<= maxValue)
148148
149149-------------------------------------------------------------------------------
150150-- Zipping and concat
151151-------------------------------------------------------------------------------
152152
153−zip src = transform $ (S.zipWith (,) src src)
153+zip src = transform $ (P.zipWith (,) src src)
154154concat _n = return ()
155155
156156-------------------------------------------------------------------------------