Harendra Kumar
54bb7ea8fd
modularize benchmark charting code, use newer bench-graph
2018-10-10 12:39:27 +05:30
Harendra Kumar
0ef728a55f
remove the Quit constructor
2018-10-10 12:39:27 +05:30
Harendra Kumar
49542d2445
Fix ahead style nil stream merging live lock
2018-10-10 12:39:27 +05:30
Harendra Kumar
27d277c8cd
Simplify code in processWithToken
2018-10-10 12:39:27 +05:30
Harendra Kumar
907f9adc34
Merge pull request #106 from wygulmage/lint
...
ran src through hlint, made most changes; added .hlint.yaml.
2018-10-07 09:38:10 +05:30
Keith
6c9d241f73
ran src through hlint, made most changes; added .hlint.yaml.
2018-10-01 11:02:10 -04:00
Harendra Kumar
1c9e94809f
Update and reorganize the prelude API docs
2018-09-17 17:01:17 +05:30
Harendra Kumar
8c07d9602a
make some minor edits
2018-09-14 20:04:27 +05:30
Harendra Kumar
3594a56a79
Create a separate overview section
2018-09-13 19:00:05 +05:30
Harendra Kumar
875b3a00b7
update README
2018-09-13 17:37:02 +05:30
Harendra Kumar
3ce061d81c
Add missing Async.md doc file to packaged files
2018-09-13 09:38:14 +05:30
Harendra Kumar
4c356cee04
update containers' version bound
2018-09-12 21:25:59 +05:30
Harendra Kumar
3e24dc1a97
update reference for comparison with existing packages
2018-09-12 21:12:57 +05:30
Harendra Kumar
5688ad0348
bump minor version
2018-09-12 21:01:22 +05:30
Harendra Kumar
5284add0e0
mention API similarity to vector
2018-09-12 20:53:43 +05:30
Harendra Kumar
4100822c84
update README
2018-09-12 16:19:16 +05:30
Harendra Kumar
83dc30a7fe
disable some intermittently failing tests
...
These are parallel/concurrent tests that fail due to unpredictable delays in
scheduling.
2018-09-12 12:39:18 +05:30
Harendra Kumar
cca869f7ed
Fix a rate control issue
...
We were not sending enough workers in the end when the streaming is finishing.
Also, limit the estimated workers to the number of yields required.
2018-09-12 11:13:56 +05:30
Harendra Kumar
e583f563e0
remove heap delayed output check
...
it caused the "nested" benchmark to become much worse for aheadly and made
memory utilization more in linear aheadly/unfoldrM benchmark (3MB became 10MB)
2018-09-11 14:24:27 +05:30
Harendra Kumar
77d13bc31a
stop the workers when heap is being cleared
...
If we keep the workers running and picking up more work it starves the heap
clearing worker (it is single threaded) and therefore the heap piles up to a
large size.
2018-09-11 12:55:52 +05:30
Harendra Kumar
9d08a586b0
Disringuish the heap clearing and waiting states
2018-09-10 18:50:00 +05:30
Harendra Kumar
302013068f
refactor to use IORef and MVar interchangeably
2018-09-10 15:56:07 +05:30
Harendra Kumar
477a6dea13
ahead stream: do not send extra workers
...
when there is output available in the heap but not yet transferred to the
outputQueue. This change may not be necessary if the output is promptly
transferred from heap to outputQueue, which is not done at this momement, but
future changes may do that.
2018-09-10 13:56:28 +05:30
Harendra Kumar
2eec2cd33c
do not send more than on worker to clear the heap
...
For ahead streams, in the end when the work queue is empty and only heap has
some remaining output to be transferred to the output queue, we should not send
more than worker to do it because anyway only one worker can work on the heap
at a time. Otherwise it leads to unnecessary workers not doing anything and
starving the single worker which is actually clearing the heap.
2018-09-10 13:37:27 +05:30
Harendra Kumar
b11c7cdc31
rearrange benchmarks for aheadly
2018-09-07 08:38:18 +05:30
Harendra Kumar
0f41e2355c
Add comparison with async
2018-09-06 22:00:28 +05:30
Harendra Kumar
d73041c957
Pass WorkerInfo only when needed
...
impacts performance quite a bit when lots of workers are sent, especially in
the case of parallel streams.
2018-09-06 17:30:02 +05:30
Harendra Kumar
772dbd4092
replace "once" with "yieldM" in examples
2018-09-04 18:05:37 +05:30
Harendra Kumar
eeb3b03935
bump version
2018-09-04 16:17:42 +05:30
Harendra Kumar
8a4305c38d
update acidrain example in tutorial
2018-09-04 16:17:26 +05:30
Harendra Kumar
b9bfd202cb
update README and Changelog
2018-08-25 08:48:39 +05:30
Harendra Kumar
3b1f3dd5a8
Add bench group for rate benchmarks
2018-08-25 08:48:22 +05:30
Harendra Kumar
bf47e461a0
remove adjustLatencies, account consumer idle time too
...
We must account customer idle time too in the rate computations
2018-08-25 06:38:01 +05:30
Harendra Kumar
ebdfa837f2
implement rateBuffer to forget distant gains/losses
2018-08-25 06:33:08 +05:30
Harendra Kumar
482b971ebb
make custom rate combinators functions
...
instead of constructors
2018-08-25 04:51:00 +05:30
Harendra Kumar
4a546a8aec
Fix the min/max limit, swapped them
...
Also some refactoring/cleanup
2018-08-24 01:29:39 +05:30
Harendra Kumar
aa8345d0d4
Add avg/min/max/const/rate specifications for rate
2018-08-23 06:58:03 +05:30
Harendra Kumar
a74f668de7
rename yieldRate to just rate
2018-08-19 06:24:37 +05:30
Harendra Kumar
904de167ff
refactor some of the yieldRate stuff
2018-08-19 05:04:22 +05:30
Harendra Kumar
a385c6a3bb
maxThrads and maxBuffer should pass on state even in serial streams
...
otherwise it becomes confusion and hard to debug, when state is not getting
passed, later we figure out that it is because of serial stream. Since streams
can be changed easily it should not change program behavior.
2018-08-18 02:47:54 +05:30
Harendra Kumar
5d84fb3233
make NanoSecs Int64 instead of Word64
...
unsigned arithmetic causes trouble during comparison with signed quantities.
specifically when comparing minThreadDelay with sleepTime
2018-08-18 02:43:03 +05:30
Harendra Kumar
e2c366c675
Allow state passing through stream append operations
2018-08-18 02:38:05 +05:30
Harendra Kumar
526f024a51
report latency stats for parallel streams as well
2018-08-18 02:15:09 +05:30
Harendra Kumar
59f9158e91
report SVar creator thread and latencies in diag
2018-08-18 02:04:40 +05:30
Harendra Kumar
6ae6879887
rename maxRate to yieldRate, update doc
2018-08-18 01:51:52 +05:30
Harendra Kumar
ce90b27649
Add DEVBUILD flag for the test suite "test"
2018-08-16 19:34:11 +05:30
Harendra Kumar
844e31ee3a
Add since notations
2018-08-16 19:30:18 +05:30
Harendra Kumar
a43b67141e
Add thread cleanup in changelog
2018-08-16 06:45:07 +05:30
Harendra Kumar
9a2144e598
Fix travis build timeout
2018-08-16 06:38:30 +05:30
Harendra Kumar
c9aecb3486
Fix some issues in yield limit handling for aheadly
2018-08-16 04:40:49 +05:30