forked from OSchip/llvm-project
Fix a bug that made the nightly tester *really* slow. During changes for
portability, the --track-space option was inadvertently ignored. This patch fixes that so that sys::Process::GetMallocUsage() is only invoked if the --track-spaces option is given. Apparently the mallinfo() call that GetMallocUsage() uses is *very* slow, especially when processing very large modules like projects/llvm-test/MultiSource/Applications/kimwitu++. llvm-svn: 19163
This commit is contained in:
parent
a079b69981
commit
ad7bdf7400
|
@ -93,6 +93,12 @@ Timer::~Timer() {
|
|||
}
|
||||
}
|
||||
|
||||
static inline long getMemUsage() {
|
||||
if (TrackSpace)
|
||||
return sys::Process::GetMallocUsage();
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct TimeRecord {
|
||||
double Elapsed, UserTime, SystemTime;
|
||||
long MemUsed;
|
||||
|
@ -108,9 +114,9 @@ static TimeRecord getTimeRecord(bool Start) {
|
|||
long MemUsed = 0;
|
||||
if (Start) {
|
||||
sys::Process::GetTimeUsage(now,user,sys);
|
||||
MemUsed = sys::Process::GetMallocUsage();
|
||||
MemUsed = getMemUsage();
|
||||
} else {
|
||||
MemUsed = sys::Process::GetMallocUsage();
|
||||
MemUsed = getMemUsage();
|
||||
sys::Process::GetTimeUsage(now,user,sys);
|
||||
}
|
||||
|
||||
|
@ -165,7 +171,7 @@ void Timer::sum(const Timer &T) {
|
|||
/// currently active timers, which will be printed when the timer group prints
|
||||
///
|
||||
void Timer::addPeakMemoryMeasurement() {
|
||||
long MemUsed = sys::Process::GetMallocUsage();
|
||||
long MemUsed = getMemUsage();
|
||||
|
||||
for (std::vector<Timer*>::iterator I = ActiveTimers.begin(),
|
||||
E = ActiveTimers.end(); I != E; ++I)
|
||||
|
|
Loading…
Reference in New Issue