Commit Graph

239 Commits

Author SHA1 Message Date
Ranjeet Kumar Ranjan
eb586c081c Implement SerialT in terms of Stream 2022-07-27 15:53:08 +05:30
Harendra Kumar
c366e2d5e2 Use unfolds in all stream generation ops
Based on a build flag. We want to benchmark how these operations perform
when unfolds are used. This is to investigate if we can replace these
ops with just unfolds or implement these in terms of unfolds to improve
modularity.

Increase memory for Split benchmarks for use-unfolds flag.
2022-07-19 02:45:34 +05:30
Adithya Kumar
6273643c2d Add benchmarks for unboxed ring array 2022-07-11 18:51:43 +05:30
Ranjeet Kumar Ranjan
8ac1ad15c2 Implement nub as Fold 2022-07-04 17:55:33 +05:30
Adithya Kumar
adc2e75b5d Abstract out Unboxing helpers and comment out IOVec code 2022-06-23 16:09:57 +05:30
Adithya Kumar
0d5a96eacc Improve mutable foreign array benchmarks 2022-06-11 19:22:07 +05:30
Adithya Kumar
0d2ce6ca76 Deprecate variance and stdDev in folds 2022-06-11 19:18:01 +05:30
Harendra Kumar
c5e0ee5a0c Add more scan benchmarks for Window folds 2022-06-09 16:46:13 +05:30
Ishan Bhanuka
9d68f58a21 Implement concatSequence for parser
concatSequence collects sequential parses of
parsers in a serial stream using a fold.

* Wrapper and internal implementation
* Benchmark and tests
* Documentation update
2022-05-30 12:07:09 +05:30
Harendra Kumar
2831e12530 Add a benchmark for parseBreak on array streams 2022-05-20 17:43:23 +05:30
Harendra Kumar
9943e6595f Add foldBreak benchmark to array streams 2022-05-20 15:15:06 +05:30
Harendra Kumar
24c48e91a0 Add parseBreak benchmark in Parser module 2022-05-20 15:08:27 +05:30
Harendra Kumar
37e226e263 Add a foldBreak benchmark for StreamD 2022-05-20 03:38:02 +05:30
Harendra Kumar
61b907cf8f Add a benchmark for foldBreak in Fold module 2022-05-20 03:38:02 +05:30
Harendra Kumar
107bebd771 Rename ArrayStream fold/parse operations
Add comments about implementing fold in terms of foldArr
2022-05-20 02:21:21 +05:30
Harendra Kumar
420f387a20 Deprecate the "next" parser, use "one" fold instead 2022-05-19 23:26:49 +05:30
Harendra Kumar
aa6625f449 Add benchmark for takeFramedByEsc_ 2022-05-09 13:02:49 +05:30
Harendra Kumar
d15c033409 Add takeWhileP benchmark 2022-05-09 13:02:49 +05:30
Harendra Kumar
6ed0c935c5 Rename some parser APIs, reorg the export list
And add some proposed commented APIs.
2022-05-08 10:51:52 +05:30
Harendra Kumar
c747309e8c Add deintercalate benchmark 2022-05-06 16:51:30 +05:30
Harendra Kumar
4676d68c57 Add sepBy benchmark 2022-05-05 15:26:40 +05:30
Harendra Kumar
769564d627 Rename drainWhile parser to dropWhile 2022-05-05 15:26:40 +05:30
Ranjeet Kumar Ranjan
a849812d99 Maintain a list of top w elements in the stream 2022-04-22 19:55:41 +05:30
Harendra Kumar
02578386da Use the demux input to determine the fold
We may want to use the entire value to determine the fold and not just
the key. For example, we may have the key as an Int that uniquely
determines the fold (for example a connection/request id). Once the
fold starts we can always lookup the fold using this key. However, to
determine what fold to use initially we may need more information than
just the request-id (e.g. the type of the message).
2022-04-11 18:41:37 +05:30
Harendra Kumar
800ae8a8f8 Use monadic action to generate fold in demux* 2022-04-06 17:43:15 +05:30
Ranjeet Kumar Ranjan
d31f3329f1 Rename some unfold APIs 2022-04-06 17:41:47 +05:30
Harendra Kumar
6b2f1c1669 Change demux fold APIs and implementations 2022-04-02 03:32:42 +05:30
Ranjeet Kumar Ranjan
a6f041cdc7 Add scanMany to Fold
use Fold instead Refold

remove redundant imports

Fix review comments

code refactor

Fix benchmark

Fix indent
2022-03-31 01:04:56 +05:30
Harendra Kumar
1a76a06654 Make classifyWith work with IsMap 2022-03-27 03:01:57 +05:30
Harendra Kumar
d78715ce45 Update classify benchmarks
* Move to o-n-heap group
* Add more benchmarks with different bucket sizes
2022-03-26 15:03:58 +05:30
Harendra Kumar
e078bae64a Allow different types of Map in classify
IntMap and HashMap can provide better performance than Map.

Also, allow mutable cells in classify for better performance.
2022-03-26 01:32:51 +05:30
Adithya Kumar
a0a228196c Add unfoldMany to Data.Fold 2022-03-25 15:22:14 +05:30
Ranjeet Kumar Ranjan
3a59974ed8 Rename unfold scan to postscan, add benchmark, test 2022-03-25 15:18:27 +05:30
Ranjeet Kumar Ranjan
af68c08a71 Rename some filesystem APIs 2022-03-25 14:04:00 +05:30
Harendra Kumar
0eadd04ada Add doc, powersums and mean
Rename "whole" to "cumulative"
2022-03-25 12:33:58 +05:30
Ranjeet Kumar Ranjan
f95fcbd82f Add a module for sliding window folds
Moved some basic incremental folds from 'streamly-statistics" package.
2022-03-25 12:33:58 +05:30
Ranjeet Kumar Ranjan
e01bc90866 Implement Array modifyIndices may accept index as argument 2022-03-25 00:21:28 +05:30
Ranjeet Kumar Ranjan
6726613bca Remove the Sink module 2022-03-25 00:12:48 +05:30
Ranjeet Kumar Ranjan
7886e14505 Add benchmark for MArray.modifyIndices 2022-03-24 15:36:08 +05:30
Ranjeet Kumar Ranjan
07bf70d5f8 Drop GHC 8.x to 8.2.x Support 2022-03-24 02:23:45 +05:30
Harendra Kumar
8dabc2ec8a Add a "foldFilter" combinator for folds 2022-03-23 00:54:53 +05:30
Harendra Kumar
62fe488ac1 Add foldMany to unfolds 2022-03-23 00:43:15 +05:30
Harendra Kumar
5e7fb870a6 Change classifyWith to work with scans 2022-03-14 11:47:42 +05:30
Harendra Kumar
b8b410d23d Simplify array strip, improve perf 2022-03-14 02:30:18 +05:30
Ranjeet Kumar Ranjan
faabb9a01f Add mutable array "strip" operation 2022-03-14 02:29:41 +05:30
Ranjeet Kumar Ranjan
f31f28c0d8 Move toParserK and fromParserK routines from ParserK to the ParserD module 2022-03-11 13:38:17 +05:30
Adithya Kumar
fe8e57968a Merge PreludeCommon and Prelude into Common in the core package 2022-03-10 23:47:56 +05:30
Adithya Kumar
22e8ad3b99 Change the signature order for Foreign.getIndex 2022-03-07 03:54:51 +05:30
Adithya Kumar
f235118945 Revert the Foreign.getIndex order change as it is a released API 2022-02-06 03:52:44 +05:30
Adithya Kumar
7cd7a185d3 Change the working array position in the APIs of Foreign(.Type) 2022-02-06 03:52:44 +05:30