Hello,
Please review a small change to adders
JDK-8081734 : ConcurrentHashMap/ConcurrentAssociateTest.java, times
out 90% of time on sparc with 256 cpu.
http://cr.openjdk.java.net/~darcy/8081734.0/
Patch below.
Some background, when run on large machines, 256 processors/threads,
this test takes many minutes to run due to hitting some degenerate
conditions. Bounding the concurrency to 32 serves the purposes of
checking for the conditions the test was written for while also allowing
a reasonable execution time for a single test.
Thanks,
-Joe
---
old/test/java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java
2015-07-20 14:08:23.839018642 -0700
+++
new/test/java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java
2015-07-20 14:08:23.679018638 -0700
@@ -120,7 +120,8 @@
}
};
- int ps = Runtime.getRuntime().availableProcessors();
+ // Bound concurrency to avoid degenerate performance
+ int ps = Math.min(Runtime.getRuntime().availableProcessors(), 32);
Stream<CompletableFuture> runners = IntStream.range(0, ps)
.mapToObj(i -> sr.get())
.map(CompletableFuture::runAsync);