[concurrency-interest] jsr166e.ForkJoinPool performance issue

Aleksey Shipilev aleksey.shipilev at oracle.com
Mon Apr 8 13:22:32 EDT 2013


On 04/08/2013 09:08 PM, Ron Pressler wrote:
> When the parallelism level is set to 1, a run completes in about 35ms on
> my machine. When it is set to 4 (I'm running on a 4-core i7, 8 virtual
> cores), that duration rises above 120ms. The NetBeans profiler shows the
> hot-spot to be ForkJoinPool.WorkQueue.push(), and, in particular, its
> call to ForkJoinPool.signalWork. The NetBeans profiler provides
> far-from-definite proof, but further testing has shown that this may, in
> fact, be true. In our code, when some computation takes place in the
> tasks, NetBeans attributes almost 40% of CPU time to WorkQueue.push(). 

Can you confirm this with [1]? It could contain the outdated version of
FJP though. This looks like the signaling overheads on your particular
system.

-Aleksey.

[1] https://github.com/shipilev/java-forkjoin-trace



More information about the Concurrency-interest mailing list