xref: /aosp_15_r20/external/javassist/src/test/test1/BenchStaticMethod.java (revision f1fbf3c2ab775ce834e0af96b7a85bdc7a0eac65)
1*f1fbf3c2SXin Li package test1;
2*f1fbf3c2SXin Li 
3*f1fbf3c2SXin Li public class BenchStaticMethod {
4*f1fbf3c2SXin Li     public static final int N = 10000000;
5*f1fbf3c2SXin Li 
foo(int i)6*f1fbf3c2SXin Li     public static int foo(int i) {
7*f1fbf3c2SXin Li         i /= 100000;
8*f1fbf3c2SXin Li         int f = 1;
9*f1fbf3c2SXin Li         while (i > 1)
10*f1fbf3c2SXin Li             f *= i--;
11*f1fbf3c2SXin Li 
12*f1fbf3c2SXin Li         return f;
13*f1fbf3c2SXin Li     }
14*f1fbf3c2SXin Li 
foo2(int i)15*f1fbf3c2SXin Li     public static void foo2(int i) {}
16*f1fbf3c2SXin Li 
17*f1fbf3c2SXin Li     public static int num = 0;
18*f1fbf3c2SXin Li 
test()19*f1fbf3c2SXin Li     public static int test() {
20*f1fbf3c2SXin Li         long time = System.currentTimeMillis();
21*f1fbf3c2SXin Li         for (int i = N; i > 0; --i)
22*f1fbf3c2SXin Li             foo(i);
23*f1fbf3c2SXin Li 
24*f1fbf3c2SXin Li         long time2 = System.currentTimeMillis();
25*f1fbf3c2SXin Li         return (int)(time2 - time);
26*f1fbf3c2SXin Li     }
27*f1fbf3c2SXin Li 
orgTest()28*f1fbf3c2SXin Li     public static int orgTest() {
29*f1fbf3c2SXin Li         long time = System.currentTimeMillis();
30*f1fbf3c2SXin Li         for (int i = N; i > 0; --i)
31*f1fbf3c2SXin Li             foo(i);
32*f1fbf3c2SXin Li 
33*f1fbf3c2SXin Li         long time2 = System.currentTimeMillis();
34*f1fbf3c2SXin Li         return (int)(time2 - time);
35*f1fbf3c2SXin Li     }
36*f1fbf3c2SXin Li 
handTest()37*f1fbf3c2SXin Li     public static int handTest() {
38*f1fbf3c2SXin Li         long time = System.currentTimeMillis();
39*f1fbf3c2SXin Li         for (int i = N; i > 0; --i) {
40*f1fbf3c2SXin Li             num += i;
41*f1fbf3c2SXin Li             foo(i);
42*f1fbf3c2SXin Li         }
43*f1fbf3c2SXin Li 
44*f1fbf3c2SXin Li         long time2 = System.currentTimeMillis();
45*f1fbf3c2SXin Li         return (int)(time2 - time);
46*f1fbf3c2SXin Li     }
47*f1fbf3c2SXin Li 
main(String[] args)48*f1fbf3c2SXin Li     public static void main(String[] args) throws Exception {
49*f1fbf3c2SXin Li         System.out.println("orgTest (msec) " + orgTest());
50*f1fbf3c2SXin Li         System.out.println("handTest (msec) " + handTest());
51*f1fbf3c2SXin Li         System.out.println("test (msec) " + test());
52*f1fbf3c2SXin Li     }
53*f1fbf3c2SXin Li }
54