Commit Graph

50 Commits

Author SHA1 Message Date
adithyaov
4d0631a0c6 Add Data.Array.Prim.Pinned and Data.Array.Prim
Respect the new module structure for Internal files
2020-07-21 09:13:31 +05:30
Harendra Kumar
81339c8f8b Fix comments 2020-07-13 23:58:02 +05:30
Harendra Kumar
09f2fa7cb4 Add the ability to select fields to report 2020-07-09 17:40:27 +05:30
Harendra Kumar
37bcdcd34d Add FileSystem.Handle benchmark, use --time-limit 0
In the quick mode we anyway use --include-first-iter, we should not be running
many iterations, one iteration is enough, anyway allocations do not change
across iterations. We can use this for super quick comparison of benchmarks.
2020-07-09 17:40:27 +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
Harendra Kumar
ed799d6b51 Fix unfold benchmark name, namespace, RTS options 2020-06-07 01:26:34 +05:30
Harendra Kumar
c2def514f9 Fix parser benchmark namespace and RTS options
Also, rename the benchmark modules to reflect source module hierarchy.
2020-06-07 01:26:34 +05:30
Harendra Kumar
c2fa79613e Generalize group/comparative benchmarking 2020-06-07 01:17:43 +05:30
Harendra Kumar
f72d007c51 Rename array benchmarks and prefixes by module names 2020-06-07 01:17:43 +05:30
Harendra Kumar
1c57096c3c Split "base" benchmark into per module benchmarks
Also, use module name prefix on the benchmarks.
2020-06-07 01:17:43 +05:30
adithyaov
e7df8acee3 Merge all the base* executables 2020-06-07 01:09:26 +05:30
adithyaov
9abd8b84b6 Merge all the Serial/* benchmarks into Serial.hs 2020-06-07 01:09:26 +05:30
adithyaov
633e88f8c5 Move unfold benchmarks out of prelude. Make a seperate exec. 2020-04-08 19:38:33 +05:30
adithyaov
b6d787fac1 Multiple changes corresponding to the fold benchmark.
1. Removed rts options at compile time for fold benchmark.
2. Added fold-o-1-space and fold-o-1-heap benchmark to bench.sh
3. Added fold-o-1-space and fold-o-1-heap to bench.sh
2020-04-08 15:39:47 +05:30
Harendra Kumar
6712469e16 Add fileio to quick benchmarks
So that it can finish in reasonable time.
2020-02-29 01:23:15 +05:30
Harendra Kumar
7cdf702fc2 Add missing serial/base benchmarks 2020-02-28 21:20:37 +05:30
Harendra Kumar
45b6a21dc5 Move "dev" flag benchmarks to regular build
Now we have all the internal modules exposed, we can build these in the regular
build itself.
2020-02-14 17:50:58 +05:30
Harendra Kumar
2f99867010 Always run some benchmarks in quick mode 2020-02-14 17:50:58 +05:30
Harendra Kumar
75335f424b set "dev" build flag for DEV_BENCHMARKS 2020-02-14 17:50:58 +05:30
Harendra Kumar
03ff90eb9b Add bench-show comparison for array benchmarks 2020-02-13 18:36:05 +05:30
Harendra Kumar
2604246b63 update missing benchmarks, support benchmark groups
Support running groups of benchmarks e.g. ARRAY/SERIAL/CONCURRENT
Add missing array benchmarks and "parallel" benchmark
For "--long" case run only INFINITE stream benchmarks
2020-02-13 18:36:05 +05:30
Harendra Kumar
52b11eb682 build only specified benchmarks
This saves a lot of time when we are only running specific benchmarks.
2020-01-26 13:44:20 +05:30
Harendra Kumar
c3827c0ab5 Add "--quick" and "--cabal-build-flags" 2020-01-26 13:44:20 +05:30
Harendra Kumar
cc07da8fd8 Add long benchmark support 2020-01-16 02:25:10 +05:30
Harendra Kumar
ff99b4c1d0 Add nested-concurrent benchmark 2020-01-04 16:43:54 +05:30
Brian Wignall
c0a93a4033 Fix some easy-to-make typos 2019-11-26 02:09:15 +05:30
Harendra Kumar
1266a13e0e Add "concurrent" benchmark to charting/bench-show 2019-10-16 14:24:03 +05:30
Harendra Kumar
11b10b9c0c Move LinearOps.hs benchmark file to streamly library
To facilitate inspection testing of all benchmarks.
2019-08-23 14:57:29 +05:30
Harendra Kumar
3d32be5acc Add array benchmarks to charting/comparisons 2019-08-12 07:13:26 +05:30
Harendra Kumar
6fd821cedc fix cabal not finding benchmark executables 2019-06-27 15:25:20 +05:30
Harendra Kumar
24b044adfb use cabal for building benchmarks 2019-06-18 23:39:37 +05:30
Harendra Kumar
4caeaac24b Add fileio benchmark 2019-06-18 17:30:46 +05:30
Harendra Kumar
734004b570 use dev flag when using the base stream benchmarks 2018-11-06 05:35:59 +05:30
Harendra Kumar
628355fad6 Improve benchmarking of base streams
1) Fix options parsing in charting program
2) Add a group-diff options to compare StreamD/K
3) Add more benchmarks to StreamD/K
2018-11-05 20:34:20 +05:30
Harendra Kumar
1ddd81b818 Use correct statistics pkg, fix graph option 2018-10-28 20:16:16 +05:30
Harendra Kumar
2bd1ada0b7 Remove incorrect help line 2018-10-28 01:50:34 +05:30
Harendra Kumar
a0b1ac878e Fix building benchmarks during comparison
Add an "all" benchmarks option to run all benchmarks at once.
2018-10-13 06:29:06 +05:30
Harendra Kumar
3b80308e49 make output msgs more specific when comparing commits 2018-10-13 04:08:45 +05:30
Harendra Kumar
acbfca3502 separate the rate benchmarks
rate benchmarks require longer time to run to provide stable results
2018-10-11 07:19:42 +05:30
Harendra Kumar
bdd8a4df50 sort on index 0 if column index 1 is not available 2018-10-10 12:39:27 +05:30
Harendra Kumar
a929a1682c add linear-async, base streams benchmark reporting
split linear to separate serial and parallel modules. Parallel modules use
lower number of elements in the stream so that they can run faster.
2018-10-10 12:39:27 +05:30
Harendra Kumar
54bb7ea8fd modularize benchmark charting code, use newer bench-graph 2018-10-10 12:39:27 +05:30
Harendra Kumar
6a4a55ba8e use lts-12 2018-07-13 18:18:28 +05:30
Harendra Kumar
9182d7d25f Use a new version of gauge with exact match option 2018-07-07 10:15:24 +05:30
Harendra Kumar
aa4c8707b5 add more benchmarks, update benchmarks 2018-06-09 21:11:15 +05:30
Harendra Kumar
ff38c5009d update thread/output buffer limits in changelog
and fix bench.sh
2018-05-13 11:30:57 +05:30
Harendra Kumar
cf1388b330 Add append benchmark to linear benchmarks 2018-05-06 05:13:10 +05:30
Harendra Kumar
4b5abb0915 fix benchmark comparison graphs
Generate graphs for both linear and nested benchmark ops
2018-04-25 14:21:02 +05:30
Harendra Kumar
5a01635af9 Fix to pick the correct HEAD commit 2018-04-15 19:46:04 +05:30
Harendra Kumar
32049bdd73 Add benchmark comparison script 2018-04-10 19:40:46 +05:30