8 |
|
import java.util.concurrent.ExecutorService; |
9 |
|
import java.util.concurrent.Executors; |
10 |
|
import java.util.concurrent.atomic.AtomicLong; |
11 |
+ |
//import java.util.concurrent.atomic.LongAdder; |
12 |
|
import jsr166e.LongAdder; |
13 |
|
|
14 |
|
public class LongAdderDemo { |
19 |
|
public static void main(String[] args) { |
20 |
|
System.out.println("Warmup..."); |
21 |
|
int half = NCPU > 1 ? NCPU / 2 : 1; |
22 |
< |
casTest(half, 1000); |
22 |
> |
// casTest(half, 1000); |
23 |
|
adderTest(half, 1000); |
24 |
|
|
25 |
|
for (int reps = 0; reps < 2; ++reps) { |
26 |
|
System.out.println("Running..."); |
27 |
|
for (int i = 1; i <= NCPU * 2; i <<= 1) { |
28 |
< |
casTest(i, INCS_PER_THREAD); |
28 |
> |
// casTest(i, INCS_PER_THREAD); |
29 |
|
adderTest(i, INCS_PER_THREAD); |
30 |
|
} |
31 |
|
} |