Mercurial > hg > Members > tatsuki > bench > jungle-core
diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/test/benchmark.java @ 181:7282ee629af3
add miss
author | tatsuki |
---|---|
date | Tue, 17 Mar 2015 15:38:27 +0900 |
parents | |
children |
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/benchmark.java Tue Mar 17 15:38:27 2015 +0900 @@ -0,0 +1,84 @@ +package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.test; + +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; +import org.xml.sax.SAXException; + +import javax.xml.parsers.ParserConfigurationException; +import java.io.*; +import java.nio.ByteBuffer; + +/** + * Created by e115731 on 15/03/16. + */ +public class benchmark { + + public static void main(String[] args) throws InterruptedException, IOException, ParserConfigurationException, SAXException { + System.out.println("startRead"); + + if (args.length == 0) { + System.out.println("args root or attribute"); + System.exit(0); + } + + Runtime rt = Runtime.getRuntime(); + int cpuNum = rt.availableProcessors(); + + DefaultJungle jungle = new DefaultJungle(null,"sample", new DefaultTreeEditor(new DefaultTraverser())); + jungle.createNewTree("hoge"); + JungleTree tree = jungle.getTreeByName("hoge"); + JungleTreeEditor editor = tree.getTreeEditor(); + editor = editor.putAttribute(new DefaultNodePath(), "test", ByteBuffer.wrap("test".getBytes())).b(); + editor.success(); + + + File file = new File("./time/readTree" + args[0]); + PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); + + for (int THREAD_COUNT = 1; THREAD_COUNT <= cpuNum; THREAD_COUNT++) { + + JungleBenchMarkThread readThread[] = null; + + if (args[0].equals("root")) { + readThread = new ReadTreeThread[THREAD_COUNT]; + for (int count = 0; THREAD_COUNT > count; count++) { + readThread[count] = new ReadTreeThread(tree); + } + } + else if (args[0].equals("attribute")) { + readThread = new readTreeAttributeThread[THREAD_COUNT]; + for (int count = 0; THREAD_COUNT > count; count++) { + readThread[count] = new readTreeAttributeThread(tree); + } + } else { + System.out.println("not allow arg"); + System.exit(0); + } + + for (int count = 0; THREAD_COUNT > count; count++) { + readThread[count].start(); + } + + System.out.println("StartThread"); + + Thread.sleep(1000); + long readCount = 0; + + for (int count = 0; THREAD_COUNT > count; count++) { + readCount = readCount + readThread[count].getFindCount(); + readThread[count].set(false); + } + + pw.println(THREAD_COUNT + " " + readCount); + System.out.println(THREAD_COUNT + "readCount = " + readCount); + } + + pw.close(); + } + +} +