JDK 9 RFR of JDK-8081734 : ConcurrentHashMap/ConcurrentAssociateTest.java, times out 90% of time on sparc with 256 cpu.

joe darcy joe.darcy at oracle.com
Mon Jul 20 21:15:24 UTC 2015


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);




More information about the core-libs-dev mailing list