Mercurial > hg > Members > kazuma > jungle-ormapper
view src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/benchMark/JungleBenchMark.java @ 0:44465893e8b8
first Commit
author | Kazuma |
---|---|
date | Wed, 30 Nov 2016 01:47:55 +0900 |
parents | |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.jungle.benchMark; import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle; import jp.ac.u_ryukyu.ie.cr.jungle.JungleTree; import jp.ac.u_ryukyu.ie.cr.jungle.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.jungle.store.NodePath; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.DefaultTreeEditor; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNodeAttributes; import jp.ac.u_ryukyu.ie.cr.jungle.traverser.DefaultTraverser; import jp.ac.u_ryukyu.ie.cr.jungle.traverser.InterfaceTraverser; import java.nio.ByteBuffer; import java.util.Iterator; /** * Created by e115731 on 15/05/07. */ public class JungleBenchMark { public static void main(String args[]) { DefaultJungle jungle = new DefaultJungle(null, "sample", new DefaultTreeEditor(new DefaultTraverser())); jungle.createNewTree("tree"); JungleTree tree = jungle.getTreeByName("tree"); JungleTreeEditor editor = tree.getTreeEditor(); NodePath path = new DefaultNodePath(); path = path.add(0); for (int count = 1; count <= 10; count++) { for (int personCount = 0; personCount < 1000 * count; personCount++) { editor = editor.replaceNewRootNode().b(); ByteBuffer value = ByteBuffer.wrap(("p:" + personCount).getBytes()); editor = editor.putAttribute(path, "personId", value).b(); ByteBuffer value2 = ByteBuffer.wrap(("r:" + personCount).getBytes()); editor = editor.putAttribute(path, "roleId", value2).b(); } editor.success(); long t1 = System.currentTimeMillis(); for (int findCount = 0; findCount < 50000; ) { InterfaceTraverser traverser = tree.getTraverser(true); Iterator<TreeNode> it = traverser.find(null, "personId", "p:100"); if (it.hasNext()) { TreeNode targetNode = it.next(); TreeNodeAttributes attribute = targetNode.getAttributes(); String targetRoleId = attribute.getString("roleId"); if (targetRoleId.equals("r:100")) findCount++; } else { System.out.println("find miss"); System.exit(1); } } long t2 = System.currentTimeMillis(); System.out.println("time = " + (t2 - t1)); } } }