OSDN Git Service

Revised performance code.
[soba/JavaAnalysisToolsDemo.git] / JavaAnalysisToolsDemo / src / demo / soba / CallGraphPerformance.java
diff --git a/JavaAnalysisToolsDemo/src/demo/soba/CallGraphPerformance.java b/JavaAnalysisToolsDemo/src/demo/soba/CallGraphPerformance.java
new file mode 100644 (file)
index 0000000..e4a1d6c
--- /dev/null
@@ -0,0 +1,28 @@
+package demo.soba;\r
+\r
+import soba.core.JavaProgram;\r
+import soba.core.MethodInfo;\r
+import soba.util.callgraph.CallGraph;\r
+import soba.util.files.ClasspathUtil;\r
+import demo.util.MemoryInfo;\r
+\r
+public class CallGraphPerformance {\r
+\r
+       public static void main(String[] args) {\r
+               long start = System.currentTimeMillis();\r
+               \r
+               JavaProgram program = new JavaProgram(ClasspathUtil.getClassList(args));\r
+               CallGraph cg = new CallGraph(program);\r
+               for (MethodInfo caller: cg.getMethods()) {\r
+                       for (MethodInfo callee: cg.getCallees(caller)) {\r
+//                             System.out.println(caller.toLongString() + " may call " + callee.toLongString());\r
+                       }\r
+               }\r
+               \r
+               long end = System.currentTimeMillis();\r
+               \r
+               System.err.println((end - start) + " [ms]");\r
+               System.err.println(MemoryInfo.getMemoryInfo());\r
+       }\r
+\r
+}\r