diff options
author | Chris Lattner <sabre@nondot.org> | 2002-11-18 21:45:55 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-11-18 21:45:55 +0000 |
commit | 44a92675e4faf6bd2580ff6ce47e3716eb10a9b3 (patch) | |
tree | eed999573e56d784e9168a04b73e99f886cf8410 | |
parent | a1cf699b50fdef143f7d237de233099482a8ef28 (diff) | |
download | external_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
-rw-r--r-- | include/Support/Timer.h | 11 | ||||
-rw-r--r-- | include/llvm/Support/Timer.h | 11 |
2 files changed, 22 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); diff --git a/include/llvm/Support/Timer.h b/include/llvm/Support/Timer.h index 4e444d8..8538bb9 100644 --- a/include/llvm/Support/Timer.h +++ b/include/llvm/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); |