1*f1fbf3c2SXin Li package test1; 2*f1fbf3c2SXin Li 3*f1fbf3c2SXin Li class BenchProceed2 { calc2()4*f1fbf3c2SXin Li public void calc2() { 5*f1fbf3c2SXin Li for (long i = 0; i < 10000000; ++i) 6*f1fbf3c2SXin Li Math.sqrt(i); 7*f1fbf3c2SXin Li } 8*f1fbf3c2SXin Li } 9*f1fbf3c2SXin Li 10*f1fbf3c2SXin Li public class BenchProceed { 11*f1fbf3c2SXin Li public double d; 12*f1fbf3c2SXin Li public java.lang.reflect.Method calcM; 13*f1fbf3c2SXin Li 14*f1fbf3c2SXin Li public static final int N = 1000000; 15*f1fbf3c2SXin Li BenchProceed()16*f1fbf3c2SXin Li public BenchProceed() throws Exception { 17*f1fbf3c2SXin Li calcM = this.getClass().getDeclaredMethod("calc", new Class[0]); 18*f1fbf3c2SXin Li } 19*f1fbf3c2SXin Li calc()20*f1fbf3c2SXin Li public void calc() { 21*f1fbf3c2SXin Li d = Math.sqrt(3.0); 22*f1fbf3c2SXin Li } 23*f1fbf3c2SXin Li p()24*f1fbf3c2SXin Li public int p() { 25*f1fbf3c2SXin Li long time = System.currentTimeMillis(); 26*f1fbf3c2SXin Li for (int i = N; i > 0; --i) 27*f1fbf3c2SXin Li calc(); 28*f1fbf3c2SXin Li 29*f1fbf3c2SXin Li long time2 = System.currentTimeMillis(); 30*f1fbf3c2SXin Li return (int)(time2 - time); 31*f1fbf3c2SXin Li } 32*f1fbf3c2SXin Li q()33*f1fbf3c2SXin Li public int q() { 34*f1fbf3c2SXin Li long time = System.currentTimeMillis(); 35*f1fbf3c2SXin Li for (int i = N; i > 0; --i) 36*f1fbf3c2SXin Li calc(); 37*f1fbf3c2SXin Li 38*f1fbf3c2SXin Li long time2 = System.currentTimeMillis(); 39*f1fbf3c2SXin Li return (int)(time2 - time); 40*f1fbf3c2SXin Li } 41*f1fbf3c2SXin Li s()42*f1fbf3c2SXin Li public int s() { 43*f1fbf3c2SXin Li BenchProceed2 bp = new BenchProceed2(); 44*f1fbf3c2SXin Li for (int i = 0; i < 5; ++i) 45*f1fbf3c2SXin Li bp.calc2(); 46*f1fbf3c2SXin Li 47*f1fbf3c2SXin Li return 0; 48*f1fbf3c2SXin Li } 49*f1fbf3c2SXin Li t()50*f1fbf3c2SXin Li public int t() { 51*f1fbf3c2SXin Li BenchProceed2 bp = new BenchProceed2(); 52*f1fbf3c2SXin Li for (int i = 0; i < 5; ++i) 53*f1fbf3c2SXin Li bp.calc2(); 54*f1fbf3c2SXin Li 55*f1fbf3c2SXin Li return 0; 56*f1fbf3c2SXin Li } 57*f1fbf3c2SXin Li before(Object[] args)58*f1fbf3c2SXin Li public void before(Object[] args) { 59*f1fbf3c2SXin Li } 60*f1fbf3c2SXin Li replace(Object[] args)61*f1fbf3c2SXin Li public Object replace(Object[] args) { 62*f1fbf3c2SXin Li try { 63*f1fbf3c2SXin Li return calcM.invoke(this, args); 64*f1fbf3c2SXin Li } 65*f1fbf3c2SXin Li catch (Exception e) { 66*f1fbf3c2SXin Li System.out.println(e); 67*f1fbf3c2SXin Li } 68*f1fbf3c2SXin Li 69*f1fbf3c2SXin Li return null; 70*f1fbf3c2SXin Li } 71*f1fbf3c2SXin Li main(String[] args)72*f1fbf3c2SXin Li public static void main(String[] args) throws Exception { 73*f1fbf3c2SXin Li BenchProceed bp = new BenchProceed(); 74*f1fbf3c2SXin Li System.out.println("iteration " + N); 75*f1fbf3c2SXin Li System.out.println("p (msec) " + bp.p()); 76*f1fbf3c2SXin Li System.out.println("q (msec) " + bp.q()); 77*f1fbf3c2SXin Li System.out.println("p (msec) " + bp.p()); 78*f1fbf3c2SXin Li System.out.println("q (msec) " + bp.q()); 79*f1fbf3c2SXin Li 80*f1fbf3c2SXin Li bp.s(); 81*f1fbf3c2SXin Li bp.t(); 82*f1fbf3c2SXin Li } 83*f1fbf3c2SXin Li } 84