view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/functionalJavaTreeMapMemory.java @ 18:190890be73e4

TreeMap memory and TreeMap get
author one
date Fri, 26 Dec 2014 12:04:00 +0900
parents
children
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.tatsuki.xml;

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;
  }
}