summaryrefslogtreecommitdiffstats
path: root/llvm/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
commita3ddb9b5cec829d400057cf55dd93e99f61a3669 (patch)
treea90ead65956638cddf0976908224f934a9de0d9a /llvm/include/Support/Timer.h
parent2a254b6aa66f1b71811470d4db7e598a6c2fb274 (diff)
downloadbcm5719-llvm-a3ddb9b5cec829d400057cf55dd93e99f61a3669.tar.gz
bcm5719-llvm-a3ddb9b5cec829d400057cf55dd93e99f61a3669.zip
Add facility to compute peak memory usage
llvm-svn: 4752
Diffstat (limited to 'llvm/include/Support/Timer.h')
-rw-r--r--llvm/include/Support/Timer.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/include/Support/Timer.h b/llvm/include/Support/Timer.h
index 4e444d81269..8538bb972ae 100644
--- a/llvm/include/Support/Timer.h
+++ b/llvm/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);
OpenPOWER on IntegriCloud