Mercurial > hg > Members > shoshi > jungle > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/benchMark/index/CreateIndexBenchMark.java @ 320:e3e4ffd746cb
commit
author | tatsuki |
---|---|
date | Tue, 07 Feb 2017 21:34:21 +0900 |
parents | 5c4f8a7b4468 |
children |
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 static java.lang.Thread.sleep; /** * Created by e115731 on 2016/12/30. */ public class CreateIndexBenchMark { private static String key = "key"; private static String indexKey = "indexKey"; static int distanceCreateIndex = 1; public static void main(String args[]) throws InterruptedException { if (args.length == 0) { System.out.println("args default or redblack"); System.exit(0); } if (args[0].equals("default")) { System.out.println("create default tree"); } else { System.out.println("create red black tree"); } warmUp(args); 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, distanceCreateIndex); 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(String[] args) { 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, distanceCreateIndex); editor = creater.createTree(editor, key, indexKey, path); Long t2 = System.currentTimeMillis(); i = i + 100; System.gc(); //GCしないとクソみたいに重くなる } } }