| package test1; |
| |
| class BenchProceed2 { |
| public void calc2() { |
| for (long i = 0; i < 10000000; ++i) |
| Math.sqrt(i); |
| } |
| } |
| |
| public class BenchProceed { |
| public double d; |
| public java.lang.reflect.Method calcM; |
| |
| public static final int N = 1000000; |
| |
| public BenchProceed() throws Exception { |
| calcM = this.getClass().getDeclaredMethod("calc", new Class[0]); |
| } |
| |
| public void calc() { |
| d = Math.sqrt(3.0); |
| } |
| |
| public int p() { |
| long time = System.currentTimeMillis(); |
| for (int i = N; i > 0; --i) |
| calc(); |
| |
| long time2 = System.currentTimeMillis(); |
| return (int)(time2 - time); |
| } |
| |
| public int q() { |
| long time = System.currentTimeMillis(); |
| for (int i = N; i > 0; --i) |
| calc(); |
| |
| long time2 = System.currentTimeMillis(); |
| return (int)(time2 - time); |
| } |
| |
| public int s() { |
| BenchProceed2 bp = new BenchProceed2(); |
| for (int i = 0; i < 5; ++i) |
| bp.calc2(); |
| |
| return 0; |
| } |
| |
| public int t() { |
| BenchProceed2 bp = new BenchProceed2(); |
| for (int i = 0; i < 5; ++i) |
| bp.calc2(); |
| |
| return 0; |
| } |
| |
| public void before(Object[] args) { |
| } |
| |
| public Object replace(Object[] args) { |
| try { |
| return calcM.invoke(this, args); |
| } |
| catch (Exception e) { |
| System.out.println(e); |
| } |
| |
| return null; |
| } |
| |
| public static void main(String[] args) throws Exception { |
| BenchProceed bp = new BenchProceed(); |
| System.out.println("iteration " + N); |
| System.out.println("p (msec) " + bp.p()); |
| System.out.println("q (msec) " + bp.q()); |
| System.out.println("p (msec) " + bp.p()); |
| System.out.println("q (msec) " + bp.q()); |
| |
| bp.s(); |
| bp.t(); |
| } |
| } |