Commit Graph

8 Commits

Author SHA1 Message Date
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
Ranjeet Kumar Ranjan
ac215ad43f Rename serially etc. to fromSerial etc. #1029 2021-04-16 00:20:54 +05:30
adithyaov
c5b4838d10 Add benchmarks for minRate, maxRate & constRate (bench:Prelude.Rate) 2020-11-25 22:56:47 +05:30
adithyaov
af872ae7ad Make structural changes to bench:Prelude.Rate 2020-11-25 22:56:47 +05:30
adithyaov
1a728e2d16 Clean bench:Prelude.Rate
Abstract over avgRate and change label values in bench groups
2020-11-25 22:56:47 +05:30
pranaysashank
ad05792d0b Deprecate Streamly module and move the exports to Streamly.Prelude.
- Deprecate and replace functions:
    foldWith => concatFoldableWith
    foldMapWith => concatMapFoldableWith
    forEachWith => concatForFoldableWith
2020-09-09 20:56:24 +05:30
Harendra Kumar
129ebaf82c Refactor Prelude benchmarks
* Now benchmark modules correspond to source modules. The Prelude module in
  source corresponds to several modules one for each stream type.

* Benchmarks in the same order/groupings as they appear in source

* All benchmarks now have division according to space complexity

* Refactoring reduces a lot of code duplication especially the stream
  generation and elimination functions.

* The RTS options are now completely set in the shell script to run the
  benchmarks.

* RTS options can be set on a per benchmark basis. RTS options work correctly
  now.

* The set of streaming/infinite stream benchmarks is now complete and we can
  run all such benchmarks coneveniently.

* Benchmark "quick"/"speed" options can now be specified on a per benchmark
  basis. Longer benchmarks can have fewer iterations/quick run time.

* Benchmarks are grouped in several groups which can be run on a per group
  basis. Comparison groups are also defined for convenient comparisons of
  different modules (e.g. arrays or streamD/K).

* The benchmark namespaces are grouped in a consistent manner. Benchmark
  executables have a consistent naming based on module names.
2020-06-07 01:48:05 +05:30