From 158aeb1dd6eb1209bc4f837f09ff8a1fc50f16f3 Mon Sep 17 00:00:00 2001 From: srit Date: Mon, 7 Mar 2011 12:45:33 +0000 Subject: [PATCH] Undo previous commit: itk MemoryUsageObserver slows down vv --- common/CMakeLists.txt | 10 ++++++++++ common/clitkMemoryUsage.cxx | 23 ++++++++++++++++------- common/clitkMemoryUsage.h | 5 +++++ 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index c809743..2060486 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -37,6 +37,16 @@ SET(clitkCommon_SRC ### Declare clitkCommon library ADD_LIBRARY(clitkCommon STATIC ${clitkCommon_SRC}) +### if LIBSTATGRAB is installed, add clitkMemoryUsage.cxx in the library +IF(CLITK_MEMORY_INFO) + FIND_PROGRAM(LIBSTATGRAB NAMES statgrab PATHS) + IF (${LIBSTATGRAB} MATCHES "LIBSTATGRAB-NOTFOUND") + MESSAGE( FATAL_ERROR "libstatgrab NOT FOUND -> please install http://www.i-scream.org/libstatgrab/") + ELSE (${LIBSTATGRAB} MATCHES "LIBSTATGRAB-NOTFOUND") + TARGET_LINK_LIBRARIES(clitkCommon statgrab) + ENDIF (${LIBSTATGRAB} MATCHES "LIBSTATGRAB-NOTFOUND") +ENDIF(CLITK_MEMORY_INFO) + TARGET_LINK_LIBRARIES(clitkCommon vtkCommon vtkImaging vtkHybrid ITKBasicFilters) ADD_LIBRARY(clitkDicomRTStruct STATIC diff --git a/common/clitkMemoryUsage.cxx b/common/clitkMemoryUsage.cxx index 7e0079e..8ceff61 100644 --- a/common/clitkMemoryUsage.cxx +++ b/common/clitkMemoryUsage.cxx @@ -20,9 +20,6 @@ #include "clitkCommon.h" #include "clitkMemoryUsage.h" -// itk include -#include "itkMemoryUsageObserver.h" - void clitk::PrintMemory(bool verbose, std::string s) { #if CLITK_MEMORY_INFO == 1 @@ -32,13 +29,25 @@ void clitk::PrintMemory(bool verbose, std::string s) 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() { - itk::MemoryUsageObserver memUsage; - return memUsage.GetMemoryUsage() / 1024.; -} +#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_resident/1024/1024; // in Mb + return mem; +#endif + } diff --git a/common/clitkMemoryUsage.h b/common/clitkMemoryUsage.h index a0dc865..38a982e 100644 --- a/common/clitkMemoryUsage.h +++ b/common/clitkMemoryUsage.h @@ -22,6 +22,11 @@ // clitk include #include "clitkConfiguration.h" +// statgrab include +#if CLITK_MEMORY_INFO == 1 +#include +#endif + //-------------------------------------------------------------------- namespace clitk { -- 2.45.1