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

Comparing jsr166/src/test/loops/Fib.java (file contents):
Revision 1.1 by dl, Sun Sep 19 12:55:37 2010 UTC vs.
Revision 1.6 by jsr166, Wed Jul 4 20:07:01 2012 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 java.util.concurrent.*;
# Line 10 | Line 10 | import java.util.concurrent.*;
10   * Recursive task-based version of Fibonacci. Computes:
11   * <pre>
12   * Computes fibonacci(n) = fibonacci(n-1) + fibonacci(n-2);  for n> 1
13 < *          fibonacci(0) = 0;
14 < *          fibonacci(1) = 1.      
13 > *          fibonacci(0) = 0;
14 > *          fibonacci(1) = 1.
15   * </pre>
16 < **/
17 <
16 > */
17   public final class Fib extends RecursiveAction {
18  
19      // Performance-tuning constant:
20      static int sequentialThreshold;
21  
22      static long lastStealCount;
23 <  
23 >
24      public static void main(String[] args) throws Exception {
25          int procs = 0;
26          int num = 45;
# Line 31 | Line 30 | public final class Fib extends Recursive
30                  procs = Integer.parseInt(args[0]);
31              if (args.length > 1)
32                  num = Integer.parseInt(args[1]);
33 <            if (args.length > 2)
33 >            if (args.length > 2)
34                  sequentialThreshold = Integer.parseInt(args[2]);
35          }
36          catch (Exception e) {
# Line 40 | Line 39 | public final class Fib extends Recursive
39          }
40  
41          for (int reps = 0; reps < 2; ++reps) {
42 <            ForkJoinPool g = procs == 0? new ForkJoinPool() :
42 >            ForkJoinPool g = (procs == 0) ? new ForkJoinPool() :
43                  new ForkJoinPool(procs);
44              lastStealCount = g.getStealCount();
45              for (int i = 0; i < 20; ++i) {
# Line 72 | Line 71 | public final class Fib extends Recursive
71          long result = f.getAnswer();
72          System.out.print("Fib " + num + " = " + result);
73          System.out.printf("\tTime: %7.3f", secs);
74 <      
74 >
75          long sc = g.getStealCount();
76          long ns = sc - lastStealCount;
77          lastStealCount = sc;
# Line 99 | Line 98 | public final class Fib extends Recursive
98              else {
99                  Fib f1 = new Fib(n - 1);
100                  Fib f2 = new Fib(n - 2);
101 <                //                forkJoin(f1, f2);  
102 <                invokeAll(f1, f2);  
101 >                //                forkJoin(f1, f2);
102 >                invokeAll(f1, f2);
103                  number = f1.number + f2.number;
104              }
105          }
# Line 117 | Line 116 | public final class Fib extends Recursive
116      }
117  
118   }
120

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines