Commit Graph

386 Commits

Author SHA1 Message Date
Harendra Kumar
3d79168e4b Add isolated benchmarks to investigate special cases 2018-11-06 04:36:41 +05:30
Harendra Kumar
bb56f1757e refactor stream level combinators in another module 2018-11-05 16:34:40 +05:30
Harendra Kumar
c7666a7caa
Merge pull request #112 from mgsloan/documentation-adjustments
Documentation adjustments
2018-11-02 03:01:17 +05:30
Michael Sloan
c0bcda8c12 Spelling fixes + other misc tutorial adjustments 2018-11-01 14:26:43 -07:00
Harendra Kumar
0914c06330 Add comments to explain inlining/fusion/rewrite-rules 2018-10-28 01:49:44 +05:30
Harendra Kumar
30a1700237 Fix and update reference doc links 2018-10-27 00:04:55 +05:30
Harendra Kumar
a42e2239cd bump minor version 2018-10-26 20:35:09 +05:30
Harendra Kumar
165f2a23aa Add control-flow monad transformers' examples 2018-10-26 20:01:28 +05:30
Harendra Kumar
5cbcd5bd24 update README (exceptions), add doc on transformers 2018-10-26 17:12:14 +05:30
Harendra Kumar
36229e1267 update gauge version 2018-10-21 20:23:51 +05:30
Harendra Kumar
38aa5f2d0c Refactor code, add asserts, better test output 2018-10-13 04:05:01 +05:30
Harendra Kumar
1f72b61cee Add inspectMode combinator
inspectMode adds the ability to turn on diagnostics programmatically. Earlier
we had to use a different build for diagnostics. The perf impact is negligible,
and mostly on "maxBuffer 1" cases.
2018-10-12 18:41:39 +05:30
Harendra Kumar
0965e59b6b use bench-show for benchmark reporting 2018-10-11 14:49:16 +05:30
Harendra Kumar
acbfca3502 separate the rate benchmarks
rate benchmarks require longer time to run to provide stable results
2018-10-11 07:19:42 +05:30
Harendra Kumar
a929a1682c add linear-async, base streams benchmark reporting
split linear to separate serial and parallel modules. Parallel modules use
lower number of elements in the stream so that they can run faster.
2018-10-10 12:39:27 +05:30
Harendra Kumar
54bb7ea8fd modularize benchmark charting code, use newer bench-graph 2018-10-10 12:39:27 +05:30
Harendra Kumar
3ce061d81c Add missing Async.md doc file to packaged files 2018-09-13 09:38:14 +05:30
Harendra Kumar
4c356cee04 update containers' version bound 2018-09-12 21:25:59 +05:30
Harendra Kumar
5688ad0348 bump minor version 2018-09-12 21:01:22 +05:30
Harendra Kumar
eeb3b03935 bump version 2018-09-04 16:17:42 +05:30
Harendra Kumar
ce90b27649 Add DEVBUILD flag for the test suite "test" 2018-08-16 19:34:11 +05:30
Harendra Kumar
e1b6740a7c reduce ci tests 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
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
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
c7d2f9e0a3 Add flag to switch stream backend to streamk 2018-06-26 09:44:06 +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
9bb5ac1ea2 Add dev benchmarks for base cont and direct streams 2018-06-23 20:57:24 +05:30
Harendra Kumar
341fd82b85 Add direct style re-implementation of StreamK 2018-06-23 17:31:17 +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
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
4b05cb48b4 split SVar specific code into a separate file 2018-06-18 02:52:48 +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
b9d8f28edd Fix memory barriers and worker dispatches 2018-06-14 17:02:28 +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
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
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
029594c645 use -threaded and -N4 options for tests 2018-05-17 14:11:23 +05:30
Harendra Kumar
9da3fccd20 Add concurrent lookahead stream type "Ahead" 2018-05-17 11:22:29 +05:30
Harendra Kumar
14ecf65860 Remove charts from tar, fix version typo 2018-05-14 03:38:59 +05:30
Harendra Kumar
ec9930ca8b Add transformers dep to listdir and acidrain examples 2018-05-05 02:07:35 +05:30
Harendra Kumar
7ad55f8e63 Add @since annotations, bump version, update changelog 2018-05-05 02:02:41 +05:30
Harendra Kumar
ca0e9a935c update docs, readme, cabal description and tutorial 2018-05-05 00:23:03 +05:30
Harendra Kumar
d59ff9df99 Add semigroups dep for ghc < 8.0 2018-05-04 01:43:07 +05:30
Harendra Kumar
c5f97f0e3b Move examples from Streamly module to examples dir 2018-05-04 01:28:02 +05:30
Harendra Kumar
20b592a9d3 Add the comparative charts in the package tar 2018-05-01 04:09:28 +05:30
Harendra Kumar
4b5abb0915 fix benchmark comparison graphs
Generate graphs for both linear and nested benchmark ops
2018-04-25 14:21:02 +05:30
Harendra Kumar
ac39277da8 Rename benchmark modules 2018-04-25 11:28:47 +05:30
Harendra Kumar
e223cfade7 Remove old, now redundant, benchmarks 2018-04-25 11:28:47 +05:30
Harendra Kumar
d2c4df460f Add microbenchmarks for list-transformer ops 2018-04-25 11:28:47 +05:30
Harendra Kumar
e411ab6abd Remove MonadError instance temporarily
It is not working correctly for parallel compositions.
2018-04-22 22:57:31 +05:30
Harendra Kumar
aaed32083b Add transformers dep for examples for ghc < 8.0 2018-04-17 19:04:31 +05:30
Harendra Kumar
3d920ef3f8 rename AsyncT to AParallelT
Also rename asyncly to aparallely and runAsyncT to runAParallelT

The name Async is confusing and does not convey the right meaning. The 'A' in
AParallelT stands for 'Adaptive' and 'Parallel' indicates that this is a
variant of Parallel.

Another choice for the name was 'MParallelT' where 'M' stands for 'maybe', it
is maybe parallel since it may or may not start parallel threads depending on
demand but Adaptive fits better as it adapts to the demand.
2018-04-17 18:03:27 +05:30
Harendra Kumar
722efd60fb Add quickcheck based property tests
fixes #30
2018-04-15 12:39:47 +05:30
Harendra Kumar
62ba37b724 Use bench-graph to generate perf comparison charts 2018-04-10 13:43:33 +05:30
Harendra Kumar
a445ef9873 Add benchmarks for streaming operations 2018-04-09 20:32:49 +05:30
Harendra Kumar
458f81849f Use gauge in place of criterion 2018-03-28 01:48:04 +05:30
Harendra Kumar
f8ec835cc3 Add default-language in all components 2018-03-25 07:34:03 +05:30
Harendra Kumar
52479f3b02 bump version 2018-03-25 03:41:28 +05:30
Harendra Kumar
c7d40a1791 bump version for new release 2018-03-18 19:47:26 +05:30
Harendra Kumar
84a228a6be Add tested-with ghc-8.4.1 2018-03-18 18:11:11 +05:30
Harendra Kumar
0d3c3a09a6 update version bound for exceptions 2018-03-18 12:22:59 +05:30
Harendra Kumar
84542d2768 upgrade stack resolver to lts-11 2018-03-16 00:45:13 +05:30
Harendra Kumar
d1cf131344 update travis and appveyor config 2017-12-20 05:59:25 +05:30
Harendra Kumar
d5931ea97b update links to the repo 2017-12-05 21:10:43 +05:30
Harendra Kumar
e4ed109488 Travis build with examples-sdl 2017-12-05 18:11:56 +05:30
Harendra Kumar
49a5ba4fa6 Remove redundant examples 2017-12-03 00:48:24 +05:30
Harendra Kumar
03f0375fd3 Update README and cabal description 2017-12-02 21:09:06 +05:30
Harendra Kumar
2ed8b60778 Add Examples module, make SDL examples optional 2017-12-01 14:34:46 +05:30
Harendra Kumar
9510577928 Update (minor) and reorg sections of the tutorial 2017-11-30 23:35:43 +05:30
Harendra Kumar
19ac788a9f Some updates to tutorial 2017-11-22 23:00:11 +05:30
Harendra Kumar
ca79a5f09c Do not expose the Core and Streams module 2017-11-22 00:09:58 +05:30
Harendra Kumar
198552e614 Update README and cabal description 2017-11-21 14:41:09 +05:30
Harendra Kumar
6d90bd59d3 Fix example in cabal file 2017-11-21 01:35:45 +05:30
Harendra Kumar
a74a0c0844 Rename to Streamly
Streamly is a more appropriate name and conveys the core idea. Stream
concurrently = streamly.
2017-11-20 18:03:13 +05:30