diff options
author | desaicwtf <desaicwtf@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-07-09 18:32:00 +0000 |
---|---|---|
committer | desaicwtf <desaicwtf@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-07-09 18:32:00 +0000 |
commit | 23c1f218e0cb1b0849fe5170526b8949cd8c969e (patch) | |
tree | d0e466bd001fea02866eed585850ea7ceecb7d00 /gi/posterior-regularisation/prjava/src/util/MemoryTracker.java | |
parent | b128b2b107b3e7b77cfd5dbc578c060e52767afa (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.java | 47 |
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; + } + + +} |