Commit Graph

768 Commits

Author SHA1 Message Date
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
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