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

Comparing jsr166/src/test/loops/TimeoutExchangerLoops.java (file contents):
Revision 1.3 by dl, Mon Feb 19 00:46:06 2007 UTC vs.
Revision 1.9 by dl, Sat Sep 12 20:32:48 2015 UTC

# Line 1 | Line 1
1   /*
2   * Written by Bill Scherer and Doug Lea with assistance from members
3   * of JCP JSR-166 Expert Group and released to the public domain, as
4 < * explained at http://creativecommons.org/licenses/publicdomain
4 > * explained at http://creativecommons.org/publicdomain/zero/1.0/
5   */
6  
7   import java.util.concurrent.*;
# Line 12 | Line 12 | public class TimeoutExchangerLoops {
12      static final int NCPUS = Runtime.getRuntime().availableProcessors();
13  
14      static final int  DEFAULT_THREADS = NCPUS + 2;
15 <    static final long DEFAULT_PATIENCE_NANOS = 500000;
15 >    static final long DEFAULT_PATIENCE_NANOS = 100000;
16      static final long DEFAULT_TRIAL_MILLIS   = 10000;
17  
18      public static void main(String[] args) throws Exception {
# Line 31 | Line 31 | public class TimeoutExchangerLoops {
31                  patienceNanos = Long.parseLong(args[argc]);
32              else if (option.equals("-r"))
33                  nReps = Integer.parseInt(args[argc]);
34 <            else
34 >            else
35                  maxThreads = Integer.parseInt(option);
36              argc++;
37          }
38  
39 <        // Display runtime parameters
40 <        System.out.print("TimeoutExchangerTest");
41 <        System.out.print(" -t " + trialMillis);
42 <        System.out.print(" -p " + patienceNanos);
39 >        // Display runtime parameters
40 >        System.out.print("TimeoutExchangerTest");
41 >        System.out.print(" -t " + trialMillis);
42 >        System.out.print(" -p " + patienceNanos);
43          System.out.print(" -r " + nReps);
44 <        System.out.print(" max threads " + maxThreads);
45 <        System.out.println();
44 >        System.out.print(" max threads " + maxThreads);
45 >        System.out.println();
46  
47          System.out.println("Warmups..");
48          long warmupTime = 1000;
# Line 73 | Line 73 | public class TimeoutExchangerLoops {
73          }
74      }
75  
76 <    static void oneRun(int nThreads, long trialMillis, long patienceNanos)
76 >    static void oneRun(int nThreads, long trialMillis, long patienceNanos)
77          throws Exception {
78          System.out.printf("%4d threads", nThreads);
79          System.out.printf("%9dms", trialMillis);
# Line 89 | Line 89 | public class TimeoutExchangerLoops {
89          long startTime = System.nanoTime();
90          start.countDown();
91          Thread.sleep(trialMillis);
92 <        for (int i = 0; i < nThreads; ++i)
92 >        for (int i = 0; i < nThreads; ++i)
93              threads[i].interrupt();
94          long elapsed = System.nanoTime() - startTime;
95 <        for (int i = 0; i < nThreads; ++i)
95 >        for (int i = 0; i < nThreads; ++i)
96              threads[i].join();
97          int iters = 0;
98          long fails = 0;
# Line 103 | Line 103 | public class TimeoutExchangerLoops {
103          if (iters <= 0) iters = 1;
104          long rate = iters * 1000L * 1000L * 1000L / elapsed;
105          long npt = elapsed / iters;
106 <        double failRate = (fails * 100.0) / (double)iters;
106 >        double failRate = (fails * 100.0) / (double) iters;
107          System.out.printf("%9d it/s ", rate);
108          System.out.printf("%9d ns/it", npt);
109 <        System.out.printf("%9.5f%% fails", failRate);
109 >        System.out.printf("%9.5f%% fails ", failRate);
110 >        System.out.print(fails);
111          System.out.println();
112          //        x.printStats();
113      }
114  
114
115      static final class Runner implements Runnable {
116          final Exchanger exchanger;
117          final CountDownLatch start;
# Line 153 | Line 153 | public class TimeoutExchangerLoops {
153          }
154      }
155   }
156        

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines