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

Comparing jsr166/src/test/loops/MapMicroBenchmark.java (file contents):
Revision 1.6 by jsr166, Mon Nov 2 23:42:46 2009 UTC vs.
Revision 1.13 by jsr166, Tue Jan 22 20:31:05 2013 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.*;
# Line 102 | Line 102 | public class MapMicroBenchmark {
102          jobs[2] = new Job("Integer   ", is, Integer.class);
103  
104          Object[] ls = new Object[n];
105 <        for (int i = 0; i < n; i++) ls[i] = Long.valueOf((long)i);
105 >        for (int i = 0; i < n; i++) ls[i] = Long.valueOf((long) i);
106          jobs[3] = new Job("Long      ", ls, Long.class);
107  
108          Object[] fs = new Object[n];
109 <        for (int i = 0; i < n; i++) fs[i] = Float.valueOf((float)i);
109 >        for (int i = 0; i < n; i++) fs[i] = Float.valueOf((float) i);
110          jobs[4] = new Job("Float     ", fs, Float.class);
111  
112          Object[] ds = new Object[n];
113 <        for (int i = 0; i < n; i++) ds[i] = Double.valueOf((double)i);
113 >        for (int i = 0; i < n; i++) ds[i] = Double.valueOf((double) i);
114          jobs[5] = new Job("Double    ", ds, Double.class);
115  
116          Object[] bs = new Object[n];
# Line 143 | Line 143 | public class MapMicroBenchmark {
143          warmup1(mixed);
144          warmup3(jobs);
145          Thread.sleep(500);
146 <        time(jobs);
146 >        time(jobs);
147      }
148  
149      static void runWork(Job[] jobs, int minIters, int maxIters, long timeLimit) throws Throwable {
150 <        for (int k = 0; k <  nsizes; ++k) {
150 >        for (int k = 0; k < nsizes; ++k) {
151              int len = sizes[k];
152              for (int i = 0; i < jobs.length; i++) {
153                  Thread.sleep(50);
# Line 160 | Line 160 | public class MapMicroBenchmark {
160  
161      // First warmup -- run only mixed job to discourage type specialization
162      static void warmup1(Job job) throws Throwable {
163 <        for (int k = 0; k <  nsizes; ++k)
163 >        for (int k = 0; k < nsizes; ++k)
164              job.work(sizes[k], 1, 1, 0);
165      }
166  
# Line 193 | Line 193 | public class MapMicroBenchmark {
193          long[] aves = new long[nsizes];
194          int njobs = jobs.length;
195  
196 <        for (int i = 0; i < njobs; i++) {
196 >        for (int i = 0; i < njobs; i++) {
197              System.out.print(jobs[i].name);
198              for (int k = 0; k < nsizes; ++k) {
199                  long nanos = jobs[i].nanos[k];
# Line 212 | Line 212 | public class MapMicroBenchmark {
212  
213  
214      static final class Job {
215 <        final String name;
215 >        final String name;
216          final Class elementClass;
217          long[] nanos = new long[nsizes];
218          final Object[] items;
# Line 334 | Line 334 | public class MapMicroBenchmark {
334                      if (m.put(x, x) == null)
335                          ++sum;
336                  }
337 +                /*  // uncomment to avoid calling clear()
338 +                for (int i = 0; i < len; ++i) {
339 +                    Object x = keys[i];
340 +                    m.remove(x);
341 +                }
342 +                */
343                  m.clear();
344                  sum += len - (quarter * 2);
345                  checkSum += sum ^ (sum << 12);
# Line 350 | Line 356 | public class MapMicroBenchmark {
356                  if (minIters != 1 && randomSearches)
357                      shuffleSome(ins, len, len >>> 3);
358              }
359 <            long ops = ((long)j) * len * OPS_PER_ITER;
359 >            long ops = ((long) j) * len * OPS_PER_ITER;
360              lastSum = sum;
361              return elapsed / ops;
362          }
# Line 377 | Line 383 | public class MapMicroBenchmark {
383  
384      // plain array shuffle
385      static void shuffle(Object[] a, int size) {
386 <        for (int i= size; i>1; i--) {
386 >        for (int i = size; i > 1; i--) {
387              Object t = a[i-1];
388              int r = rng.nextInt(i);
389              a[i-1] = a[r];
# Line 444 | Line 450 | public class MapMicroBenchmark {
450                  int c = in.read();
451                  if (c < 0)
452                      break outer;
453 <                char ch = (char)c;
453 >                char ch = (char) c;
454                  if (ch == '\n') {
455                      keys[k++] = sb.toString();
456                      break;
# Line 458 | Line 464 | public class MapMicroBenchmark {
464          // fill up remaining keys with path-like compounds of previous pairs
465          int j = 0;
466          while (k < n)
467 <            keys[k++] = (String)keys[j++] + "/" + (String)keys[j];
467 >            keys[k++] = (String) keys[j++] + "/" + (String) keys[j];
468      }
469  
470   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines