aboutsummaryrefslogtreecommitdiffstats
path: root/include/Support/Timer.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-11-18 21:45:55 +0000
committerChris Lattner <sabre@nondot.org>2002-11-18 21:45:55 +0000
commit44a92675e4faf6bd2580ff6ce47e3716eb10a9b3 (patch)
treeeed999573e56d784e9168a04b73e99f886cf8410 /include/Support/Timer.h
parenta1cf699b50fdef143f7d237de233099482a8ef28 (diff)
downloadexternal_llvm-44a92675e4faf6bd2580ff6ce47e3716eb10a9b3.zip
external_llvm-44a92675e4faf6bd2580ff6ce47e3716eb10a9b3.tar.gz
external_llvm-44a92675e4faf6bd2580ff6ce47e3716eb10a9b3.tar.bz2
Add facility to compute peak memory usage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4752 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/Support/Timer.h')
-rw-r--r--include/Support/Timer.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/Support/Timer.h b/include/Support/Timer.h
index 4e444d8..8538bb9 100644
--- a/include/Support/Timer.h
+++ b/include/Support/Timer.h
@@ -35,6 +35,8 @@ class Timer {
double UserTime; // User time elapsed
double SystemTime; // System time elapsed
long MemUsed; // Memory allocated (in bytes)
+ long PeakMem; // Peak memory used
+ long PeakMemBase; // Temporary for peak calculation...
std::string Name; // The name of this time variable
bool Started; // Has this time variable ever been started?
TimerGroup *TG; // The TimerGroup this Timer is in.
@@ -47,6 +49,7 @@ public:
double getProcessTime() const { return UserTime+SystemTime; }
double getWallTime() const { return Elapsed; }
long getMemUsed() const { return MemUsed; }
+ long getPeakMem() const { return PeakMem; }
std::string getName() const { return Name; }
const Timer &operator=(const Timer &T) {
@@ -54,6 +57,8 @@ public:
UserTime = T.UserTime;
SystemTime = T.SystemTime;
MemUsed = T.MemUsed;
+ PeakMem = T.PeakMem;
+ PeakMemBase = T.PeakMemBase;
Name = T.Name;
Started = T.Started;
assert (TG == T.TG && "Can only assign timers in the same TimerGroup!");
@@ -77,6 +82,12 @@ public:
///
void stopTimer();
+ /// addPeakMemoryMeasurement - This method should be called whenever memory
+ /// usage needs to be checked. It adds a peak memory measurement to the
+ /// currently active timers, which will be printed when the timer group prints
+ ///
+ static void addPeakMemoryMeasurement();
+
/// print - Print the current timer to standard error, and reset the "Started"
/// flag.
void print(const Timer &Total);