comparison src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TransactionPerSecondMeasurement.java @ 19:17cc11b04157

change read function for transactionPerSecond
author one
date Sun, 15 Feb 2015 02:06:57 +0900
parents 190890be73e4
children 195c1a644550
comparison
equal deleted inserted replaced
18:190890be73e4 19:17cc11b04157
6 import java.io.IOException; 6 import java.io.IOException;
7 import java.io.PrintWriter; 7 import java.io.PrintWriter;
8 import java.nio.ByteBuffer; 8 import java.nio.ByteBuffer;
9 import java.util.Random; 9 import java.util.Random;
10 10
11 import javax.xml.parsers.ParserConfigurationException;
12
13 import org.xml.sax.SAXException;
14
15 import jp.ac.u_ryukyu.cr.ie.tatsuki.xmlTestBbs.JuGrix;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; 16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle;
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; 17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; 18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; 19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; 20 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; 22 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; 23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
19 24
20 public class TransactionPerSecondMeasurement { 25 public class TransactionPerSecondMeasurement {
21 26
22 public static void main(String[] args) throws InterruptedException, IOException { 27 public static void main(String[] args) throws InterruptedException, IOException, ParserConfigurationException, SAXException {
23 Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser())); 28 // Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser()));
24 JungleTree tree = jungle.createNewTree("testTree"); 29 // JungleTree tree = jungle.createNewTree("testTree");
25 JungleTreeEditor editor = tree.getTreeEditor(); 30 // JungleTreeEditor editor = tree.getTreeEditor();
26 editor = createTree(0, new DefaultNodePath(), editor); 31 // editor = createTree(0, new DefaultNodePath(), editor);
27 System.out.println("endCreateTree"); 32 JuGrix jugrix = extendXmlTree.createJuGrix(true,100);
28 editor = editor.success().b(); 33 System.out.println("endCreatejugrixa ");
29 System.out.println(Runtime.getRuntime().availableProcessors()); 34 // editor = editor.success().b();
35 System.out.println(Runtime.getRuntime().availableProcessors());
30 36
31 if (args.length > 0) { 37 if (args.length > 0) {
38
32 if (args[0].equals("read")) 39 if (args[0].equals("read"))
33 readOnly(tree); 40 readOnly(jugrix);
34 if (args[0].equals("write")) 41 if (args[0].equals("write"))
35 readAndWrite(tree); 42 readAndWrite(jugrix);
43
36 } else 44 } else
37 System.out.println("Please with the argument"); 45 System.out.println("Please with the argument");
38 } 46 }
39 47
40 private static void readAndWrite(JungleTree tree) throws InterruptedException, IOException { 48 private static void readAndWrite(JuGrix jugrix) throws InterruptedException, IOException {
41 System.out.println("read and write"); 49 System.out.println("read and write");
42 File file = new File("./time/readAndWrite"); 50 File file = new File("./time/readAndWrite");
43 PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); 51 PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
44 for (int THREAD_COUNT = 1; THREAD_COUNT <= 12; THREAD_COUNT++) { 52 for (int THREAD_COUNT = 1; THREAD_COUNT <= 12; THREAD_COUNT++) {
45 ReadJungleThread readThread[] = new ReadJungleThread[THREAD_COUNT]; 53 ReadJungleThread readThread[] = new ReadJungleThread[THREAD_COUNT];
46 for (int count = 0; THREAD_COUNT > count; count++) { 54 for (int count = 0; THREAD_COUNT > count; count++) {
47 readThread[count] = new ReadJungleThread(tree); 55 readThread[count] = new ReadJungleThread(jugrix);
48 } 56 }
49 57
50 WriteJungleThread writeThread = new WriteJungleThread(tree); 58 WriteJungleThread writeThread = new WriteJungleThread(null);
51 writeThread.start(); 59 writeThread.start();
52 for (int count = 0; THREAD_COUNT > count; count++) { 60 for (int count = 0; THREAD_COUNT > count; count++) {
53 readThread[count].start(); 61 readThread[count].start();
54 } 62 }
55 63
71 Thread.sleep(1000); 79 Thread.sleep(1000);
72 } 80 }
73 pw.close(); 81 pw.close();
74 } 82 }
75 83
76 private static void readOnly(JungleTree tree) throws InterruptedException, IOException { 84 private static void readOnly(JuGrix jugrix) throws InterruptedException, IOException {
77 System.out.println("read only"); 85 System.out.println("read onlya");
78 File file = new File("./time/readOnly"); 86 File file = new File("./time/readOnly");
79 PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); 87 PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
80 for (int THREAD_COUNT = 1; THREAD_COUNT <= 12; THREAD_COUNT++) { 88 for (int THREAD_COUNT = 1; THREAD_COUNT <= 12; THREAD_COUNT++) {
81 ReadJungleThread readThread[] = new ReadJungleThread[THREAD_COUNT]; 89 ReadJungleThread readThread[] = new ReadJungleThread[THREAD_COUNT];
82 ; 90 ;
83 for (int count = 0; THREAD_COUNT > count; count++) { 91 for (int count = 0; THREAD_COUNT > count; count++) {
84 readThread[count] = new ReadJungleThread(tree); 92 readThread[count] = new ReadJungleThread(jugrix);
85 } 93 }
86 94
87 for (int count = 0; THREAD_COUNT > count; count++) { 95 for (int count = 0; THREAD_COUNT > count; count++) {
88 readThread[count].start(); 96 readThread[count].start();
89 } 97 }