Pranay Sashank
d73f65cd76
Add Streamly.Data.SmallArray to create and manipulate SmallArray's.
2019-12-12 14:03:43 +05:30
Harendra Kumar
4ee8d64a89
Propagate exceptions from a concurrent tap
...
Data is tapped from a stream and folded in a separate thread. Any exceptions
from that thread are propagated to the parent stream thread.
2019-12-11 21:06:16 +05:30
Harendra Kumar
2ab0d8f42b
Add unfoldrM for serial streams
...
This combinator does not require the MonadAsync constraint, therefore, it can
be used in mondads not based on IO.
fixes #326
2019-12-11 17:09:56 +05:30
Pranay Sashank
9ea72e9ee6
Expose all (almost) *.Internal.* modules.
2019-12-10 13:06:08 +05:30
adithyaov
8bf7eedbda
Include src in scope to use #include "inline.hs"
2019-12-09 17:19:47 +05:30
adithyaov
4172ad90d0
Move inline.hs to top level, src/inline.hs
2019-12-09 16:48:36 +05:30
adithyaov
8b922997dc
Move Streams/inline.hs to Internal/Data/Stream
2019-12-09 16:09:44 +05:30
adithyaov
55eb264d12
Move Streams/Instances.hs to Internal/Data/Stream
2019-12-09 16:07:17 +05:30
adithyaov
ee12b2c913
Move Streams/Parallel.hs to Internal/Data/Stream
2019-12-09 16:00:28 +05:30
adithyaov
6a593ebe85
Move Streams/Prelude.hs to Internal/Data/Stream
2019-12-09 15:59:34 +05:30
adithyaov
b1d1902b17
Move Streams/Serial.hs to Internal/Data/Stream
2019-12-09 15:57:58 +05:30
adithyaov
b17c23eb9b
Move Streams/SVar.hs to Internal/Data/Stream
2019-12-09 15:55:32 +05:30
adithyaov
7af59908cb
Move Streams/Zip.hs to Internal/Data/Stream
2019-12-09 15:54:09 +05:30
adithyaov
f1bef8669c
Mv Streams/Enumeration.hs to Internal/Data/Stream
2019-12-09 15:44:00 +05:30
adithyaov
2fe5140423
Mv Streams/Combinators.hs to Internal/Data/Stream
2019-12-09 15:42:40 +05:30
adithyaov
f1a195155e
Move Streams/Async.hs to Internal/Data/Stream
2019-12-09 15:27:25 +05:30
adithyaov
fde7585c3e
Move Streams/Async.hs to Internal/Data/Stream
2019-12-09 15:26:09 +05:30
adithyaov
1790841a34
Move Streams/StreamDK* to Internal/Data/Stream
2019-12-09 15:23:36 +05:30
adithyaov
70c03f97bf
Move Streams/StreamK* to Internal/Data/Stream
2019-12-09 15:14:05 +05:30
adithyaov
59796f1d14
Move Streams/StreamD.hs to Internal/Data/Stream/*
2019-12-09 14:56:10 +05:30
Harendra Kumar
879d159ff2
update pr merge checklist
2019-12-08 09:08:59 +05:30
Pranay Sashank
42f1091826
Add more benchmarks to unpinned-array.
2019-12-04 13:41:55 +05:30
Pranay Sashank
8ac427983e
Move implementation details from Data.Array to Internal.Data.Array.
2019-12-04 13:41:55 +05:30
Pranay Sashank
4e04eff36d
Disable docs for ghcjs build in ci.
2019-12-04 13:41:55 +05:30
Pranay Sashank
3b9b8d1baf
Add benchmarks for Streamly.Data.Array.
2019-12-04 13:41:55 +05:30
Pranay Sashank
0d91f2ece9
Use Array from Data.Primitive.Array rather than defining own Array.
2019-12-04 13:41:55 +05:30
Pranay Sashank
72d14d4581
Export Stream pattern from StreamD module.
2019-12-04 13:41:55 +05:30
Pranay Sashank
ae2dce8db1
Add write and fromStream Data.Array apis and corresponding tests.
...
- Remove length field from Data.Array.
2019-12-04 13:41:55 +05:30
Pranay Sashank
175b0b6d10
Add tests for Streamly.Data.Array and read operator.
2019-12-04 13:41:55 +05:30
Pranay Sashank
94bd0faa21
Add support for unpinned Arrays.
2019-12-04 13:41:55 +05:30
Harendra Kumar
9fca294e1c
Add concatMapTreeWith combinator
2019-12-03 11:24:44 +05:30
Harendra Kumar
562684b321
Add demux with a default when no handler matches
2019-12-03 11:07:08 +05:30
Harendra Kumar
23e00d0c34
Add transformBytesWith to transform a stream via a server
2019-11-28 09:13:49 +05:30
Harendra Kumar
ba6a1e769c
Add a "discard" function
...
Just like "void" but also discards exceptions.
2019-11-28 07:38:00 +05:30
Harendra Kumar
0d737d1890
Update some handle and socket APIs
...
* putLines/putStrings/writeStrings now take an encoding function to choose the
encoding.
* toChunksWithBufferOf now uses a StreamD style implementation for better
fusion.
* rename useSocket to handleWith
2019-11-26 09:26:52 +05:30
Harendra Kumar
2dcc9b774a
Add a potential todo comment
2019-11-26 08:47:42 +05:30
Brian Wignall
c0a93a4033
Fix some easy-to-make typos
2019-11-26 02:09:15 +05:30
Harendra Kumar
50b7824d2e
Add some notes on performance optimizations
...
Especially what to look for first when using streamly.
2019-11-25 15:29:59 +05:30
Harendra Kumar
0569ab5d64
Add unsafe array read without bound check
2019-11-24 03:07:08 +05:30
Harendra Kumar
41e9492956
Add headElse
2019-11-23 17:03:42 +05:30
Harendra Kumar
35ba2c3279
Short circuit Skip case in toStreamK
...
When fusion does not occur due to conversion to StreamK, the Skip constructor
being threaded around StreamK can cause a lot of performance degradation. Skip
case is of no use to StreamK.
This improved the performance of fasta benchmark from 7 secs to 2.8 secs.
Code change suggested by Pranay Sashank.
2019-11-23 07:26:02 +05:30
Harendra Kumar
d0896e1474
Add comments explaining how "parallel" works
2019-11-23 04:14:26 +05:30
Harendra Kumar
bdce4a09aa
Use direct style fromSVar for zip and function apply
...
Improves concurrent zip perf by 2x. There is modest improvement in zip and
apply as well.
2019-11-23 04:14:26 +05:30
Harendra Kumar
e16a980c5f
Use zipWith from StreamD in zipAsyncWith etc.
...
Improves perf of zipAsyncWith by 4x and applicative ZipAsync by 2x.
Not sure why applicative does not show the same perf as zipAsyncWith.
2019-11-21 22:09:35 +05:30
Harendra Kumar
36bfc45842
Use StreamD for parallel zip
...
improves concurrent zip perf by 3x
2019-11-21 22:09:35 +05:30
Harendra Kumar
2b31b3d07b
Use StreamD for parallel application and fold
...
Brings down the timing of parallel map application and parall sum fold to half.
2019-11-21 22:09:35 +05:30
Harendra Kumar
107f52718f
Add benchmarks for parallel application and fold
2019-11-21 21:43:41 +05:30
Harendra Kumar
90da32549d
Fix build with "dev" flag
2019-11-21 20:37:47 +05:30
Harendra Kumar
d15bde0085
Add repeatM unfold
2019-11-21 20:37:47 +05:30
Harendra Kumar
668a26318e
Add putBytes and putLines
2019-11-21 20:37:47 +05:30