Mercurial > hg > Members > shoshi > jungle > jungle-core
view 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 |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.benchMark.index; import jp.ac.u_ryukyu.ie.cr.benchMark.JungleTreeCreater; import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle; import jp.ac.u_ryukyu.ie.cr.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath; import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.RedBlackTreeNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.jungle.tree.JungleTree; import jp.ac.u_ryukyu.ie.cr.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.jungle.util.Error.Error; import java.nio.ByteBuffer; import static java.lang.Thread.sleep; /** * Created by e115731 on 2016/12/30. */ public class CreateIndexBenchMark { public static void main(String args[]) throws InterruptedException { if (args.length == 0) { System.out.println("args default or difference"); System.exit(0); } if (args[0].equals("default")) { System.out.println("create default tree"); } else { System.out.println("create red black tree"); } String key = "key"; String indexKey = "indexKey"; warmUp(); for (int i = 0; i <= 1000; ) { Jungle jungle = new DefaultJungle(null, "hogehoge"); Long t1 = System.currentTimeMillis(); JungleTree tree; NodePath path; if (args[0].equals("default")) { tree = jungle.createNewTree("Tree"); path = new DefaultNodePath(); } else { tree = jungle.createNewRedBlackTree("Tree", key); path = new RedBlackTreeNodePath(); } JungleTreeEditor editor = tree.getJungleTreeEditor(); int maxNodeCount = i; JungleTreeCreater creater = new JungleTreeCreater(maxNodeCount); editor = creater.createTree(editor, key, indexKey, path); Long t2 = System.currentTimeMillis(); System.out.println((i) + " " + (t2 - t1)); i = i + 100; System.gc(); //GCしないとクソみたいに重くなる sleep(1000); } } private static void warmUp(){ Jungle jungle = new DefaultJungle(null, "hogehoge"); JungleTree tree = jungle.createNewDifferenceTree("Tree"); NodePath path = new DefaultNodePath(); JungleTreeEditor editor = tree.getJungleTreeEditor(); Either<Error, JungleTreeEditor> either = editor.putAttribute(path, "key", ByteBuffer.wrap("value".getBytes())); if (either.isA()) return; editor = either.b(); either = editor.success(); } }