Mercurial > hg > Members > tatsuki > bench > jungle-core
diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/test/findTreeAttributeThread.java @ 182:67d4c68578cf
add Jungle benchMark
author | tatsuki |
---|---|
date | Fri, 20 Mar 2015 15:35:53 +0900 |
parents | |
children | 066d9c5758dc |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/test/findTreeAttributeThread.java Fri Mar 20 15:35:53 2015 +0900 @@ -0,0 +1,55 @@ +package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.test; + +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; + +import java.util.Iterator; + +/** + * Created by e115731 on 15/03/20. + */ +public class findTreeAttributeThread extends JungleBenchMarkThread { + + JungleTree tree; + InterfaceTraverser traverser; + private long findCount; + + boolean loop = true; + + public findTreeAttributeThread(JungleTree tree) { + this.tree = tree; + this.traverser = tree.getTraverser(false); + this.findCount = 0; + } + + @Override + public long getFindCount() { + System.out.println("thread count = " + findCount); + return findCount; + } + + public void set(boolean loop) { + this.loop = loop; + } + + @Override + public void run() { + while (loop) { + + Iterator<TreeNode> it = traverser.find((TreeNode node) -> { + String nodeNum = node.getAttributes().getString("key"); + if (nodeNum == null) + return false; + if (nodeNum.equals("8")) + return true; + return false; + }, "key","8"); + + if (it.hasNext()) + findCount++; + else + System.out.println("faild"); + } + } +}