diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/test/TreeMapBenchMark.java @ 183:066d9c5758dc

change TreeContext
author tatsuki
date Mon, 23 Mar 2015 15:44:28 +0900
parents 2e6ca84686da
children 6d125ba315d8
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/test/TreeMapBenchMark.java	Fri Mar 20 15:35:53 2015 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/test/TreeMapBenchMark.java	Mon Mar 23 15:44:28 2015 +0900
@@ -1,6 +1,8 @@
 package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.test;
 
 import fj.Ord;
+import fj.data.List;
+import fj.data.Option;
 import fj.data.TreeMap;
 import org.xml.sax.SAXException;
 
@@ -15,35 +17,46 @@
 
 
         if (args.length == 0) {
-            System.out.println("args fj or util");
+            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//get" + args[0] + "TreeMapTime");
+        File file = new File("./time/" + args[0] + "Time");
 
         PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
 
         AbstractTreeMapThread readThread[] = null;
 
-            for (int THREAD_COUNT = 1; THREAD_COUNT <= cpuNum; THREAD_COUNT++) {
+        TreeMap<String, String> map = TreeMap.empty(Ord.stringOrd);
+        List<String> list = List.nil();
+        if (args[0].equals("list")) {
+            for (int count = 0 ;count < 100 ; count++) {
+                list = list.cons(String.valueOf(count));
+            }
+        }
+        for (int count = 0 ;count < 1000 ; count++) {
+            map = map.set(String.valueOf(count), String.valueOf(count));
+        }
+        for (int THREAD_COUNT = 1; THREAD_COUNT <= cpuNum; THREAD_COUNT++) {
+
                 readThread = new AbstractTreeMapThread[THREAD_COUNT];
 
-                if (args[0].equals("fj")) {
-                    TreeMap<String, String> map = TreeMap.empty(Ord.stringOrd);
-                    map = map.set("test","'test");
+                if (args[0].equals("getLoop")) {
                     for (int count = 0; THREAD_COUNT > count; count++) {
-                        readThread[count] = new FunctionalTreeMapReadThread(map);
+                        readThread[count] = new FJTreeMapGetLoopThread(map);
                     }
-                } else if (args[0].equals("util")) {
-                    java.util.TreeMap map = new java.util.TreeMap();
-                    map.put("test","test");
+                } else if (args[0].equals("get")) {
                     for (int count = 0; THREAD_COUNT > count; count++) {
-                        readThread[count] = new UtilTreeMapReadThread(map);
+                        readThread[count] = new FJTreeMapGetIteratorThread(map);
                     }
-                } else {
+                } else if (args[0].equals("list")) {
+                    for (int count = 0; THREAD_COUNT > count; count++) {
+                        readThread[count] = new FJListAccessThread(Option.<List<String>>some(list));
+                    }
+                } else{
                     System.out.println("not allow args");
                     System.exit(0);
                 }