aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/test1/BenchProceed.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/test1/BenchProceed.java')
-rw-r--r--src/test/test1/BenchProceed.java83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/test/test1/BenchProceed.java b/src/test/test1/BenchProceed.java
new file mode 100644
index 00000000..c7561811
--- /dev/null
+++ b/src/test/test1/BenchProceed.java
@@ -0,0 +1,83 @@
+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();
+ }
+}