GitHub user dlaboss opened a pull request:
https://github.com/apache/incubator-quarks/pull/110
add load balanced parallel()
- Add PlumbingStreams.parallelBalanced()
- Add LoadBalancedSplitter ToIntFunction
- Add testParallelBalanced()
Note: there's an oplet based implementation approach to a
LoadBalancedSplitter that doesn't require "done" signaling nor separate ch
"isolate()" use - one that has an internal thread pool pulling from single
tuple queue. Utilizing such a 1:n (~fanout) oplet would require adding
something like ``TStream.split(Split)`` or perhaps
``TStream.addOp1N(oplet-with-one-input-and-N-output)``.
I'm sure there's a similar *functional* LoadBalancedSplitter possible and
maybe I'll give that a little thought shortly. Though, at this moment there's
no way for Functions to get their hands on the Provider's thread pool nor
receive explicit initialization.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dlaboss/incubator-quarks parallelBalanced
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-quarks/pull/110.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #110
----
commit 221af1de7922775a9093730e5430c0ea56f8f4ae
Author: Dale LaBossiere <[email protected]>
Date: 2016-05-09T14:37:08Z
Add load balanced parallel()
commit e901539a694bb4ecaee6073587127edc88d70f6e
Author: Dale LaBossiere <[email protected]>
Date: 2016-05-09T15:15:00Z
add testParallelBalanced
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---