summaryrefslogtreecommitdiff
path: root/gi/posterior-regularisation/prjava/src/util/MemoryTracker.java
diff options
context:
space:
mode:
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;
+ }
+
+
+}