diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TransactionPerSecondMeasurement.java @ 20:195c1a644550

benchmark add
author tatsuki
date Tue, 17 Mar 2015 15:37:19 +0900
parents 17cc11b04157
children c8d8864714d4
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TransactionPerSecondMeasurement.java	Sun Feb 15 02:06:57 2015 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TransactionPerSecondMeasurement.java	Tue Mar 17 15:37:19 2015 +0900
@@ -13,25 +13,14 @@
 import org.xml.sax.SAXException;
 
 import jp.ac.u_ryukyu.cr.ie.tatsuki.xmlTestBbs.JuGrix;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
 
 public class TransactionPerSecondMeasurement {
 
   public static void main(String[] args) throws InterruptedException, IOException, ParserConfigurationException, SAXException {
-//   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);
-    JuGrix jugrix = extendXmlTree.createJuGrix(true,100);
-    System.out.println("endCreatejugrixa ");
-//    editor = editor.success().b();
+    System.out.println("endCreatejugrix");
+    JuGrix jugrix = extendXmlTree.createJuGrix(true,400);
      System.out.println(Runtime.getRuntime().availableProcessors());
 
     if (args.length > 0) {
@@ -47,15 +36,19 @@
 
   private static void readAndWrite(JuGrix jugrix) throws InterruptedException, IOException {
     System.out.println("read and write");
-    File file = new File("./time/readAndWrite");
+    Runtime rt = Runtime.getRuntime();
+    int cpuNum = rt.availableProcessors();
+    
+    File file = new File("./time/newTransactionReadAndWrite");
     PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
-    for (int THREAD_COUNT = 1; THREAD_COUNT <= 12; THREAD_COUNT++) {
+
+    for (int THREAD_COUNT = 1; THREAD_COUNT <= cpuNum; THREAD_COUNT++) {
       ReadJungleThread readThread[] = new ReadJungleThread[THREAD_COUNT];
       for (int count = 0; THREAD_COUNT > count; count++) {
         readThread[count] = new ReadJungleThread(jugrix);
       }
 
-      WriteJungleThread writeThread =  new WriteJungleThread(null);
+      WriteJungleThread writeThread =  new WriteJungleThread(jugrix);
       writeThread.start();
       for (int count = 0; THREAD_COUNT > count; count++) {
         readThread[count].start();
@@ -70,7 +63,6 @@
       for (int count = 0; THREAD_COUNT > count; count++) {
         readCount = readCount + readThread[count].getFindCount();
         readThread[count].set(false);
-        System.out.println(readThread[count].getFindCount());
       }
 
 
@@ -82,10 +74,13 @@
   }
 
   private static void readOnly(JuGrix jugrix) throws InterruptedException, IOException {
-    System.out.println("read onlya");
+    System.out.println("read only");
+    Runtime rt = Runtime.getRuntime();
+    int cpuNum = rt.availableProcessors();
+
     File file = new File("./time/readOnly");
     PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
-    for (int THREAD_COUNT = 1; THREAD_COUNT <= 12; THREAD_COUNT++) {
+    for (int THREAD_COUNT = 1; THREAD_COUNT <= cpuNum; THREAD_COUNT++) {
       ReadJungleThread readThread[] = new ReadJungleThread[THREAD_COUNT];
       ;
       for (int count = 0; THREAD_COUNT > count; count++) {
@@ -104,11 +99,12 @@
       for (int count = 0; THREAD_COUNT > count; count++) {
         readCount = readCount + readThread[count].getFindCount();
         readThread[count].set(false);
-        System.out.println(readThread[count].getFindCount());
       }
+      
       pw.println(THREAD_COUNT + " " + readCount);
       System.out.println(THREAD_COUNT + "readCount = " + readCount);
     }
+    
     pw.close();
   }