changeset 15:89478f2ea07f

change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
author one
date Mon, 08 Dec 2014 01:08:03 +0900
parents 047bbe894005
children eed6235830c9
files .classpath src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/FunctionThread.java src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TimeMeasurementJuGrix.java src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TimeMeasurementJuGrixFunction.java src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TransactionPerSecondMeasurement.java src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java
diffstat 6 files changed, 204 insertions(+), 199 deletions(-) [+]
line wrap: on
line diff
--- a/.classpath	Sat Dec 06 12:00:21 2014 +0900
+++ b/.classpath	Mon Dec 08 01:08:03 2014 +0900
@@ -1,14 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
-  <classpathentry kind="output" path="target/classes"/>
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/jungle/jungle-core/0.0.3-SNAPSHOT/jungle-core-0.0.3-SNAPSHOT.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/guava/guava/12.0/guava-12.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/functionaljava/functionaljava/3.1/functionaljava-3.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/maven/surefire/surefire-junit4/2.13/surefire-junit4-2.13.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/maven/surefire/surefire-api/2.13/surefire-api-2.13.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/4.7/junit-4.7.jar"/>
-</classpath>
\ No newline at end of file
+	<classpathentry including="**/*.java" kind="src" path="src/main/java"/>
+	<classpathentry kind="var" path="M2_REPO/org/functionaljava/functionaljava/4.1/functionaljava-4.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar"/>
+	<classpathentry kind="var" path="M2_REPO/junit/junit/4.7/junit-4.7.jar" sourcepath="M2_REPO/junit/junit/4.7/junit-4.7-sources.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/jungle-core"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/JungleXMLReader"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java8u25"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/FunctionThread.java	Sat Dec 06 12:00:21 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/FunctionThread.java	Mon Dec 08 01:08:03 2014 +0900
@@ -9,44 +9,47 @@
 
 public class FunctionThread extends Thread {
 
-  JungleTree tree;
-  int findCount;
-  boolean loop = true;
+    JungleTree tree;
+    int findCount;
+    boolean loop = true;
 
-  public FunctionThread(JungleTree tree) {
-    this.tree = tree;
-    this.findCount = 0;
-  }
+    public FunctionThread(JungleTree tree) {
+        this.tree = tree;
+        this.findCount = 0;
+    }
 
-  public int getFindCount() {
-    return findCount;
-  }
+    public int getFindCount() {
+        return findCount;
+    }
+
+    public void set(boolean loop) {
+        this.loop = loop;
+    }
 
-  public void set(boolean loop) {
-    this.loop = loop;
-  }
-  
-  @Override
-  public void run() {
-    while (loop) {
-      
-      Random rnd = new Random();
-      String value = String.valueOf(rnd .nextInt(1000));
-      InterfaceTraverser traverser = tree.getTraverser(true);
-      Iterator<TreeNode> resultIterator = traverser.find((TreeNode node) -> {
-        String nodeValue = node.getAttributes().getString("KEY");
-        if (nodeValue == null)
-          return false;
-        if (nodeValue.equals(value))
-          return true;
-        return false;
-      }, "KEY", "3");
+    @Override
+    public void run() {
+        while (loop) {
+            
+            findCount++;
+            Random rnd = new Random();
 
-      for (; resultIterator.hasNext();) {
-        resultIterator.next();
-      }
+            String value = String.valueOf(rnd.nextInt(1000));
+            InterfaceTraverser traverser = tree.getTraverser(true);
+            Iterator<TreeNode> resultIterator = traverser.find(
+                    (TreeNode node) -> {
+                        String nodeValue = node.getAttributes()
+                                .getString("KEY");
+                        if (nodeValue == null)
+                            return false;
+                        if (nodeValue.equals(value))
+                            return true;
+                        return false;
+                    }, "KEY", value);
 
-      findCount++;
+            for (; resultIterator.hasNext();) {
+                resultIterator.next();
+            }
+
+        }
     }
-  }
 }
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TimeMeasurementJuGrix.java	Sat Dec 06 12:00:21 2014 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-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;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
-import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.ParentIndex;
-
-public class TimeMeasurementJuGrix {
-
-  static int roopCount = 1;
-  static boolean useIndex = true;
-
-  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);
-    t2 = System.currentTimeMillis();
-    System.out.println("create tree =" + (t2 - t1) + "s");
-    Random random = new Random();
-
-    t1 = System.currentTimeMillis();
-    functions(jugrix, orgId, personId, filterIds);
-    t2 = System.currentTimeMillis();
-    System.out.println("1回目=" + (t2 - t1) + "s");
-
-    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);
-      System.out.println(count + "回目=" + sumTime + "s");
-    }
-    System.out.println("平均 = " + sumTime + "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));
-  }
-}
--- /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));
+    }
+}
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TransactionPerSecondMeasurement.java	Sat Dec 06 12:00:21 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TransactionPerSecondMeasurement.java	Mon Dec 08 01:08:03 2014 +0900
@@ -14,58 +14,65 @@
 
 public class TransactionPerSecondMeasurement {
 
-  static int THREAD_COUNT = 2;
+    public static void main(String[] args) throws InterruptedException {
 
-  public static void main(String[] args) throws InterruptedException {
+        Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(
+                new DefaultTraverser()));
+        JungleTree tree = jungle.createNewTree("testTree");
+        JungleTreeEditor editor = tree.getTreeEditor();
+        editor = createTree(0, new DefaultNodePath(), editor);
+        editor = editor.success().b();
 
-    FunctionThread thread[];
-    thread = new FunctionThread[THREAD_COUNT];
+        for (int THREAD_COUNT = 1; THREAD_COUNT < 12; THREAD_COUNT++) {
+            FunctionThread thread[];
+            thread = new FunctionThread[THREAD_COUNT];
+            for (int count = 0; THREAD_COUNT > count; count++) {
+                thread[count] = new FunctionThread(tree);
+            }
 
-    Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser()));
-    JungleTree tree = jungle.createNewTree("testTree");
-    JungleTreeEditor editor = tree.getTreeEditor();
-    editor = createTree(0, new DefaultNodePath(), editor);
-    editor = editor.success().b();
-
+            System.out.println("StartThread");
+            for (int count = 0; THREAD_COUNT > count; count++) {
+                thread[count].start();
+            }
 
-    for (int count = 0; THREAD_COUNT > count; count++) {
-      thread[count] = new FunctionThread(tree);
-    }
+            for (int count = 0; count < 4; count++) {
+                Thread.sleep(2500);
+                // editor = editor.putAttribute(new DefaultNodePath(), key,
+                // ByteBuffer.wrap("2".getBytes())).b();
+                // editor = editor.success().b();
+            }
+            int readCount = 0;
+            for (int count = 0; THREAD_COUNT > count; count++) {
+                readCount = readCount + thread[count].getFindCount();
+                thread[count].set(false);
+                System.out.println(thread[count].getFindCount());
+            }
 
-   System.out.println("StartThread");
-    for (int count = 0; THREAD_COUNT > count; count++) {
-      thread[count].start();
+            System.out.println(THREAD_COUNT + "readCount = " + readCount);
+        }
+        System.out.println("end");
     }
 
-    Thread.sleep(1000);
-   // editor = editor.putAttribute(new DefaultNodePath().add(0), key, ByteBuffer.wrap("2".getBytes())).b();
-  //  editor = editor.success().b();
-    Thread.sleep(1000);
-   // editor = editor.putAttribute(new DefaultNodePath().add(0), key, ByteBuffer.wrap("2".getBytes())).b().success().b();
-    Thread.sleep(1000);
-    for (int count = 0; THREAD_COUNT > count; count++) {
-      System.out.println(thread[count].getFindCount());
-    }
+    static String key = "KEY";
 
-  }
-
-  static String key = "KEY";
-
-  public static JungleTreeEditor createTree(int deep, NodePath path, JungleTreeEditor editor) {
+    public static JungleTreeEditor createTree(int deep, NodePath path,
+            JungleTreeEditor editor) {
 
-    Random rnd = new Random();
-    String value1 = String.valueOf(rnd.nextInt(1000));
-    String value2 = String.valueOf(rnd.nextInt(1000));
-    editor = editor.addNewChildAt(path, 0).b();
-    editor = editor.putAttribute(path.add(0), key, ByteBuffer.wrap(value1.getBytes())).b();
-    editor = editor.addNewChildAt(path, 1).b();
-    editor = editor.putAttribute(path.add(0), key, ByteBuffer.wrap(value2.toString().getBytes())).b();
-    deep++;
+        Random rnd = new Random();
+        String value1 = String.valueOf(rnd.nextInt(1000));
+        String value2 = String.valueOf(rnd.nextInt(1000));
+        editor = editor.addNewChildAt(path, 0).b();
+        editor = editor.putAttribute(path.add(0), key,
+                ByteBuffer.wrap(value1.getBytes())).b();
+        editor = editor.addNewChildAt(path, 1).b();
+        editor = editor.putAttribute(path.add(0), key,
+                ByteBuffer.wrap(value2.toString().getBytes())).b();
+        deep++;
 
-    if (deep < 2) {
-      editor = createTree(deep, path.add(0), editor);
-      editor = createTree(deep, path.add(1), editor);
+        if (deep < 10) {
+            editor = createTree(deep, path.add(0), editor);
+            editor = createTree(deep, path.add(1), editor);
+        }
+        return editor;
     }
-    return editor;
-  }
 }
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java	Sat Dec 06 12:00:21 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java	Mon Dec 08 01:08:03 2014 +0900
@@ -32,9 +32,8 @@
 
   }
 
-  static int personCount = 200;
 
-  public static JuGrix createJuGrix(boolean useIndex) throws ParserConfigurationException, SAXException,
+  public static JuGrix createJuGrix(boolean useIndex,int personCount ) throws ParserConfigurationException, SAXException,
       FileNotFoundException, IOException {
     Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser()));
     JungleTree readXmlTree = jungle.createNewTree("Person");
@@ -50,9 +49,10 @@
       editor = extendsTree(editor, orgTree, roleTree, count);
     }
     editor.success();
-    System.out.println("end-------------------------------");
+ 
     int PersonCount = readXmlTree.getRootNode().getChildren().at(0).b().getChildren().size();
     System.out.println("PersonCount = " + PersonCount);
+    System.out.println("end-------------------------------");
     JuGrix jugrix = new JuGrix(useIndex, readXmlTree, orgTree, roleTree);
     return jugrix;
   }
@@ -240,7 +240,7 @@
     JungleTree tree = jungle.createNewTree(xml);
     ReadXmlHandler readXmlHandler = new ReadXmlHandler(tree);
     saxParser
-        .parse(new FileInputStream("/Users/e115731/workspace/JungleXmlReader/xml/" + xml + ".xml"), readXmlHandler);
+        .parse(new FileInputStream("/Users/one/Documents/workspace/JungleXMLReader/xml/" + xml + ".xml"), readXmlHandler);
     return readXmlHandler.getTree();
   }