annotate src/main/java/jp/ac/u_ryukyu/ie/cr/benchMark/persistent/DataReadBenchMark.java @ 331:74401cc27a96

fix log again
author suruga
date Sat, 08 Jul 2017 21:46:53 +0900
parents 2a0cb1f0ba4e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
231
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.benchMark.persistent;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
2
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.jungle.Jungle;
331
74401cc27a96 fix log again
suruga
parents: 329
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.jungle.tree.JungleTree;
74401cc27a96 fix log again
suruga
parents: 329
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor;
231
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.jungle.persistent.ChangeList;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.jungle.persistent.ChangeListReader;
263
tatsuki
parents: 253
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath;
331
74401cc27a96 fix log again
suruga
parents: 329
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.treeEditor.DefaultTreeEditor;
231
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.jungle.traverser.DefaultTraverser;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;
329
2a0cb1f0ba4e rename Error package
kono
parents: 325
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.jungle.util.jungleError.Error;
231
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.jungleNetwork.operations.NetworkNodePath;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
14 import jp.ac.u_ryukyu.ie.cr.jungleNetwork.persistent.PersistentJournal;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
15 import jp.ac.u_ryukyu.ie.cr.jungleNetwork.persistent.PersistentJungle;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
16 import jp.ac.u_ryukyu.ie.cr.jungleNetwork.transaction.JungleUpdater;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
17 import org.junit.Assert;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
18
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
19 import java.io.*;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
20 import java.nio.ByteBuffer;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
21
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
22 public class DataReadBenchMark {
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
23
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
24 static ByteBuffer value = ByteBuffer.wrap("value".getBytes());
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
25 static String key = "key";
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
26 static int pos = 0;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
27
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
28 public static void main(String[] args) throws IOException {
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
29
331
74401cc27a96 fix log again
suruga
parents: 329
diff changeset
30 PersistentJournal journal1 = new PersistentJournal("commit.log");
317
d6b81870216b Persisitent Differential Tree implement
tatsuki
parents: 266
diff changeset
31 Jungle jungle = new PersistentJungle(journal1, "uuid", new DefaultTraverser());
331
74401cc27a96 fix log again
suruga
parents: 329
diff changeset
32 Jungle jungle2 = new PersistentJungle(journal1, "uuid3",new DefaultTraverser());
231
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
33 Long t1;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
34 Long t2;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
35 PrintWriter readTimeWriter = new PrintWriter(new BufferedWriter(new FileWriter(new File("./time/readTime"))));
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
36 PrintWriter writeTimeWriter = new PrintWriter(new BufferedWriter(new FileWriter(new File("./time/writeTime"))));
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
37 for (int i = 1 ; i <= 20 ; i++) {
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
38 jungle.createNewTree("hoge" + i);
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
39 JungleTree tree1 = jungle.getTreeByName("hoge" + i);
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
40 JungleTreeEditor editor;
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
41 NetworkNodePath path = new NetworkNodePath();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
42 t1 = System.currentTimeMillis();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
43 for (int j = 0; j < 100 * i; j++) {
263
tatsuki
parents: 253
diff changeset
44 editor = tree1.getJungleTreeEditor();
231
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
45 Either<Error, JungleTreeEditor> either = editor.addNewChildAt(path, pos);
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
46 NodePath childPath = path.add(pos);
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
47 Assert.assertFalse(either.isA());
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
48 editor = either.b();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
49 either = editor.putAttribute(childPath, key, value);
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
50 JungleTreeEditor editor2 = either.b();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
51 either = editor2.success();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
52 Assert.assertFalse(either.isA());
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
53 }
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
54 t2 = System.currentTimeMillis();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
55
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
56 writeTimeWriter.println((100 * i) + " " + (t2 - t1));
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
57 System.out.println("write time = " + (t2 - t1));
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
58
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
59 PersistentJournal journal2 = new PersistentJournal();
331
74401cc27a96 fix log again
suruga
parents: 329
diff changeset
60 journal2.setInputFile(new File( journal1.getLogName()));
74401cc27a96 fix log again
suruga
parents: 329
diff changeset
61 journal2.setOutputFile(new File( journal1.getLogName()));
231
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
62 ChangeListReader reader = journal2.getReader();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
63
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
64 t1 = System.currentTimeMillis();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
65 for (ChangeList chList : reader) {
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
66 String treeName = chList.getTreeName();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
67 JungleTree tree2 = jungle2.getTreeByName(treeName);
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
68 if (tree2 == null) {
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
69 tree2 = jungle2.createNewTree(treeName);
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
70 }
263
tatsuki
parents: 253
diff changeset
71 JungleTreeEditor editor2 = tree2.getJungleTreeEditor();
331
74401cc27a96 fix log again
suruga
parents: 329
diff changeset
72 Either<Error, JungleTreeEditor> either2 = JungleUpdater.edit(editor2, chList);
231
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
73 Assert.assertFalse(either2.isA());
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
74 editor2 = either2.b();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
75 editor2.success();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
76 }
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
77
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
78 t2 = System.currentTimeMillis();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
79 readTimeWriter.println((100 * i) + " " + (t2 - t1));
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
80 System.out.println("read time = " + (t2 - t1));
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
81
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
82 }
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
83 writeTimeWriter.close();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
84 readTimeWriter.close();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
85 journal1.close();
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
86 }
48907bf43043 add PersistentJungleTreeEditor.java
tatsuki
parents:
diff changeset
87 }