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.7 by jsr166, Thu Jan 15 18:34:19 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 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 57 | Line 56 | public final class Fib extends Recursive
56          }
57      }
58  
60
59      /** for time conversion */
60      static final long NPS = (1000L * 1000 * 1000);
61  
# Line 72 | Line 70 | public final class Fib extends Recursive
70          long result = f.getAnswer();
71          System.out.print("Fib " + num + " = " + result);
72          System.out.printf("\tTime: %7.3f", secs);
73 <      
73 >
74          long sc = g.getStealCount();
75          long ns = sc - lastStealCount;
76          lastStealCount = sc;
# Line 81 | Line 79 | public final class Fib extends Recursive
79          System.out.println();
80      }
81  
84
82      // Initialized with argument; replaced with result
83      int number;
84  
# Line 99 | Line 96 | public final class Fib extends Recursive
96              else {
97                  Fib f1 = new Fib(n - 1);
98                  Fib f2 = new Fib(n - 2);
99 <                //                forkJoin(f1, f2);  
100 <                invokeAll(f1, f2);  
99 >                //                forkJoin(f1, f2);
100 >                invokeAll(f1, f2);
101                  number = f1.number + f2.number;
102              }
103          }
# Line 117 | Line 114 | public final class Fib extends Recursive
114      }
115  
116   }
120

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines