9
|
1 package jp.ac.u_ryukyu.ie.cr.tatsuki.oldTree;
|
|
2
|
|
3 import java.nio.ByteBuffer;
|
|
4
|
|
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle;
|
|
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
|
|
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
|
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
|
|
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
|
|
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
|
|
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
|
|
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
|
|
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
|
|
14 import junit.framework.Assert;
|
|
15
|
|
16 public class GetOldTreeTime {
|
|
17
|
|
18 public static void main(String args[]) {
|
|
19 Jungle jungle = new DefaultJungle(null, "hogehoge", new DefaultTreeEditor(new DefaultTraverser()));
|
|
20 jungle.createNewTree("tree");
|
|
21 JungleTree tree = jungle.getTreeByName("tree");
|
|
22 JungleTreeEditor editor = tree.getTreeEditor();
|
|
23 DefaultNodePath path = new DefaultNodePath();
|
|
24
|
|
25 editor = editor.addNewChildAt(path, 0).b().success().b();
|
|
26
|
|
27 for (int num = 0; num < 1000000; num++) {
|
|
28 JungleTreeEditor putAttributeEditor = editor.putAttribute(path.add(0), "test", ByteBuffer.wrap("tatsuki".getBytes())).b();
|
|
29 Either<Error, JungleTreeEditor> successEither = putAttributeEditor.success();
|
|
30 Assert.assertFalse(successEither.isA());
|
|
31 editor = successEither.b();
|
|
32 }
|
|
33 System.out.println("TreeRevision = " + tree.revision());
|
|
34 long t1 = System.currentTimeMillis();
|
|
35 JungleTree oldTree = tree.getOldTree(1).b();
|
|
36 long t2 = System.currentTimeMillis();
|
|
37 System.out.println("time = " + (t2 - t1));
|
|
38 System.out.println("oldTreeRevision = " + oldTree.revision());
|
|
39 }
|
|
40 }
|