Harendra Kumar
8830c323a8
Split Streams.hs into individual stream type files
2018-06-22 03:58:16 +05:30
Harendra Kumar
9ad5b200f1
split Core.hs into CPS stream and concurrent
...
Modularize it so that we can have a CPS based stream and a direct stream
backend.
2018-06-20 23:10:40 +05:30
Harendra Kumar
42e5c6bd93
INLINE the main benchmark function
...
makes a big difference especially when the times are small.
2018-06-20 04:49:00 +05:30
Harendra Kumar
b77e76fd53
Add/rearrange INLINE pragmas on benchmarks
2018-06-18 02:56:52 +05:30
Harendra Kumar
4b05cb48b4
split SVar specific code into a separate file
2018-06-18 02:52:48 +05:30
Harendra Kumar
f3e1d5948e
Modularize, separate stream impl specific code
2018-06-17 05:11:06 +05:30
Harendra Kumar
10d828ac27
simplify SVar abstractions
2018-06-17 00:36:52 +05:30
Harendra Kumar
f1f322cb2c
bump version
2018-06-15 02:16:34 +05:30
Harendra Kumar
ce63f90279
update README and cabal description
2018-06-15 02:08:06 +05:30
Harendra Kumar
328365e5e4
update documentation
2018-06-15 00:44:15 +05:30
Harendra Kumar
b9d8f28edd
Fix memory barriers and worker dispatches
2018-06-14 17:02:28 +05:30
Harendra Kumar
b9e5e424a7
remove the append benchmark
...
it is already covered by the generation benchmarks
2018-06-13 17:46:54 +05:30
Harendra Kumar
9790107a63
update bench-graph
2018-06-09 21:15:00 +05:30
Harendra Kumar
aa4c8707b5
add more benchmarks, update benchmarks
2018-06-09 21:11:15 +05:30
Harendra Kumar
b6b103ae2f
Make zipWith INLINE
2018-06-07 17:31:01 +05:30
Harendra Kumar
b65e94d0cf
Add some todo comments
2018-06-06 12:02:22 +05:30
Harendra Kumar
c28f3f1c47
Fix a concurrency bug in filtering ops
...
The bug causes the ops take, takeWhile, drop, dropWhile, filter and reverse to
behave incorrectly due to illegal sharing of SVar across ops.
2018-06-05 19:27:39 +05:30
Harendra Kumar
9acbc6cc8e
Merge pull request #78 from k0ral/patch-1
...
Fix typo
2018-06-04 09:26:14 +05:30
k0ral
35b476f4c0
Fix typo
2018-06-03 20:43:34 +02:00
Harendra Kumar
3d2c545efd
Add write barriers for doorBell
2018-06-03 00:28:14 +05:30
Harendra Kumar
1d13085fb2
Exit and restart workers instead of making them wait
2018-06-03 00:28:14 +05:30
Harendra Kumar
ff475e77d1
Reduce CAS retry to 25 from 30
...
Slightly better perf on macbook pro measured with parallely/foldMapWith*
benchmarks
2018-06-03 00:28:14 +05:30
Harendra Kumar
c9fdf949ee
Add more diagnostics to study the adaptation
2018-06-03 00:28:14 +05:30
Harendra Kumar
12bca7832a
Add benchmarks for adaptive concurrency
2018-06-03 00:28:14 +05:30
Harendra Kumar
da31ef124e
improve perf and modularity
2018-06-03 00:28:14 +05:30
Harendra Kumar
decdf72e3a
use lower number of elements in benchmark stream
...
To enable parallel benchmarks
2018-06-03 00:28:14 +05:30
Harendra Kumar
4c00da9ab4
Merge pull request #76 from subbyte/master
...
mapMaybe and mapMaybeM Implemented
2018-05-30 05:24:58 +05:30
Xiaokui Shu
e46d341819
add mapMaybe and mapMaybeM
2018-05-29 13:12:27 -04:00
Harendra Kumar
54419aa5c3
remove redundant liftIO
2018-05-29 12:51:38 +05:30
Harendra Kumar
c77d3fbd62
More consistent naming of operators
2018-05-28 13:24:42 +05:30
Harendra Kumar
01f0681946
Add concurrent, generation, transformation and application
2018-05-28 12:34:57 +05:30
Harendra Kumar
082a4fcfbb
improve docs, add operator mnemonics
2018-05-28 12:16:36 +05:30
Harendra Kumar
2f706b9bfb
add concurrent stream generation benchmarks
2018-05-28 11:35:33 +05:30
Harendra Kumar
21c07ab9c4
update CI configs to latest packcheck
2018-05-27 21:25:35 +05:30
Harendra Kumar
c3a5ef2826
make docs of unfoldrM and iterateM more precise
...
And improve the "writing concurrent programs" section in tutorial
2018-05-27 18:56:06 +05:30
Harendra Kumar
669295965a
Add some INLINABLE pragams
2018-05-27 10:33:21 +05:30
Harendra Kumar
ed0323caed
Add a diagnostics flag to debug problems in field
2018-05-27 09:52:00 +05:30
Harendra Kumar
d76544497a
Remove lifted-base dependency
...
Also got nice perf bump for parallel composition due to simpler fork
2018-05-27 08:55:03 +05:30
Harendra Kumar
e60357957c
Add concurrent function application operators
2018-05-26 17:02:36 +05:30
Harendra Kumar
092ecb95f4
update documentation
...
- detailed doc for unfoldr/unfoldrM
- notes and cautions on concurrency
- concurrent API annotations
2018-05-25 09:01:22 +05:30
Harendra Kumar
2b62821f48
enable SVar diagnostics
2018-05-24 17:53:40 +05:30
Harendra Kumar
dfecce27eb
Fix build for ghc-7.10 and 8.0
2018-05-24 17:35:18 +05:30
Harendra Kumar
96dca8eacd
update quickcheck version bound
...
for withMaxSuccess API
2018-05-24 17:12:39 +05:30
Harendra Kumar
9cb2ac0bb7
Add concurrent generation and transformation capabilities
...
- monadic stream generation functions are now concurrent
- monadic stream transformation (mapM, sequence) functions are now concurrent
- fixed a race which caused blockedindefinitely on MVar in rare cases
2018-05-24 16:48:48 +05:30
Harendra Kumar
c2279b98b4
rename joinStreamVar2 to joinStreamVarAsync
2018-05-22 15:05:22 +05:30
Harendra Kumar
0a07ae9dbe
Add cons and consM to the IsStream class
2018-05-22 13:07:22 +05:30
Harendra Kumar
3b6427818f
Add fromFoldableM
...
Also,
- INLINE consM and once
- add benchmarking for various ways of sourcing (unfoldr(M), fromFoldable(M),
foldMapWith serial)
2018-05-21 17:54:19 +05:30
Harendra Kumar
21758e09a3
use aheadly in the Listdir example
2018-05-21 06:02:46 +05:30
Harendra Kumar
45a9ea0100
update interop APIs to modular "to" and "from" style
2018-05-19 05:39:14 +05:30
Harendra Kumar
f849361836
Coverage tests take too long and fail, disable them
2018-05-18 13:28:04 +05:30