@@ -21,8 +21,6 @@ import qualified Streamly.Data.Array.Foreign as A
22#ifdef DATA_ARRAY
22#ifdef DATA_ARRAY
23import qualified Streamly.Internal.Data.Array as IA
23import qualified Streamly.Internal.Data.Array as IA
25−import qualified Streamly.Internal.Data.Array.Foreign as IA
27import qualified Streamly.Prelude as S
25import qualified Streamly.Prelude as S
@@ -30,10 +28,6 @@ import Gauge
30import Streamly.Benchmark.Common hiding (benchPureSrc)
28import Streamly.Benchmark.Common hiding (benchPureSrc)
31import qualified Streamly.Benchmark.Prelude as P
29import qualified Streamly.Benchmark.Prelude as P
34−import qualified GHC.Exts as GHC
37#if !defined(DATA_ARRAY_PRIM) && !defined(DATA_ARRAY_PRIM_PINNED)
31#if !defined(DATA_ARRAY_PRIM) && !defined(DATA_ARRAY_PRIM_PINNED)
38import Control.DeepSeq (deepseq)
32import Control.DeepSeq (deepseq)
@@ -42,13 +36,6 @@ import Control.DeepSeq (deepseq)
43-------------------------------------------------------------------------------
37-------------------------------------------------------------------------------
46−-- Drain a source that generates a pure array
47−{-# INLINE benchPureSrc #-}
48−benchPureSrc :: String -> (Int -> Ops.Stream a) -> Benchmark
49−benchPureSrc name src = benchPure name src id
52{-# INLINE benchIO #-}
39{-# INLINE benchIO #-}
53benchIO :: NFData b => String -> (Int -> IO a) -> (a -> b) -> Benchmark
40benchIO :: NFData b => String -> (Int -> IO a) -> (a -> b) -> Benchmark
54benchIO name src f = bench name $ nfIO $
41benchIO name src f = bench name $ nfIO $
@@ -58,8 +45,7 @@ benchIO name src f = bench name $ nfIO $
58{-# INLINE benchIOSrc #-}
45{-# INLINE benchIOSrc #-}
59benchIOSrc ::
46benchIOSrc ::
60#if !defined(DATA_ARRAY_PRIM) \
47#if !defined(DATA_ARRAY_PRIM) \
61− && !defined(DATA_ARRAY_PRIM_PINNED) \
48+ && !defined(DATA_ARRAY_PRIM_PINNED)
62− && !defined(MEMORY_ARRAY)
63 NFData a =>
49 NFData a =>
65 String -> (Int -> IO (Ops.Stream a)) -> Benchmark
51 String -> (Int -> IO (Ops.Stream a)) -> Benchmark
@@ -91,12 +77,6 @@ o_1_space_generation value =
91 (Ops.sourceIntFromToFromList value)
77 (Ops.sourceIntFromToFromList value)
92 , benchIOSrc "writeN . unfoldr" (Ops.sourceUnfoldr value)
78 , benchIOSrc "writeN . unfoldr" (Ops.sourceUnfoldr value)
93 , benchIOSrc "writeN . fromList" (Ops.sourceFromList value)
79 , benchIOSrc "writeN . fromList" (Ops.sourceFromList value)
95− , benchPureSrc "writeN . IsList.fromList" (Ops.sourceIsList value)
97− "writeN . IsString.fromString"
98− (Ops.sourceIsString value)
100#if !defined(DATA_ARRAY_PRIM) && !defined(DATA_ARRAY_PRIM_PINNED)
80#if !defined(DATA_ARRAY_PRIM) && !defined(DATA_ARRAY_PRIM_PINNED)
101#ifdef DATA_SMALLARRAY
81#ifdef DATA_SMALLARRAY
102 , let testStr =
82 , let testStr =
@@ -120,10 +100,6 @@ o_1_space_elimination value =
120 , benchPureSink value "/=" Ops.eqInstanceNotEq
100 , benchPureSink value "/=" Ops.eqInstanceNotEq
121 , benchPureSink value "<" Ops.ordInstance
101 , benchPureSink value "<" Ops.ordInstance
122 , benchPureSink value "min" Ops.ordInstanceMin
102 , benchPureSink value "min" Ops.ordInstanceMin
124− -- length is used to check for foldr/build fusion
125− , benchPureSink value "length . IsList.toList" (length . GHC.toList)
127 , benchIOSink value "foldl'" Ops.pureFoldl'
103 , benchIOSink value "foldl'" Ops.pureFoldl'
128 , benchIOSink value "read" Ops.unfoldReadDrain
104 , benchIOSink value "read" Ops.unfoldReadDrain
129 , benchIOSink value "toStreamRev" Ops.toStreamRevDrain
105 , benchIOSink value "toStreamRev" Ops.toStreamRevDrain
@@ -173,9 +149,7 @@ o_1_space_transformationX4 value =
175moduleName :: String
151moduleName :: String
176−#if defined(MEMORY_ARRAY)
177−moduleName = "Data.Array.Foreign"
178−#elif defined(DATA_ARRAY_PRIM)
152+#if defined(DATA_ARRAY_PRIM)
179moduleName = "Data.Array.Prim"
153moduleName = "Data.Array.Prim"
180#elif defined(DATA_ARRAY_PRIM_PINNED)
154#elif defined(DATA_ARRAY_PRIM_PINNED)
181moduleName = "Data.Array.Prim.Pinned"
155moduleName = "Data.Array.Prim.Pinned"