annotate src/main/java/jp/ac/u_ryukyu/ie/cr/benchMark/index/CreateIndexBenchMark.java @ 318:5c4f8a7b4468

minor change
author tatsuki
date Fri, 03 Feb 2017 03:55:43 +0900
parents d6b81870216b
children e3e4ffd746cb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
283
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.benchMark.index;
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
2
285
1a36841024f2 fix index update
tatsuki
parents: 284
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.benchMark.JungleTreeCreater;
283
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle;
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.jungle.Jungle;
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.DefaultNodePath;
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath;
317
d6b81870216b Persisitent Differential Tree implement
tatsuki
parents: 308
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.RedBlackTreeNodePath;
283
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor;
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.jungle.tree.JungleTree;
318
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.jungle.util.Error.Error;
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
13
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
14 import java.nio.ByteBuffer;
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
15
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
16 import static java.lang.Thread.sleep;
283
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
17
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
18 /**
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
19 * Created by e115731 on 2016/12/30.
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
20 */
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
21 public class CreateIndexBenchMark {
318
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
22 public static void main(String args[]) throws InterruptedException {
294
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
23 if (args.length == 0) {
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
24 System.out.println("args default or difference");
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
25 System.exit(0);
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
26 }
318
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
27
294
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
28 if (args[0].equals("default")) {
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
29 System.out.println("create default tree");
317
d6b81870216b Persisitent Differential Tree implement
tatsuki
parents: 308
diff changeset
30 } else {
294
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
31 System.out.println("create red black tree");
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
32 }
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
33
283
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
34 String key = "key";
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
35 String indexKey = "indexKey";
318
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
36 warmUp();
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
37 for (int i = 0; i <= 1000; ) {
317
d6b81870216b Persisitent Differential Tree implement
tatsuki
parents: 308
diff changeset
38 Jungle jungle = new DefaultJungle(null, "hogehoge");
283
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
39 Long t1 = System.currentTimeMillis();
294
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
40 JungleTree tree;
317
d6b81870216b Persisitent Differential Tree implement
tatsuki
parents: 308
diff changeset
41 NodePath path;
294
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
42 if (args[0].equals("default")) {
318
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
43 tree = jungle.createNewTree("Tree");
317
d6b81870216b Persisitent Differential Tree implement
tatsuki
parents: 308
diff changeset
44 path = new DefaultNodePath();
d6b81870216b Persisitent Differential Tree implement
tatsuki
parents: 308
diff changeset
45 } else {
318
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
46 tree = jungle.createNewRedBlackTree("Tree", key);
317
d6b81870216b Persisitent Differential Tree implement
tatsuki
parents: 308
diff changeset
47 path = new RedBlackTreeNodePath();
294
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
48 }
317
d6b81870216b Persisitent Differential Tree implement
tatsuki
parents: 308
diff changeset
49 JungleTreeEditor editor = tree.getJungleTreeEditor();
294
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
50 int maxNodeCount = i;
285
1a36841024f2 fix index update
tatsuki
parents: 284
diff changeset
51 JungleTreeCreater creater = new JungleTreeCreater(maxNodeCount);
1a36841024f2 fix index update
tatsuki
parents: 284
diff changeset
52 editor = creater.createTree(editor, key, indexKey, path);
283
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
53 Long t2 = System.currentTimeMillis();
287
3705cc48f74b edit benchmark
tatsuki
parents: 285
diff changeset
54 System.out.println((i) + " " + (t2 - t1));
294
a23069461460 add RedBlackTree benchMark
tatsuki
parents: 288
diff changeset
55 i = i + 100;
285
1a36841024f2 fix index update
tatsuki
parents: 284
diff changeset
56 System.gc(); //GCしないとクソみたいに重くなる
318
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
57 sleep(1000);
283
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
58 }
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
59 }
318
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
60
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
61 private static void warmUp(){
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
62 Jungle jungle = new DefaultJungle(null, "hogehoge");
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
63 JungleTree tree = jungle.createNewDifferenceTree("Tree");
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
64 NodePath path = new DefaultNodePath();
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
65 JungleTreeEditor editor = tree.getJungleTreeEditor();
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
66 Either<Error, JungleTreeEditor> either = editor.putAttribute(path, "key", ByteBuffer.wrap("value".getBytes()));
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
67 if (either.isA())
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
68 return;
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
69 editor = either.b();
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
70 either = editor.success();
5c4f8a7b4468 minor change
tatsuki
parents: 317
diff changeset
71 }
283
11285c2fbc8b fix TreeMap delete bag
tatsuki
parents:
diff changeset
72 }