Commit Graph

547 Commits

Author SHA1 Message Date
Harendra Kumar
eb16544f98 Use lowercased comparison for benchmark fields
For case insensitive comparison we were lowercasing the fields in the
benchmark csv header but not the fields being compared. So the fields
were not matching if we passed them in mixed case.
2021-06-15 01:43:50 +05:30
Harendra Kumar
3cd8e9bddf Print info messages on stderr instead of stdout
Otherwise it mixes with the output of benchmark list which we use in
scripts.
2021-06-08 23:54:04 +05:30
Harendra Kumar
c4358b3957 Fix Array.Pin.Pinned benchmark module name 2021-06-08 23:54:04 +05:30
Harendra Kumar
5537b0bfc2 Add --sort-by-name flag
To sort the benchmarks by name instead of sorting them by field value or
percent diff.
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
Harendra Kumar
0bfa00bb66 Fix heap overflow due to limit-build-mem issue 2021-04-15 02:02:57 +05:30
Ranjeet Kumar Ranjan
138d519601 concatPairsWith benchmarks #984 2021-04-07 14:06:34 +05:30
Adithya Kumar
1ddcfc4634 Fix zipWith(M) to work concurrently according to the stream type
https://github.com/composewell/streamly/issues/158
2021-04-06 02:34:54 +05:30
Adithya Kumar
f1f8d7ac5e Renamed function/bench names appropriatly in bench:StreamK
Also add a the benchmarks that need to be added
2021-03-31 17:42:09 +05:30
Adithya Kumar
029e6873e7 Fix filterScan. Revert to using maxBound over streamLen.
Quoting, harendra-kumar,

> Since we are adding the numbers in the stream, <= streamLen would terminate
> the stream much earlier. We should use maxBound instead. That's because we
> compose this with filter again in the mixed benchmarks
2021-03-30 17:02:18 +05:30
Adithya Kumar
876b904ecb Modify benchmarks to keep name comparisions backwards compatible 2021-03-30 17:02:18 +05:30
Adithya Kumar
98bc69e3d0 Rename value-ish to streamLen-ish in bench:StreamK
maxValue -> value
value -> streamLen
value2 -> streamLen2
value3 -> streamLen3
value16 -> streamLen16
2021-03-30 17:02:18 +05:30
Adithya Kumar
1079b49aab Collapse sourceUnfoldr(M)N into sourceUnfoldr(M) in bench:StreamK
As of this commit they are completely identical.
2021-03-30 17:02:18 +05:30
Adithya Kumar
ada707b778 Move passing benchmark properties to the root in bench:StreamK 2021-03-30 17:02:18 +05:30
Adithya Kumar
ad4bcce47f Remove unecessary code in bench:StreamK 2021-03-30 17:02:18 +05:30
Adithya Kumar
f1c19a6e85 Split O(1) space benchmarks into multiple groups in bench:StreamK 2021-03-30 17:02:18 +05:30
Adithya Kumar
23253c0270 Move global limits into function arguments in bench:StreamK 2021-03-30 17:02:18 +05:30
Adithya Kumar
c7cd7c877a Keep the INLINE statement & signature with function 4 bench:StreamK 2021-03-30 17:02:18 +05:30
Harendra Kumar
ae741f1bd8 Change the order of arguments in Unfold.fold
To keep it consistent with Stream.fold.
2021-03-26 20:27:56 +05:30
Adithya Kumar
27ccdf4d94 Move compilation memory restrictions under a flag 2021-03-26 16:40:43 +05:30
Harendra Kumar
0954511144 Refactor/rename/add basic unfold constructors 2021-03-24 21:19:18 +05:30
Harendra Kumar
8af1c368c6 Change signatures of zipWith/zipWithM 2021-03-24 20:38:56 +05:30
Harendra Kumar
a5e483b610 Refactor Unfold module
* Rearrange exports, export additional functions
* Update docs
* Disable applicative/monad/category/arrow instances
* Rename const to yieldM and add yield
* Remove "effect", it can be expressed by yieldM
* Change order of arguments for some functions
2021-03-24 01:40:30 +05:30
Ranjeet Kumar Ranjan
b73b5ffa3a Rename concatUnfold to unfoldMany #986 2021-03-22 19:05:17 +05:30
Ranjeet Kumar Ranjan
7759cc0082 Rename Unfold.concat to Unfold.many #985 2021-03-20 00:40:13 +05:30
Harendra Kumar
3b1a26cee5 Update Fold module docs and expose some APIs 2021-03-16 01:46:51 +05:30
Harendra Kumar
badc62d2b7 Rename stream transformation some APIs
Primary motivation for renaming takeEnd was to avoid confusion with
takeEndBy but I like the new name takeLast irrespective of that.
2021-03-14 01:02:10 +05:30
Adithya Kumar
92771949ad Fix import error 2021-03-12 01:30:23 +05:30
Adithya Kumar
a1472167de Make behaviour of Fold.many similar to that of foldMany/parseMany 2021-03-12 01:01:51 +05:30
Harendra Kumar
cd0a185607 Add NOINLINE for better optimization of loops 2021-03-12 01:01:51 +05:30
Ranjeet Kumar Ranjan
87ebad51cb Rename Types.hs modules to Type.hs 2021-03-11 15:12:08 +05:30
Harendra Kumar
e9a0e7c118 Move rmapM to Fold/Types.hs 2021-03-10 19:29:12 +05:30
Ranjeet Kumar Ranjan
4da398aa00 Change argument order in parser combinators #969
Keep the collecting fold as the last argument for ease of composition.
Data flows from one fold to the next, so the next fold in the chain
should be the last argument.
2021-03-09 23:10:43 +05:30
Adithya Kumar
7da0593dbb Add benchmarks for foldIterateM 2021-03-09 07:56:12 +05:30
Harendra Kumar
7910e05da7 Change the argument order in "many" 2021-03-08 19:53:20 +05:30
Harendra Kumar
d2e3430348 Rename some fold combinators
This commit has no functional change, only renaming and doc edits.
2021-03-07 23:04:41 +05:30