RFR 8190974 Parallel stream execution within a custom ForkJoinPool should obey the parallelism
Paul Sandoz
paul.sandoz at oracle.com
Wed Nov 8 21:01:09 UTC 2017
Hi,
Please review this patch to ensure that a parallel stream obeys the parallelism of a custom fork join pool when it is executed within that pool:
http://cr.openjdk.java.net/~psandoz/jdk10/JDK-8190974-par-stream-custom-pool/webrev/ <http://cr.openjdk.java.net/~psandoz/jdk10/JDK-8190974-par-stream-custom-pool/webrev/>
Streams currently do not support capabilities to control the level of parallelism and therefore resources utilised (tricky API design problem to get right).
At the moment the trick is to run stream executions within a custom pool, however the number of fork join tasks created will be in proportion to the parallelism of the common pool thus the execution will be over-provisioned. This can be especially noticeable on large machines with many cores.
Paul.
More information about the core-libs-dev
mailing list