36 |
|
} |
37 |
|
} |
38 |
|
|
39 |
< |
static String sep() { return print? "\n" : " "; } |
39 |
> |
static String sep() { return print ? "\n" : " "; } |
40 |
|
|
41 |
|
static void allTests(int size, int trials) throws Exception { |
42 |
|
System.out.println("---------------------------------------------"); |
74 |
|
ctest(ConcurrentHashMap.<Integer>newKeySet(), vlist, vsum, size, trials); |
75 |
|
ctest(new TreeSet<Integer>(), klist, ksum, size, trials); |
76 |
|
ctest(new TreeSet<Integer>(), vlist, vsum, size, trials); |
77 |
< |
ctest(ConcurrentSkipListMap.<Integer>newKeySet(), klist, ksum, size, trials); |
78 |
< |
ctest(ConcurrentSkipListMap.<Integer>newKeySet(), vlist, vsum, size, trials); |
77 |
> |
ctest(new ConcurrentSkipListSet<Integer>(), klist, ksum, size, trials); |
78 |
> |
ctest(new ConcurrentSkipListSet<Integer>(), vlist, vsum, size, trials); |
79 |
|
|
80 |
|
mtest(new HashMap<Integer,Integer>(), keys, vals, ksum, vsum, size, trials); |
81 |
|
mtest(new IdentityHashMap<Integer,Integer>(), keys, vals, ksum, vsum, size, trials); |
108 |
|
ctest(new PriorityBlockingQueue<Integer>(SIZE), vlist, vsum, size, trials); |
109 |
|
} |
110 |
|
|
111 |
< |
if (checksum.get() != 0) |
112 |
< |
throw new Error("bad computation"); |
111 |
> |
if (checksum.get() != 0) throw new Error("bad computation"); |
112 |
|
} |
113 |
|
|
114 |
< |
static void ctest(Collection<Integer> c, List<Integer> klist, int ksum, int size, int trials) |
114 |
> |
static void ctest(Collection<Integer> c, List<Integer> klist, int ksum, int size, int trials) |
115 |
|
throws Exception { |
116 |
|
String cn = c.getClass().getName(); |
117 |
|
if (cn.startsWith("java.util.concurrent.")) |
141 |
|
long ti = itest(c, sum, trials); |
142 |
|
long ts = stest(c, sum, trials); |
143 |
|
long tp = ptest(c, sum, trials); |
144 |
+ |
if (checksum.get() != 0) throw new Error("bad computation"); |
145 |
|
if (print) { |
146 |
|
long scale = (long)size * trials; |
147 |
|
double di = ((double)ti) / scale; |
160 |
|
long tlast = System.nanoTime(); |
161 |
|
for (int i = 0; i < trials; ++i) { |
162 |
|
Integer psum = Integer.valueOf(checksum.get()); |
163 |
< |
for (Integer x : c) |
163 |
> |
for (Integer x : c) |
164 |
|
psum = SUM.apply(psum, x); |
165 |
|
checksum.getAndAdd(sum - psum); |
166 |
|
} |