Mercurial > hg > Members > tatsuki > jungle-bench
diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/treemap/functionalJavaTreeMapMemory.java @ 20:195c1a644550
benchmark add
author | tatsuki |
---|---|
date | Tue, 17 Mar 2015 15:37:19 +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/treemap/functionalJavaTreeMapMemory.java Tue Mar 17 15:37:19 2015 +0900 @@ -0,0 +1,38 @@ +package jp.ac.u_ryukyu.ie.cr.tatsuki.treemap; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.LinkedList; + +import fj.Ord; +import fj.data.TreeMap; + + +public class functionalJavaTreeMapMemory { + public static void main(String args[]) throws IOException { + File getFile = new File("./time/fjMemory"); + PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(getFile))); + TreeMap<Integer, Integer> map = TreeMap.empty(Ord.intOrd); + LinkedList<TreeMap<Integer, Integer>> list = new LinkedList<TreeMap<Integer, Integer>>(); + list.add(map); + for (Integer count = 0; count <= 10000; count++) { + TreeMap<Integer, Integer> newMap = list.getLast(); + TreeMap<Integer, Integer> copyMap = newMap.set(count, count); + list.add(copyMap); + long used = getMemory(); + System.out.println(count + " " + used); + pw.println(count + " " + used); + } + pw.close(); + } + + public static long getMemory() { + long free = Runtime.getRuntime().freeMemory() / 1024; + long total = Runtime.getRuntime().totalMemory() / 1024; + long used = total - free; + return used; + } +}