5 import Debug.Performance
6 import iTasks.Extensions.Terminal
7 import Text.Terminal.VT100
12 = printTime (toString n +++ " steps: ") (doTasks $ onStartup $ steps n)
13 $ printTime (toString n +++ " sequence: ") (doTasks $ onStartup $ seq n)
14 $ printTime (toString n +++ " all: ") (doTasks $ onStartup $ all n)
15 $ printTime (toString n +++ " for: ") (doTasks $ onStartup $ for n)
16 $ printTime (toString (n/100) +++ " exproc: ") (doTasks $ onStartup $ exp (n/100))
17 $ printTime (toString n +++ " get: ") (doTasks $ onStartup $ getter n)
18 $ printTime (toString n +++ " set: ") (doTasks $ onStartup $ setter n)
19 $ printTime (toString n +++ " upd: ") (doTasks $ onStartup $ updater n)
20 $ printTime (toString n +++ " view: ") (doTasks $ onStartup $ view n)
21 $ printTime (toString n +++ " update: ") (doTasks $ onStartup $ update n)
24 sds = sharedStore "bork" 42
26 steps :: Int -> Task Int
28 steps n = return n @ dec >>= steps
30 seq :: Int -> Task [Int]
31 seq n = sequence (repeatn n (return 42))
33 all :: Int -> Task [Int]
34 all n = allTasks (repeatn n (return 42))
36 for :: Int -> Task Int
37 for n = foreverStIf (\x->x < n) 0 (return o inc)
39 exp :: Int -> Task Int
41 exp n = runProcessInteractive zero "/bin/ls" [] Nothing
44 getter :: Int -> Task Int
46 getter n = get sds >>| getter (n-1)
48 setter :: Int -> Task Int
50 setter n = set 42 sds >>| setter (n-1)
52 updater :: Int -> Task Int
54 updater n = upd id sds >>| updater (n-1)
56 view :: Int -> Task Int
58 view n = viewInformation () [] n >>~ view o dec
60 update :: Int -> Task Int
62 update n = updateInformation () [] n >>~ update o dec