Mercurial > hg > Members > tatsuki > jungle-bench
comparison src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TransactionPerSecondMeasurement.java @ 13:7c544969d4c9
add TransactionPersocondMeasurement
author | one |
---|---|
date | Wed, 26 Nov 2014 13:00:26 +0900 |
parents | |
children | 89478f2ea07f |
comparison
equal
deleted
inserted
replaced
12:33b15ef21dcd | 13:7c544969d4c9 |
---|---|
1 package jp.ac.u_ryukyu.ie.cr.tatsuki.xml; | |
2 | |
3 import java.nio.ByteBuffer; | |
4 import java.util.Random; | |
5 | |
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; | |
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; | |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; | |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; | |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; | |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; | |
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; | |
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; | |
14 | |
15 public class TransactionPerSecondMeasurement { | |
16 | |
17 static int THREAD_COUNT = 2; | |
18 | |
19 public static void main(String[] args) throws InterruptedException { | |
20 | |
21 FunctionThread thread[]; | |
22 thread = new FunctionThread[THREAD_COUNT]; | |
23 | |
24 Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser())); | |
25 JungleTree tree = jungle.createNewTree("testTree"); | |
26 JungleTreeEditor editor = tree.getTreeEditor(); | |
27 editor = createTree(0, new DefaultNodePath(), editor); | |
28 editor = editor.success().b(); | |
29 | |
30 | |
31 for (int count = 0; THREAD_COUNT > count; count++) { | |
32 thread[count] = new FunctionThread(tree); | |
33 } | |
34 | |
35 System.out.println("StartThread"); | |
36 for (int count = 0; THREAD_COUNT > count; count++) { | |
37 thread[count].start(); | |
38 } | |
39 | |
40 Thread.sleep(1000); | |
41 // editor = editor.putAttribute(new DefaultNodePath().add(0), key, ByteBuffer.wrap("2".getBytes())).b(); | |
42 // editor = editor.success().b(); | |
43 Thread.sleep(1000); | |
44 // editor = editor.putAttribute(new DefaultNodePath().add(0), key, ByteBuffer.wrap("2".getBytes())).b().success().b(); | |
45 Thread.sleep(1000); | |
46 for (int count = 0; THREAD_COUNT > count; count++) { | |
47 System.out.println(thread[count].getFindCount()); | |
48 } | |
49 | |
50 } | |
51 | |
52 static String key = "KEY"; | |
53 | |
54 public static JungleTreeEditor createTree(int deep, NodePath path, JungleTreeEditor editor) { | |
55 | |
56 Random rnd = new Random(); | |
57 String value1 = String.valueOf(rnd.nextInt(1000)); | |
58 String value2 = String.valueOf(rnd.nextInt(1000)); | |
59 editor = editor.addNewChildAt(path, 0).b(); | |
60 editor = editor.putAttribute(path.add(0), key, ByteBuffer.wrap(value1.getBytes())).b(); | |
61 editor = editor.addNewChildAt(path, 1).b(); | |
62 editor = editor.putAttribute(path.add(0), key, ByteBuffer.wrap(value2.toString().getBytes())).b(); | |
63 deep++; | |
64 | |
65 if (deep < 2) { | |
66 editor = createTree(deep, path.add(0), editor); | |
67 editor = createTree(deep, path.add(1), editor); | |
68 } | |
69 return editor; | |
70 } | |
71 } |