Harendra Kumar
daf6c9c6a7
update performance benchmark results
2018-07-14 10:55:33 +05:30
Harendra Kumar
6b192fb8ae
bump minor version
2018-07-13 21:40:09 +05:30
Harendra Kumar
55f9cfa371
fix foldxM strictness
...
The main change is a single line change in StreamK.hs in foldxM routine.
Major changes in this commit are due to:
1) Added strictness tests for all foldl and scanl rotuines
2) refactoring to enable independent benchmarking for StreamK, to measure the
impact of the change.
2018-07-13 19:00:38 +05:30
Harendra Kumar
6a4a55ba8e
use lts-12
2018-07-13 18:18:28 +05:30
Harendra Kumar
d52407605b
simplify the implementation of drop
2018-07-12 18:28:37 +05:30
Harendra Kumar
a5f813c76e
Update missing changelog item
2018-07-12 05:17:06 +05:30
Harendra Kumar
88d6bcaf21
bump version
2018-07-11 20:28:39 +05:30
Harendra Kumar
09c955ea1e
use haddock "--show-all" for dev docs
2018-07-11 20:22:56 +05:30
Harendra Kumar
352d3a2e83
update docs
2018-07-11 20:10:51 +05:30
Harendra Kumar
49ab45c11c
update gauge version
2018-07-08 11:21:27 +05:30
Harendra Kumar
9182d7d25f
Use a new version of gauge with exact match option
2018-07-07 10:15:24 +05:30
Harendra Kumar
e5ea92f2c9
Add a note about re-writing concurrency control combinators
2018-07-02 11:28:06 +05:30
Harendra Kumar
cf87d1132e
implement maxYields to put a limit on total yields of a stream
...
maxYields is used to limit the concurrent executions of a stream when
it it is immediately followed by a "take" limiting the size of the stream.
Also fix the maxBuffer implementation of aheadly.
2018-07-02 08:46:57 +05:30
Harendra Kumar
516cab57bf
disable sdist build and benchmarks in coverage build
2018-07-02 01:30:45 +05:30
Harendra Kumar
a362b53762
reduce the number of prop tests to enable coverage
...
coverage builds take too long with default number of property tests
2018-07-02 00:49:28 +05:30
Harendra Kumar
a5553b819c
Add default limits for maxThreads/Buffer in docs
2018-07-02 00:27:34 +05:30
Harendra Kumar
72766cb82b
rename threads to maxThreads and buffer to maxBuffer
2018-07-01 23:53:10 +05:30
Harendra Kumar
211df792a4
Add concurrency control using "threads" and "buffer"
...
Also exposed the "filterM" API.
Some benchmarks are affected with this. The most affected benchmarks are:
StreamK ops:
before:
serially/generation/foldMapWith mean 1.940 ms
serially/generation/foldMapWithM mean 3.891 ms
After:
serially/generation/foldMapWith mean 2.874 ms
serially/generation/foldMapWithM mean 5.003 ms
StreamD ops:
zip/zipM are affected
2018-07-01 02:43:48 +05:30
Harendra Kumar
9fe6dc1726
use direct style zipWith and zipWithM
2018-06-27 09:10:39 +05:30
Harendra Kumar
6530e7634f
push uncons/null/head/tail to StreamK
...
and implement direct versions of these as well.
2018-06-27 05:20:14 +05:30
Harendra Kumar
9b78a64f80
implement elem/notElem/all/any for StreamD
2018-06-27 01:04:26 +05:30
Harendra Kumar
9eedc70385
impl StreamD versions of max/min and optimize StreamK versions
2018-06-26 19:43:21 +05:30
Harendra Kumar
c7d2f9e0a3
Add flag to switch stream backend to streamk
2018-06-26 09:44:06 +05:30
Harendra Kumar
689b9c53b8
simplify last
2018-06-26 07:33:59 +05:30
Harendra Kumar
162cb8b2fb
implement direct style mapMaybe and mapMaybeM
2018-06-26 07:15:02 +05:30
Harendra Kumar
beba8f7919
Use direct style filtering functions
...
Also, organized a lot of code, by reordering in a more logical order and made
it consistent across multiple streams types.
2018-06-26 06:00:47 +05:30
Harendra Kumar
2b1093a8dc
use workaround for stack/ghc-8.2.2 crash
2018-06-25 06:58:47 +05:30
Harendra Kumar
70ba5db031
use take and filter from StreamD
2018-06-25 05:53:49 +05:30
Harendra Kumar
d0a07bb70e
update benchmarks for streamD/K
2018-06-25 05:45:45 +05:30
Harendra Kumar
5ace3582a8
use foldl' for length, sum, product
2018-06-25 03:51:02 +05:30
Harendra Kumar
de5c0ca22e
use direct style scan, push mapMaybe from prelude to StreamK
2018-06-25 03:15:22 +05:30
Harendra Kumar
c7b46ad950
Make StreamK, StreamD and Prelude haddock consistent
2018-06-24 23:47:32 +05:30
Harendra Kumar
c794c61058
Add a flag to disable rewrite rules
2018-06-24 22:56:40 +05:30
Harendra Kumar
3ae953064d
use folds and map from direct style stream
2018-06-24 22:43:30 +05:30
Harendra Kumar
bd11ec2037
do not use -Wno-orphan flag before GHC 8.0
2018-06-24 06:38:16 +05:30
Harendra Kumar
7a526f22b9
use direct style streams for linear composition
...
For some stream generation APIs.
Also added, fromList/fromListM APIs.
2018-06-24 06:19:41 +05:30
Harendra Kumar
434ac89dfd
Avoid stack sdist bug in CI
2018-06-23 21:55:59 +05:30
Harendra Kumar
9bb5ac1ea2
Add dev benchmarks for base cont and direct streams
2018-06-23 20:57:24 +05:30
Harendra Kumar
0b6d7a22d7
increase the delay in concurrent ordering tests
2018-06-23 17:31:58 +05:30
Harendra Kumar
341fd82b85
Add direct style re-implementation of StreamK
2018-06-23 17:31:17 +05:30
Harendra Kumar
b856396e14
rename some qualified imports
2018-06-23 07:41:21 +05:30
Harendra Kumar
266148c84a
Add yield and repeat APIs
2018-06-23 07:35:35 +05:30
Harendra Kumar
9c85811905
rename "once" to "yieldM"
...
and some other related refactoring changes.
2018-06-23 06:50:59 +05:30
Harendra Kumar
5ee02ffbf6
rename the continuation based stream to StreamK
2018-06-22 04:30:26 +05:30
Harendra Kumar
9fa7232343
Add missing file to the package manifest
2018-06-22 04:22:17 +05:30
Harendra Kumar
09fcf275d7
remove incorrect test for WAsync
...
Add a test for Parallel
2018-06-22 04:00:28 +05:30
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