packages feed

scheduler 1.4.2 → 1.4.2.1

raw patch · 3 files changed

+23/−24 lines, 3 filesdep −fibdep ~streamly

Dependencies removed: fib

Dependency ranges changed: streamly

Files

bench/Scheduler.hs view
@@ -2,38 +2,38 @@  import qualified Control.Concurrent.Async as A (mapConcurrently, replicateConcurrently) import Control.Monad (replicateM)-import Control.Monad.Par (IVar, Par, get, newFull_, parMapM, runParIO)+import Control.Monad.Par (IVar, Par, get, newFull_, runParIO) --, parMapM) import Control.Parallel (par) import Control.Scheduler import Criterion.Main import Control.DeepSeq import Data.Foldable as F import Data.IORef-import Fib+--import Fib import Streamly (asyncly) import qualified Streamly.Prelude as S import UnliftIO.Async (pooledMapConcurrently, pooledReplicateConcurrently)  main :: IO ()-main = do+main =   defaultMain-    ([mkBenchReplicate "Fib" n x fibIORef fibParVar | n <- [1000], x <- [10000]] +++    (--[mkBenchReplicate "Fib" n x fibIORef fibParVar | n <- [1000], x <- [10000]] ++      [mkBenchReplicate "Sum" n x sumIORef sumParVar | n <- [1000], x <- [1000]] ++-     [mkBenchMap "Fib" n fibIO fibParIO fibPar | n <- [2000]] +++     --[mkBenchMap "Fib" n fibIO fibParIO fibPar | n <- [2000]] ++      [mkBenchMap "Sum" n sumIO sumParIO sumPar | n <- [2000]])   where-    fibIO :: Int -> IO Integer-    fibIO x = do-      let y = fib $ toInteger x-      y `seq` pure y-    fibParIO :: Int -> IO Integer-    fibParIO x = do-      let y = fib $ toInteger x-      y `par` pure y-    fibPar :: Int -> Par Integer-    fibPar x = do-      let y = fib $ toInteger x-      y `seq` pure y+    -- fibIO :: Int -> IO Integer+    -- fibIO x = do+    --   let y = fib $ toInteger x+    --   y `seq` pure y+    -- fibParIO :: Int -> IO Integer+    -- fibParIO x = do+    --   let y = fib $ toInteger x+    --   y `par` pure y+    -- fibPar :: Int -> Par Integer+    -- fibPar x = do+    --   let y = fib $ toInteger x+    --   y `seq` pure y     sumIO :: Int -> IO Int     sumIO x = do       let y = F.foldl' (+) 0 [x .. 100*x]@@ -46,10 +46,10 @@     sumPar x = do       let y = F.foldl' (+) 0 [x .. 100*x]       y `seq` pure y-    fibIORef :: IORef Int -> IO Integer-    fibIORef xRef = readIORef xRef >>= fibIO-    fibParVar :: IVar Int -> Par Integer-    fibParVar ivar = get ivar >>= fibPar+    -- fibIORef :: IORef Int -> IO Integer+    -- fibIORef xRef = readIORef xRef >>= fibIO+    -- fibParVar :: IVar Int -> Par Integer+    -- fibParVar ivar = get ivar >>= fibPar     sumIORef :: IORef Int -> IO Int     sumIORef xRef = readIORef xRef >>= sumIO     sumParVar :: IVar Int -> Par Int
scheduler.cabal view
@@ -1,5 +1,5 @@ name:                scheduler-version:             1.4.2+version:             1.4.2.1 synopsis:            Work stealing scheduler. description:         A work stealing scheduler that is primarly developed for [massiv](https://github.com/lehins/massiv) array librarry, but it is general enough to be useful for any computation that fits the model of few workers many jobs. homepage:            https://github.com/lehins/haskell-scheduler@@ -76,7 +76,6 @@                      , async                      , criterion                      , deepseq-                     , fib                      , monad-par                      , scheduler                      , parallel
src/Control/Scheduler/Internal.hs view
@@ -27,7 +27,7 @@ import Data.IORef import Data.Primitive.Array --- | Computated outcome of scheduled jobs.+-- | Computed outcome of scheduled jobs. -- -- @since 1.4.2 data Results a