ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/loops/NQueensCS.java
(Generate patch)

Comparing jsr166/src/test/loops/NQueensCS.java (file contents):
Revision 1.3 by jsr166, Mon Nov 2 23:42:46 2009 UTC vs.
Revision 1.9 by dl, Sat Sep 12 19:53:04 2015 UTC

# Line 1 | Line 1
1   /*
2   * Written by Doug Lea with assistance from members of JCP JSR-166
3   * Expert Group and released to the public domain, as explained at
4 < * http://creativecommons.org/licenses/publicdomain
4 > * http://creativecommons.org/publicdomain/zero/1.0/
5   */
6  
7   //import jsr166y.*;
# Line 19 | Line 19 | public final class NQueensCS extends Rec
19      }; // see http://www.durangobill.com/N_Queens.html
20  
21      static final int FIRST_SIZE = 8; // smaller ones too short to measure well
22 <    static final int LAST_SIZE = 15; // bigger ones too long to wait for
22 >    static final int LAST_SIZE = 16; // bigger ones too long to wait for
23  
24      /** for time conversion */
25      static final long NPS = (1000L * 1000 * 1000);
# Line 35 | Line 35 | public final class NQueensCS extends Rec
35              return;
36          }
37          for (int reps = 0; reps < 2; ++reps) {
38 <            ForkJoinPool g = (procs == 0) ?
39 <                new ForkJoinPool() :
38 >            ForkJoinPool g = (procs == 0) ? ForkJoinPool.commonPool() :
39                  new ForkJoinPool(procs);
40              lastStealCount = g.getStealCount();
41              for (int i = FIRST_SIZE; i <= LAST_SIZE; i++)
42                  test(g, i);
43              System.out.println(g);
44 <            g.shutdown();
44 >            if (g != ForkJoinPool.commonPool())
45 >                g.shutdown();
46 >            Thread.sleep(100);
47          }
48      }
49  
# Line 112 | Line 113 | public final class NQueensCS extends Rec
113          s.compute();
114          int ns = s.solutions;
115          s = s.nextSubtask;
116 +        /* comment out to stress join
117          // Then the unstolen ones
118          while (s != null && s.tryUnfork()) {
119              s.compute();
120              ns += s.solutions;
121              s = s.nextSubtask;
122          }
123 +        */
124          // Then wait for the stolen ones
125          while (s != null) {
126              s.join();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines