JVM-20130325

class a {

    public static int addmult(int x, int y, int z) {
       int temp = x + y;
       return z * temp;
    }

    public static int cal1(int x, int y, int z) {
       int sum = 0;
       for(int i = 0; i < 8000; i++) {
          sum += addmult(x, y, z);
       }
       return sum;
    }

    public static int cal2(int x, int y, int z) {
       int sum = 0;
       for(int i = 0; i < 8000; i++) {
          sum += addmult(x, y, z);
       }
       return sum;
    }

    public static void main (String args[]) {
long startTime = System.currentTimeMillis();
        int x = 1;
        int y = 1;
        int z = 1;
        a.cal1(x, y, z);
        a.cal2(x, y, z);
long endTime = System.currentTimeMillis();
        System.err.println("time: "+ (endTime - startTime)+" z = "+z);
        }
}


 11     Parm    ===  3  [[ 24 ]] Parm1: int !jvms: a::addmult @ bci:-1
 10     Parm    ===  3  [[ 24 ]] Parm0: int !jvms: a::addmult @ bci:-1
 24     AddI    === _  10  11  [[ 25 ]]  !jvms: a::addmult @ bci:2
 12     Parm    ===  3  [[ 25 ]] Parm2: int !jvms: a::addmult @ bci:-1
 3      Start   ===  3  0  [[ 3  5  6  7  8  9  10  11  12 ]]  #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address, 5:int, 6:int, 7:int}
 25     MulI    === _  12  24  [[ 26 ]]  !jvms: a::addmult @ bci:6
 9      Parm    ===  3  [[ 26 ]] ReturnAdr !jvms: a::addmult @ bci:-1
 8      Parm    ===  3  [[ 26 ]] FramePtr !jvms: a::addmult @ bci:-1
 7      Parm    ===  3  [[ 26 ]] Memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: a::addmult @ bci:-1
 6      Parm    ===  3  [[ 26 ]] I_O !jvms: a::addmult @ bci:-1
 5      Parm    ===  3  [[ 26 ]] Control !jvms: a::addmult @ bci:-1
 26     Return  ===  5  6  7  8  9 returns 25  [[ 0 ]]
 0      Root    ===  0  26  [[ 0  1  3 ]] inner

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章