diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TimeMeasurementJuGrixFunction.java @ 15:89478f2ea07f

change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
author one
date Mon, 08 Dec 2014 01:08:03 +0900
parents
children eed6235830c9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TimeMeasurementJuGrixFunction.java	Mon Dec 08 01:08:03 2014 +0900
@@ -0,0 +1,104 @@
+package jp.ac.u_ryukyu.ie.cr.tatsuki.xml;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.Random;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.xml.sax.SAXException;
+
+import jp.ac.u_ryukyu.cr.ie.tatsuki.bbs.JuGrix;
+
+public class TimeMeasurementJuGrixFunction {
+
+    static int roopCount = 10;
+    static boolean useIndex = true;
+    static int personCount = 300;
+
+    public static void main(String args[]) throws FileNotFoundException,
+            ParserConfigurationException, SAXException, IOException {
+
+        System.out.println("start : ");
+
+        String orgId = "o:2";
+        String personId = "p:1";
+        LinkedList<String> filterIds = new LinkedList<String>();
+        filterIds.add("r:5");
+        long t2;
+        long t1;
+        t1 = System.currentTimeMillis();
+        JuGrix jugrix = extendXmlTree.createJuGrix(useIndex, personCount);
+        t2 = System.currentTimeMillis();
+        System.out.println("create tree =" + (t2 - t1) + "s");
+        Random random = new Random();
+
+        functions(jugrix, orgId, personId, filterIds);
+       
+        long sumTime = 0;
+        for (int count = 0; count < roopCount; count++) {
+
+            int ran = random.nextInt(30);
+            orgId = "o:" + String.valueOf(ran);
+            personId = "p:" + String.valueOf(ran);
+            t1 = System.currentTimeMillis();
+            functions(jugrix, orgId, personId, filterIds);
+            t2 = System.currentTimeMillis();
+            sumTime = (t2 - t1) + sumTime;
+            System.out.println(count + "回目=" + sumTime + "s");
+        }
+        System.out.println("平均 = " + (sumTime / 10) + "s");
+        System.out.println("end");
+    }
+
+    private static void functions(JuGrix jugrix, String orgId, String personId,
+            LinkedList<String> filterIds) {
+        long t1 = System.currentTimeMillis();
+        jugrix.childOrganizationIds(orgId, filterIds);
+        long t2 = System.currentTimeMillis();
+        // System.out.println("childOrganizationIds = " + (t2-t1));
+        jugrix.competentRoleId(personId);
+        long t3 = System.currentTimeMillis();
+        // System.out.println("competentRoleId = " +(t3-t2));
+        jugrix.concurrentRoleIds(personId);
+        long t4 = System.currentTimeMillis();
+        // System.out.println("concurrentRoleIds = "+(t4-t3));
+        jugrix.deepChildOrganizationIds(orgId, filterIds);
+        long t5 = System.currentTimeMillis();
+        // System.out.println("deepChildOrganizationIds = "+(t5-t4));
+        jugrix.deepChildOrganizationIdsPlus(orgId, filterIds);
+        long t6 = System.currentTimeMillis();
+        // System.out.println("deepChildOrganizationIdsPlus = "+(t6-t5));
+        jugrix.deepParentOrganizationIds(orgId, filterIds);
+        long t7 = System.currentTimeMillis();
+        // System.out.println("deepParentOrganizationIds = "+(t7-t6));
+        jugrix.deepParentOrganizationIdsPlus(orgId, filterIds);
+        long t8 = System.currentTimeMillis();
+        // System.out.println("deepParentOrganizationIdsPlus = "+(t8-t7));
+        jugrix.deepPersonIds(orgId, filterIds);
+        long t9 = System.currentTimeMillis();
+        // System.out.println("deepPersonIds = "+(t9-t8));
+        jugrix.isActive(personId);
+        long t10 = System.currentTimeMillis();
+        // System.out.println("isActive = "+(t10-t9));
+        jugrix.parentOrganizationIds(orgId, filterIds);
+        long t11 = System.currentTimeMillis();
+        // System.out.println("parentOrganizationIds = "+(t11-t10));
+        jugrix.personIds(orgId, filterIds);
+        long t12 = System.currentTimeMillis();
+        // System.out.println("personIds = "+(t12-t11));
+        jugrix.roleDescriptionElementIds(orgId, filterIds);
+        long t13 = System.currentTimeMillis();
+        // System.out.println("roleDescriptionElementIds = "+(t13-t12));
+        jugrix.roleIds(orgId, filterIds);
+        long t14 = System.currentTimeMillis();
+        // System.out.println("roleIds = "+(t14-t13));
+        jugrix.rolePriority(personId, "r:34");
+        long t15 = System.currentTimeMillis();
+        // System.out.println("rolePriority = "+(t15-t14));
+        jugrix.stringPathToId("r:path:エスアールエルテクノシステム/臨検システム部/業務システムグループ");
+        long t16 = System.currentTimeMillis();
+        // System.out.println("stringPathToId = "+(t16-t15));
+    }
+}