ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/loops/Sync100M.java
Revision: 1.4
Committed: Tue Nov 3 01:04:02 2009 UTC (14 years, 6 months ago) by jsr166
Branch: MAIN
Changes since 1.3: +3 -3 lines
Log Message:
coding style

File Contents

# Content
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
5 */
6
7 class Sync100M {
8 public static void main(String[] args) throws Exception {
9 int x = loop((int) System.nanoTime(), 100000);
10 x = loop(x, 100000);
11 x = loop(x, 100000);
12 long start = System.nanoTime();
13 x = loop(x, 100000000);
14 if (x == 0) System.out.print(" ");
15 long time = System.nanoTime() - start;
16 double secs = (double) time / 1000000000.0;
17 System.out.println("time: " + secs);
18 start = System.nanoTime();
19 x = loop(x, 100000000);
20 if (x == 0) System.out.print(" ");
21 time = System.nanoTime() - start;
22 secs = (double) time / 1000000000.0;
23 System.out.println("time: " + secs);
24
25 }
26
27 static final Object obj = new Object();
28
29 static int loop(int x, int iters) {
30 for (int i = iters; i > 0; --i) {
31 synchronized(obj) {
32 x = x * 134775813 + 1;
33 }
34 }
35 return x;
36 }
37
38 }