Commit Graph

659 Commits

Author SHA1 Message Date
Harendra Kumar
f09e741e04 Add benchmarks for maxRate, maxThreads and maxBuffer 2018-08-12 18:20:03 +05:30
Harendra Kumar
c602d84990 Fix "not sufficient concurrency" in ahead streams 2018-08-12 18:20:03 +05:30
Harendra Kumar
b33e9c274b performance improvements after maxrate changes 2018-08-12 18:20:03 +05:30
Harendra Kumar
610c33a504 Add concurrency rate control using maxRate 2018-08-12 18:20:03 +05:30
Harendra Kumar
acbb70ae2f Add circleci status badge 2018-08-12 14:10:41 +05:30
Harendra Kumar
16ebabe916 Add circleci for coveralls 2018-08-12 06:40:41 +05:30
Harendra Kumar
c39a442ddf Add benchmarks and tests for new operations
Also fix the signature of foldl1'
Add notes about state passing
2018-08-09 00:43:48 +05:30
Harendra Kumar
cd50805c92 Do not share concurrency state in concurrent function application 2018-08-08 17:17:56 +05:30
Harendra Kumar
9b87957f4f
Merge pull request #95 from Veladus/approved-prelude-functions
Approved prelude functions
2018-07-24 23:37:06 +05:30
Veladus
cd0cb16f6d Update Changelog 2018-07-24 18:45:52 +02:00
Veladus
8fec7c27ae Generalized eliminateOp and transform; add test for Prelude#lookup 2018-07-24 18:45:52 +02:00
Veladus
a9aa3aeef8 Add Prelude#foldl1', Prelude#foldr1 2018-07-24 18:45:52 +02:00
Veladus
9706067159 Add Prelude#intersperseM 2018-07-24 18:45:35 +02:00
Veladus
74ce247d71 Add Prelude#find, Prelude#lookup 2018-07-24 18:28:30 +02:00
Veladus
a39a35c6c8 Add Prelude#and, Prelude#or 2018-07-24 18:27:11 +02:00
Veladus
52eccb97e7 Add Prelude#findIndices, Prelude#findIndex, Prelude#elemIndices, Prelude#elemIndex 2018-07-24 18:27:11 +02:00
Veladus
e6c75f6aa9 Add Prelude#init 2018-07-24 18:23:56 +02:00
Harendra Kumar
2af38332b8
Merge pull request #89 from timbuckley/patch-1
(m) Use more Haskell syntax highlighting in README
2018-07-18 23:58:13 +05:30
Tim Buckley
574e7453a0
(m) Use more Haskell syntax highlighting in README 2018-07-18 10:38:29 -04:00
Harendra Kumar
6ab3ce0655 disable map-and-filter composition benchmarks for GHC-8.2
GHC-8.2 crashes with this code with out-of-memory
2018-07-14 13:10:09 +05:30
Harendra Kumar
1ccc5e9d17 remove unnecessary resetting of state 2018-07-14 13:10:09 +05:30
Harendra Kumar
ec0868181c update base stream benchmarks 2018-07-14 13:10:09 +05:30
Harendra Kumar
9606f867c2 fix broken link 2018-07-14 10:57:04 +05:30
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