Commit Graph

328 Commits

Author SHA1 Message Date
Harendra Kumar
999b6292b8 Perform first task inline instead of queueing 2017-09-02 03:04:36 +05:30
Harendra Kumar
2e4fc99237 Use IORefs with CAS and MVar instead of TBQueue
Improves performance significantly.
2017-09-01 19:13:20 +05:30
Harendra Kumar
e43f6e46ab disable parallel interleave test
It does not work reliably
2017-09-01 19:12:50 +05:30
Harendra Kumar
150184288d add nil (tiniest possible) task benchmarks 2017-09-01 10:58:55 +05:30
Harendra Kumar
f1a6409e2f rearrange code 2017-09-01 07:44:34 +05:30
Harendra Kumar
d811ad67e4 disable cabal build 2017-08-31 07:57:34 +05:30
Harendra Kumar
5c4e3ad16c Use cabal build for COVERALLS 2017-08-31 07:23:42 +05:30
Harendra Kumar
360b23b6c7 Fix allow_failure for stack nightly build 2017-08-31 06:39:09 +05:30
Harendra Kumar
76eaffddfb update listdir example 2017-08-31 06:32:31 +05:30
Harendra Kumar
bfe86e7b49 Add coveralls and badges 2017-08-31 06:29:22 +05:30
Harendra Kumar
ff84127946 Fix benchmarks and package deps 2017-08-31 06:11:46 +05:30
Harendra Kumar
9527751b18 Disable cabal tests
cabal tests are failing because monad-recorder dependency is not on hackage
2017-08-31 02:10:17 +05:30
Harendra Kumar
c99b575051 Fix type signatures in tests 2017-08-31 02:09:53 +05:30
Harendra Kumar
5679f93c14 Add travis, appveyor ci files 2017-08-30 15:16:14 +05:30
Harendra Kumar
a923ae8e72 reorganize tests and reuse the same tests for all ops 2017-08-30 14:58:51 +05:30
Harendra Kumar
036437ce91 implement fair interleaving of parallel tasks 2017-08-30 14:58:28 +05:30
Harendra Kumar
af09d3162a Gain some perf by passing the q to dequeueLoop
Unboxing reboxing of context to get the q is saved
2017-08-30 04:14:21 +05:30
Harendra Kumar
9da2f40d0d Move forkworker out of fast path 2017-08-30 03:49:38 +05:30
Harendra Kumar
62bca27864 Gain some perf by moving code out of fast path 2017-08-30 03:10:53 +05:30
Harendra Kumar
095349d367 Add MonadError, MonadReader and MonadState instances 2017-08-29 12:47:33 +05:30
Harendra Kumar
39af783eb5 Add Fractional and Floating instance 2017-08-29 11:39:09 +05:30
Harendra Kumar
6e183cfbb0 Simplify Num instance 2017-08-29 11:35:37 +05:30
Harendra Kumar
07c13575d0 rename operators 2017-08-29 11:31:19 +05:30
Harendra Kumar
5c34cc6d78 add API to convert a callback to AsyncT 2017-08-29 11:19:32 +05:30
Harendra Kumar
c81684d415 Add left biased combinator and some utilities
Remove 'for' and 'each'
2017-08-29 10:44:03 +05:30
Harendra Kumar
5f1dc97a9a Add interleaved composition 2017-08-29 07:55:26 +05:30
Harendra Kumar
57e6232aba Add comment about applicative 2017-08-29 05:49:27 +05:30
Harendra Kumar
ed22c1c907 minor fix use mempty instead of empty in Monoid fold 2017-08-29 00:18:07 +05:30
Harendra Kumar
5cdbf1911e add logict to benchmarks 2017-08-28 14:15:45 +05:30
Harendra Kumar
e637b6c280 cleanup 2017-08-28 08:24:08 +05:30
Harendra Kumar
4e26aa558b Remove stale code, rename the type to AsyncT 2017-08-28 08:05:49 +05:30
Harendra Kumar
b9603ccef0 Remove stale stuff 2017-08-28 07:51:46 +05:30
Harendra Kumar
6ce4d8adde remove monad-control stuff 2017-08-28 07:47:35 +05:30
Harendra Kumar
9c720e0eef remove trailing empty from parallel-loops example 2017-08-28 07:33:47 +05:30
Harendra Kumar
f9f6c96d7a rename queue variables 2017-08-28 07:03:38 +05:30
Harendra Kumar
e2b2acd6b5 Start new worker when existing ones are slow 2017-08-28 06:57:31 +05:30
Harendra Kumar
3e1239048e minor fix to alternative example 2017-08-28 06:51:37 +05:30
Harendra Kumar
a0e2a34bbe Fix continuation of the push loop after pull is done 2017-08-28 02:11:10 +05:30
Harendra Kumar
d4363a8ad7 Add loop tests 2017-08-28 02:09:08 +05:30
Harendra Kumar
86f575d6de simplify pullworker code 2017-08-28 00:40:17 +05:30
Harendra Kumar
5db931586e Simplify push code 2017-08-28 00:23:14 +05:30
Harendra Kumar
2cc5c120ac Move a test code block 2017-08-27 08:08:48 +05:30
Harendra Kumar
064bb7e2cd Some simplifications 2017-08-27 08:08:18 +05:30
Harendra Kumar
bdaefb3cff Reuse threads instead of creating fresh every time
Improved the empty thread benchmark by more than 5 times.  Work is now queued
to a common queue and all the worker threads pick it up from there.
2017-08-27 02:23:21 +05:30
Harendra Kumar
e8a746382d Use TBQueue instead of an unbounded channel 2017-08-26 03:03:45 +05:30
Harendra Kumar
b3faafaecb Solve the problem of last dispatch blocking drain
By always having the last dispatch in another thread. This has significant
impact on performance due to an extra thread or some other reason?
2017-08-25 23:58:38 +05:30
Harendra Kumar
2248afac5e Simplify runner functions 2017-08-25 23:38:54 +05:30
Harendra Kumar
ab91267967 Add test case for hierarchical alternative composition 2017-08-25 23:38:06 +05:30
Harendra Kumar
5181c0d15f Fix warning in benchmark 2017-08-24 03:49:32 +05:30
Harendra Kumar
1f01190cca Fix bug due to typo in pull finalizer and move it 2017-08-24 03:46:44 +05:30