summaryrefslogtreecommitdiff
path: root/gi/posterior-regularisation/prjava/src/util/MemoryTracker.java
diff options
context:
space:
mode:
authordesaicwtf <desaicwtf@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-07-09 18:32:00 +0000
committerdesaicwtf <desaicwtf@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-07-09 18:32:00 +0000
commit23c1f218e0cb1b0849fe5170526b8949cd8c969e (patch)
treed0e466bd001fea02866eed585850ea7ceecb7d00 /gi/posterior-regularisation/prjava/src/util/MemoryTracker.java
parentb128b2b107b3e7b77cfd5dbc578c060e52767afa (diff)
forgot to add util folder in optimization library
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@206 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'gi/posterior-regularisation/prjava/src/util/MemoryTracker.java')
-rw-r--r--gi/posterior-regularisation/prjava/src/util/MemoryTracker.java47
1 files changed, 47 insertions, 0 deletions
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;
+ }
+
+
+}