Code:
public class Main {
private static int ITERATIONS = 200000;
public static void main(String[] args) {
method1();
method2();
}
public static void method1() {
long n = System.nanoTime();
for(int i = 0; i < ITERATIONS; ++i) {
int x = 1;
if(true)
x = 2;
}
long s = System.nanoTime();
System.out.println("1: " + (s - n) + " avg:" + ((s - n) / ITERATIONS));
}
public static void method2() {
long n = System.nanoTime();
for(int i = 0; i < ITERATIONS; ++i) {
int x = true == true? 1 : 2;
}
long s = System.nanoTime();
System.out.println("2: " + (s - n) + " avg:" + ((s - n) / ITERATIONS));
}
}
Code:
public class Main extends java.lang.Object{
public Main();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: invokestatic #2; //Method method1:()V
3: invokestatic #3; //Method method2:()V
6: return
public static void method1();
Code:
0: invokestatic #4; //Method java/lang/System.nanoTime:()J
3: lstore_0
4: iconst_0
5: istore_2
6: iload_2
7: getstatic #5; //Field ITERATIONS:I
10: if_icmpge 23
13: iconst_1
14: istore_3
15: iconst_2
16: istore_3
17: iinc 2, 1
20: goto 6
23: invokestatic #4; //Method java/lang/System.nanoTime:()J
26: lstore_2
27: getstatic #6; //Field java/lang/System.out:Ljava/io/PrintStream;
30: new #7; //class java/lang/StringBuilder
33: dup
34: invokespecial #8; //Method java/lang/StringBuilder."<init>":()V
37: ldc #9; //String 1:
39: invokevirtual #10; //Method java/lang/StringBuilder.append:(Ljava/lang
/String;)Ljava/lang/StringBuilder;
42: lload_2
43: lload_0
44: lsub
45: invokevirtual #11; //Method java/lang/StringBuilder.append:(J)Ljava/la
ng/StringBuilder;
48: ldc #12; //String avg:
50: invokevirtual #10; //Method java/lang/StringBuilder.append:(Ljava/lang
/String;)Ljava/lang/StringBuilder;
53: lload_2
54: lload_0
55: lsub
56: getstatic #5; //Field ITERATIONS:I
59: i2l
60: ldiv
61: invokevirtual #11; //Method java/lang/StringBuilder.append:(J)Ljava/la
ng/StringBuilder;
64: invokevirtual #13; //Method java/lang/StringBuilder.toString:()Ljava/l
ang/String;
67: invokevirtual #14; //Method java/io/PrintStream.println:(Ljava/lang/St
ring;)V
70: return
public static void method2();
Code:
0: invokestatic #4; //Method java/lang/System.nanoTime:()J
3: lstore_0
4: iconst_0
5: istore_2
6: iload_2
7: getstatic #5; //Field ITERATIONS:I
10: if_icmpge 21
13: iconst_1
14: istore_3
15: iinc 2, 1
18: goto 6
21: invokestatic #4; //Method java/lang/System.nanoTime:()J
24: lstore_2
25: getstatic #6; //Field java/lang/System.out:Ljava/io/PrintStream;
28: new #7; //class java/lang/StringBuilder
31: dup
32: invokespecial #8; //Method java/lang/StringBuilder."<init>":()V
35: ldc #15; //String 2:
37: invokevirtual #10; //Method java/lang/StringBuilder.append:(Ljava/lang
/String;)Ljava/lang/StringBuilder;
40: lload_2
41: lload_0
42: lsub
43: invokevirtual #11; //Method java/lang/StringBuilder.append:(J)Ljava/la
ng/StringBuilder;
46: ldc #12; //String avg:
48: invokevirtual #10; //Method java/lang/StringBuilder.append:(Ljava/lang
/String;)Ljava/lang/StringBuilder;
51: lload_2
52: lload_0
53: lsub
54: getstatic #5; //Field ITERATIONS:I
57: i2l
58: ldiv
59: invokevirtual #11; //Method java/lang/StringBuilder.append:(J)Ljava/la
ng/StringBuilder;
62: invokevirtual #13; //Method java/lang/StringBuilder.toString:()Ljava/l
ang/String;
65: invokevirtual #14; //Method java/io/PrintStream.println:(Ljava/lang/St
ring;)V
68: return
static {};
Code:
0: ldc #16; //int 200000
2: putstatic #5; //Field ITERATIONS:I
5: return
}
1: 630641 avg:3
2: 778122 avg:3