{
#if CLITK_MEMORY_INFO == 1
if (verbose) {
- //sleep(1); // wait to refresh memory ? need to let the system refresh the mem
- int * entries = new int;
- sg_process_stats * stat = new sg_process_stats;
- int i=0;
- stat = sg_get_process_stats(entries);
- // Search the current pid in the list of processes
- while (stat[i].pid != getpid()) i++;
- // Display total memory size
- if (s != "") std::cout << "==> " << s << ": ";
- static int previous=0;
- int mem = stat[i].proc_size/1000/1000; // in Mb
- std::cout << mem << "Mb (" << mem-previous << "Mb)" << std::endl;
- previous = mem;
- //DD(stat[i].proc_resident/1000/1000);
- //DD(stat[i].pid);
- }
+ static double previous=0;
+ double mem = GetMemoryUsageInMb();
+ if (s != "") std::cout << "==> " << s << ": ";
+ std::cout << mem << "Mb (" << mem-previous << "Mb)" << std::endl;
+ previous = mem;
+ //DD(stat[i].proc_resident/1000/1000);
+ //DD(stat[i].pid);
+ }
+#endif
+ }
+
+double clitk::GetMemoryUsageInMb()
+{
+#if CLITK_MEMORY_INFO == 1
+ //sleep(1); // wait to refresh memory ? need to let the system refresh the mem
+ int * entries = new int;
+ sg_process_stats * stat = new sg_process_stats;
+ int i=0;
+ stat = sg_get_process_stats(entries);
+ // Search the current pid in the list of processes
+ while (stat[i].pid != getpid()) i++;
+ // Display total memory size
+ double mem = stat[i].proc_size/1000/1000; // in Mb
+ return mem;
#endif
}