Harendra Kumar
325842fb24
Enable inlining of mapMaybeM serial implementation
2018-11-06 06:20:59 +05:30
Harendra Kumar
58e8d397f5
Use scanl' from the imported stream (D or K)
...
It was earlier hardcoded to use D.
2018-11-06 06:20:59 +05:30
Harendra Kumar
734004b570
use dev flag when using the base stream benchmarks
2018-11-06 05:35:59 +05:30
Harendra Kumar
3d79168e4b
Add isolated benchmarks to investigate special cases
2018-11-06 04:36:41 +05:30
Harendra Kumar
bf4e5d89ec
Add mixed ops x 2 and iterated benchmarks to base
...
Also, fix comparative graph generation, titles etc.
2018-11-06 03:12:08 +05:30
Harendra Kumar
6279c37f9a
Fix reports for StreamD/K
...
We want single group reports with diffs.
2018-11-06 00:58: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
58e81952e3
Add pull request checklists
2018-11-05 16:37:46 +05:30
Harendra Kumar
bb56f1757e
refactor stream level combinators in another module
2018-11-05 16:34:40 +05:30
Harendra Kumar
c8ae480511
Merge pull request #115 from Abhiroop/skip
...
Add a skip constructor to the stream type
2018-11-05 05:34:02 +05:30
Abhiroop Sarkar
81cf15b9f6
Add Skip constructor to the core Stream type to enhance stream fusion
...
Introduce the skip constructor and fix the simpler warnings with some slight refactorings.
Add alternate definitions of filtering operations.
Revert `all` to the original definition
1. Implement the fromStreamK and zipWithM methods
2. Uncomment the linear benchmarks
Cleanup and add some stylistic changes
Add alternate implementation of drop function
2018-11-02 22:04:07 +05:30
Abhiroop Sarkar
159a0d2e50
Derive Foldable and Traversable instance for all the newtype wrappers around streams
2018-11-02 21:45:28 +05:30
Abhiroop Sarkar
977c344600
Add Foldable and Traversable instances for StreamD and StreamK
2018-11-02 14:08:34 +05:30
Harendra Kumar
c7666a7caa
Merge pull request #112 from mgsloan/documentation-adjustments
...
Documentation adjustments
2018-11-02 03:01:17 +05:30
Michael Sloan
c0bcda8c12
Spelling fixes + other misc tutorial adjustments
2018-11-01 14:26:43 -07:00
Harendra Kumar
64ddfd8bcc
describe all labels in a separate section
2018-10-31 20:14:55 +05:30
Harendra Kumar
c8aaba38cb
Add dropWhileFalse/dropOne
...
Also, disable monadic versions of drop/take. Pure versions use the monadic
ones internally so the monadic benchmarks are redundant unless we change the
implementations in future.
2018-10-31 16:50:00 +05:30
Harendra Kumar
3524799d3d
Sort on time taken in solo reports
...
Sorting allows us to immediately identify the ops with worst timings to be
picked up for improvement.
2018-10-31 16:47:16 +05:30
Harendra Kumar
ab1d6f388a
use bench-show-0.2.2
2018-10-31 14:44:37 +05:30
Harendra Kumar
114ab1f8cf
fix some hlint warnings
2018-10-31 01:53:19 +05:30
Harendra Kumar
e3f9f255da
update changelog
2018-10-31 01:14:02 +05:30
Harendra Kumar
b4f9c6912e
Add benchmarks iterating the same op multiple times
2018-10-31 01:14:02 +05:30
Harendra Kumar
fcaf8bb7fa
INLINE cons and scanlM'
2018-10-30 06:35:54 +05:30
Harendra Kumar
172efa6582
Add composed benches for streamd/k and compare them
2018-10-29 19:02:41 +05:30
Harendra Kumar
615197d1c5
split head and tail benchmarks from nullHeadTail
2018-10-29 13:19:59 +05:30
Harendra Kumar
829f929672
inline foldl1'
2018-10-29 05:04:33 +05:30
Harendra Kumar
23e2bdd13f
disable building benchmarks for ghc-8.2.2 build
...
And avoid using 8.2.2 in other builds
2018-10-29 04:00:27 +05:30
Harendra Kumar
819786eca9
Add transformation/filtering/mixed composition benchmarks
2018-10-29 00:21:16 +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
0914c06330
Add comments to explain inlining/fusion/rewrite-rules
2018-10-28 01:49:44 +05:30
Harendra Kumar
06242af0df
Add a README for benchmarks
2018-10-27 14:22:11 +05:30
Harendra Kumar
d9188336a3
Document "race" using exceptions
2018-10-27 01:17:56 +05:30
Harendra Kumar
a615989f94
Do not fully saturate the type synonyms
...
If we define type Serial a = SerialT IO a, then we cannot use Serial where we
need SerialT IO.
2018-10-27 00:27:19 +05:30
Harendra Kumar
30a1700237
Fix and update reference doc links
2018-10-27 00:04:55 +05:30
Harendra Kumar
a42e2239cd
bump minor version
2018-10-26 20:35:09 +05:30
Harendra Kumar
165f2a23aa
Add control-flow monad transformers' examples
2018-10-26 20:01:28 +05:30
Harendra Kumar
5cbcd5bd24
update README (exceptions), add doc on transformers
2018-10-26 17:12:14 +05:30
Harendra Kumar
dc7f419bb2
cleanup any pending threads on exception
2018-10-26 16:46:23 +05:30
Harendra Kumar
e810658dfe
Fix monadic state capture and restore for concurrent tasks
...
This causes up to 30% regression in async stream generation benchmarks and up
to 200% regression in async nested benchmarks. Mostly, due to an additional
functional call that cannot be inlined.
2018-10-22 13:37:39 +05:30
Harendra Kumar
ba5a8c44b8
fix extra-deps in stack configs
2018-10-22 13:02:26 +05:30
Harendra Kumar
36229e1267
update gauge version
2018-10-21 20:23:51 +05:30
Harendra Kumar
354f7615fa
lint free examples
2018-10-13 13:15:22 +05:30
Harendra Kumar
bf81f70a4e
lint free tests
2018-10-13 10:36:06 +05:30
Harendra Kumar
bf39d27446
lint free benchmarks
2018-10-13 08:52:09 +05:30
Harendra Kumar
8b8fd22578
satisfy hlint (pragmas, imports, <> instead of ++)
2018-10-13 08:52:08 +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
38aa5f2d0c
Refactor code, add asserts, better test output
2018-10-13 04:05:01 +05:30
Harendra Kumar
1f72b61cee
Add inspectMode combinator
...
inspectMode adds the ability to turn on diagnostics programmatically. Earlier
we had to use a different build for diagnostics. The perf impact is negligible,
and mostly on "maxBuffer 1" cases.
2018-10-12 18:41:39 +05:30