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.*; |
14 |
|
* and long iterators. Reports include times for adds and other |
15 |
|
* checks, so overestimate times per iteration. |
16 |
|
*/ |
17 |
– |
|
17 |
|
public final class IteratorLoops { |
18 |
|
static final int DEFAULT_SIZE = 16384; |
19 |
|
static final int DEFAULT_TRIALS = 4; |
27 |
|
int t = (args.length <= 2) ? DEFAULT_TRIALS : Integer.parseInt(args[2]); |
28 |
|
|
29 |
|
System.out.print("Class: " + klass.getName()); |
30 |
< |
System.out.print(" ~iters: " + (long)n * (long)n); |
30 |
> |
System.out.print(" ~iters: " + (long) n * (long) n); |
31 |
|
System.out.print(" trials: " + t); |
32 |
|
System.out.println(); |
33 |
|
|
64 |
|
preload(n); |
65 |
|
long startTime = System.nanoTime(); |
66 |
|
long count = traversals(n); |
67 |
< |
double elapsed = (double)(System.nanoTime() - startTime); |
67 |
> |
double elapsed = (double) (System.nanoTime() - startTime); |
68 |
|
double npi = elapsed / count; |
69 |
|
double secs = elapsed / 1000000000; |
70 |
|
System.out.printf("%7.1f ns/iter %8.3fs run time\n", npi, secs); |
73 |
|
long traversals(int n) { |
74 |
|
long count = 0; |
75 |
|
long check = 0; |
76 |
< |
for (int i = 0; i < n; i++) { |
76 |
> |
for (int i = 0; i < n; i++) { |
77 |
|
check += elementCount; |
78 |
|
count += counts(); |
79 |
|
maybeAdd(); |