Mercurial > hg > Members > kazuma > jungle-ormapper
view src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/test/TreeMapBenchMark.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.test; import jp.ac.u_ryukyu.ie.cr.jungle.data.treemap.TreeMap; import java.io.*; /** * Created by e115731 on 15/03/17. */ public class TreeMapBenchMark { public static void main(String[] args) throws InterruptedException, IOException { if (args.length == 0) { System.out.println("args get or getLoop or list"); System.exit(0); } Runtime rt = Runtime.getRuntime(); int cpuNum = rt.availableProcessors(); File file = new File("./time/" + args[0] + "Time"); PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); AbstractTreeMapThread readThread[]; for (int THREAD_COUNT = 1; THREAD_COUNT <= cpuNum; THREAD_COUNT++) { readThread = new AbstractTreeMapThread[THREAD_COUNT]; switch (args[0]) { case "util": { java.util.TreeMap<Long, String> map = new java.util.TreeMap<>(); for (long count = 0; count < 1000; count++) { map.put(count, String.valueOf(count)); } for (int count = 0; THREAD_COUNT > count; count++) { readThread[count] = new UtilTreeMapGetThread(map); } break; } case "data": { TreeMap<Long,String> map = new TreeMap<>(); for (long count = 0; count < 1000; count++) { map = map.put(count, String.valueOf(count)); } for (int count = 0; THREAD_COUNT > count; count++) { readThread[count] = new TatsukiTreeMapGetThread(map); } break; } default: System.out.println("not allow args"); 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++) { readThread[count].set(false); readCount = readCount + readThread[count].getFindCount(); readThread[count].stop(); } pw.println(THREAD_COUNT + " " + readCount); System.out.println(THREAD_COUNT + "readCount = " + readCount); Thread.sleep(1000); } pw.close(); } }