You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2014/10/03 00:17:37 UTC
svn commit: r1629086 -
/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/scenario/Helper.java
Author: pderop
Date: Thu Oct 2 22:17:36 2014
New Revision: 1629086
URL: http://svn.apache.org/r1629086
Log:
Use ForkJoinPool instead of java.util.ThreadPoolExecutor (FJP is faster, especially when there are many available processors).
(tested with 128 processors).
Modified:
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/scenario/Helper.java
Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/scenario/Helper.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/scenario/Helper.java?rev=1629086&r1=1629085&r2=1629086&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/scenario/Helper.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/scenario/Helper.java Thu Oct 2 22:17:36 2014
@@ -1,6 +1,7 @@
package org.apache.felix.dm.benchmark.scenario;
import java.util.concurrent.ExecutorService;
+import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.LinkedTransferQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -25,7 +26,7 @@ public class Helper {
* Threadpool which can be optionally used by parallel scenarios.
*/
private final static int CORES = Runtime.getRuntime().availableProcessors();
- private final static ExecutorService TPOOL = new ThreadPoolExecutor(CORES, CORES, 0L, TimeUnit.MILLISECONDS, new LinkedTransferQueue<Runnable>());
+ private final static ExecutorService TPOOL = new ForkJoinPool(CORES);
/**
* Get the threadpool, possibly needed by some scenario supporting parallel mode