Commit Graph

304 Commits

Author SHA1 Message Date
Harendra Kumar
06e55120ce Rename Consumer to Refold
Consumer is a very generic name. One cannot intuitively distinguish
between Consumer and Fold. "Refold" gives a better idea that its a
slightly modified version of Fold with a starting value. Also, it fits
better as a dual to Unfold.
2021-10-22 01:34:02 +05:30
Harendra Kumar
c48ef0464b Improve NFData instance
This would make the comparison with prim arrays fairer.
2021-10-15 17:49:06 +05:30
Harendra Kumar
3201dc8328 Add consumeMany benchmark 2021-10-12 20:50:29 +05:30
Harendra Kumar
5342b1629f Add consumeIterateM benchmark 2021-10-12 20:50:29 +05:30
Harendra Kumar
0548e36d51 Rename Transformation1 benchmark module
to Transformation
2021-10-12 20:46:49 +05:30
Harendra Kumar
4179a3bdf2 Rename Transformation2 benchmark module to NestedFold 2021-10-12 20:46:49 +05:30
Harendra Kumar
55758dd5b7 Rename Nested benchmark module to NestedStream 2021-10-12 20:46:49 +05:30
Harendra Kumar
8dc51e8b05 Move Transformation3 benchmark module to Lift 2021-10-12 20:46:49 +05:30
Harendra Kumar
58b7b77857 Make the seed in foldIterateM monadic 2021-10-10 14:17:06 +05:30
Harendra Kumar
cd29e5e2df Add toStreamK and toStreamKRev 2021-10-10 11:34:25 +05:30
Harendra Kumar
e265852671 Add skeleton for groupByRollingEither
The driving use case for this is to make the sorting faster by detecting
sorted sequences in the input.
2021-10-01 13:57:36 +05:30
Harendra Kumar
36c22e3b5b Add INLINE to zipWith and zipWithM 2021-09-30 09:38:39 +05:30
Harendra Kumar
68317a4a41 Fix/enhance benchmarks for concatPairsWith
* Add a benchmark for mergeByMFused
* Move interleaving benchmarks to WSerial module
* Rename some wserial benchmarks
* Add a Merge module for mergeBy/sorting benchmarks
2021-09-28 16:59:29 +05:30
Harendra Kumar
70e7f94691 Move IsStream definition out of low level modules
The IsStream type class contains MonadAsync type in the consM method.
This refactor allows lifting MonadAsync, therefore, dependency on
monad-control out of the low level modules.
2021-09-14 23:11:17 +05:30
Harendra Kumar
2c4860045d Refactor and reformat 2021-09-05 05:39:45 +05:30
Harendra Kumar
e052c821b6 Add serial_ benchmark 2021-09-05 05:39:45 +05:30
Ranjeet Kumar Ranjan
878d734dd7 Implement some undefined functions in Fold module
Implement Some undefined in Internal.Data.Fold module

Add test cases for newly added functions

Add bench marks for newly added Data.Fold functions
2021-09-05 05:39:45 +05:30
Ranjeet Kumar Ranjan
8d9396711c Remove map from Internal.Data.Fold 2021-09-01 18:14:37 +05:30
Ranjeet Kumar Ranjan
8d733b2209 Fix review comments and docspecs
Remove supplyMiddle and supplyNextFromStride

Fix enumerateFromNum for precision issue
2021-08-24 08:44:21 +05:30
Ranjeet Kumar Ranjan
ba9a4e8f6a Change signature of enumerate functions 2021-08-24 08:44:21 +05:30
Ranjeet Kumar Ranjan
6d98f4e135 Add Enumerable typeclass for Unfold 2021-08-24 08:43:19 +05:30
Harendra Kumar
a296fac8db Refactor SVar module
* Break it up into smaller modules with clearly separated functionality
* Keep minimal stuff in the lower level module SVar/Type, and push the
  rest in a higher level module to reduce dependencies of lower level
  modules. This will help in separating the lower modules in streamly-core
  package.
2021-08-20 00:47:56 +05:30
Adithya Kumar
17dfc5b087 Add benchmarks for retry 2021-08-09 21:21:33 +05:30
Adithya Kumar
69e3b2c010 Add unicode normalization bench-suite 2021-08-09 19:43:40 +05:30
Adithya Kumar
a322c073c3 Add benchmarks for Parser.choice 2021-08-09 16:36:48 +05:30
Ranjeet Kumar Ranjan
0b889318ed toStream/toStreamRev should be able to fold to any monad
Fix review comment

Fix benchmark

Fix warnings
2021-08-05 04:40:24 +05:30
Adithya Kumar
15397be802 Add benchmarks for takeP 2021-08-04 20:58:44 +05:30
Adithya Kumar
7830df9314 Add simple bench suite for Unicode.Utf8 2021-07-30 19:01:54 +05:30
Adithya Kumar
c9232b0e25 Extracted IO related common functions into a new module 2021-07-29 15:35:16 +05:30
Harendra Kumar
3339c2082d Add fold and parse for array streams
The test and benchmark code is taken from Adithya's original double
ended lists based implementation.
2021-07-26 18:14:46 +05:30
Harendra Kumar
424f1e9871 Fix the space requirements of two benchmarks
Move showInstance benchmark for pure streams to o-n-space
Increase the heap space for array map x 4
2021-06-22 22:50:12 +05:30
Harendra Kumar
e09428332c Revert "Fix zipWith(M) to work concurrently according to the stream type"
This reverts commit 1ddcfc4634.

This requires MonadAsync constraint which breaks the existing
zipWith for pure streams e.g. 'SerialT Identity' (for example in
streaming-benchmarks package). We can possibly have different zipWith
APIs for concurrent zipping.
2021-06-22 12:39:07 +05:30
Harendra Kumar
67f851374c Inline MC.try to fix perf for GHC-9 2021-06-21 15:55:44 +05:30
Harendra Kumar
c4358b3957 Fix Array.Pin.Pinned benchmark module name 2021-06-08 23:54:04 +05:30
Harendra Kumar
03218ad71b Cleanup, fix issues in bench.sh 2021-06-08 23:54:04 +05:30
Ranjeet Kumar Ranjan
b68baf3c51 Add support for benchmarking with tasty-bench
tasty-bench has fewer dependencies and is agile to keep up with new GHC
versions. This change is especially motivated by support for GHC 9.0.1.
gauge depends on foundation/basement which lagging much behind and seem
to be unmaintained.
2021-06-08 23:54:04 +05:30
Harendra Kumar
d51fab489f Fix benchmark name prefixes to module names
Otherwise the new bench.sh changes for tasy-bench won't work for these
modules.
2021-06-08 23:54:04 +05:30
Harendra Kumar
28e17ee82e Fix a perf issue in iterate/iterateM
It was taking O(n) space, now it takes O(1)
2021-06-02 22:18:00 +05:30
Pranay Sashank
90be38762b Rename Fold.yield, yieldM to fromPure, fromEffect. 2021-05-30 22:24:54 +05:30
Pranay Sashank
f24ddc0bdf Rename Unfold.yield, yieldM to fromPure, fromEffect. 2021-05-30 22:24:54 +05:30
Pranay Sashank
70faf014ca Rename Streamly.Prelude.yieldM to fromEffect.
- Deprecate yieldM.
2021-05-29 02:05:01 +05:30
Pranay Sashank
4dfc6bf9ee Rename Streamly.Prelude.yield to fromPure.
- Deprecate yield.
2021-05-29 01:22:02 +05:30
Harendra Kumar
03cf686ca7 Export some pre-release array APIs
* getIndex
* casting ops
* writeLastN
* readRev
2021-04-27 13:37:56 +05:30
Harendra Kumar
6132eb3acb Split stdio ops into a Console.Stdio module
Change the FileSystem.Handle from* APIs to put*

Mutable write APIs would use a "put" prefix to make the name more intuitive.
2021-04-25 15:53:38 +05:30
Harendra Kumar
dc647f4a4e Change the argument order of intercalate and interpose 2021-04-24 16:17:39 +05:30
Harendra Kumar
a75c178599 Expose rollinghash and intercalate 2021-04-24 16:16:12 +05:30
Harendra Kumar
f64dd78449 Fix benchmark names, cleanup imports, fix hlint
Refactor only.
2021-04-24 13:36:28 +05:30
Adithya Kumar
cd916f54bb Move array stream bench/tests to separate modules 2021-04-19 19:38:14 +05:30
Ranjeet Kumar Ranjan
ac215ad43f Rename serially etc. to fromSerial etc. #1029 2021-04-16 00:20:54 +05:30
Ranjeet Kumar Ranjan
138d519601 concatPairsWith benchmarks #984 2021-04-07 14:06:34 +05:30