From 23c1f218e0cb1b0849fe5170526b8949cd8c969e Mon Sep 17 00:00:00 2001 From: desaicwtf Date: Fri, 9 Jul 2010 18:32:00 +0000 Subject: forgot to add util folder in optimization library git-svn-id: https://ws10smt.googlecode.com/svn/trunk@206 ec762483-ff6d-05da-a07a-a48fb63a330f --- .../prjava/src/util/MemoryTracker.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 gi/posterior-regularisation/prjava/src/util/MemoryTracker.java (limited to 'gi/posterior-regularisation/prjava/src/util/MemoryTracker.java') diff --git a/gi/posterior-regularisation/prjava/src/util/MemoryTracker.java b/gi/posterior-regularisation/prjava/src/util/MemoryTracker.java new file mode 100644 index 00000000..83a65611 --- /dev/null +++ b/gi/posterior-regularisation/prjava/src/util/MemoryTracker.java @@ -0,0 +1,47 @@ +package util; + + +public class MemoryTracker { + + double initM,finalM; + boolean start = false,finish = false; + + public MemoryTracker(){ + + } + + public void start(){ + System.gc(); + System.gc(); + System.gc(); + initM = (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())/(1024*1024); + start = true; + } + + public void finish(){ + if(!start){ + throw new RuntimeException("Canot stop before starting"); + } + System.gc(); + System.gc(); + System.gc(); + finalM = (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())/(1024*1024); + finish = true; + } + + public String print(){ + if(!finish){ + throw new RuntimeException("Canot print before stopping"); + } + return "Used: " + (finalM - initM) + "MB"; + } + + public void clear(){ + initM = 0; + finalM = 0; + finish = false; + start = false; + } + + +} -- cgit v1.2.3