diff options
author | Emil Rakadjiev <emil.rakadjiev.bf@hitachi.com> | 2015-03-09 18:52:11 +0900 |
---|---|---|
committer | Emil Rakadjiev <emil.rakadjiev.bf@hitachi.com> | 2015-03-13 11:37:37 +0900 |
commit | 78946863d6d44475bb3363e07587fedb053d65d5 (patch) | |
tree | 6c2ce971840fad337f5107364381298054c999ec /lib/Support | |
parent | d9b5b92cb1627edce7d476f8fd4328f5ee6f3bc8 (diff) | |
download | klee-78946863d6d44475bb3363e07587fedb053d65d5.tar.gz |
Timestamp improvements.
Replaced inefficient llvm::sys::Process::GetTimeUsage() with TimeValue::now(), because in many cases only the wall clock time is needed, not the user and sys times (which are significantly more expensive to get). Updated TimingSolver and WallTimer accordingly.
Diffstat (limited to 'lib/Support')
-rw-r--r-- | lib/Support/Time.cpp | 10 | ||||
-rw-r--r-- | lib/Support/Timer.cpp | 10 |
2 files changed, 10 insertions, 10 deletions
diff --git a/lib/Support/Time.cpp b/lib/Support/Time.cpp index 909e07da..be5eaf18 100644 --- a/lib/Support/Time.cpp +++ b/lib/Support/Time.cpp @@ -10,6 +10,7 @@ #include "klee/Config/Version.h" #include "klee/Internal/System/Time.h" +#include "llvm/Support/TimeValue.h" #include "llvm/Support/Process.h" using namespace llvm; @@ -22,7 +23,10 @@ double util::getUserTime() { } double util::getWallTime() { - sys::TimeValue now(0,0),user(0,0),sys(0,0); - sys::Process::GetTimeUsage(now,user,sys); - return (now.seconds() + (double) now.nanoseconds() * 1e-9); + sys::TimeValue now = getWallTimeVal(); + return (now.seconds() + ((double) now.nanoseconds() * 1e-9)); +} + +sys::TimeValue util::getWallTimeVal() { + return sys::TimeValue::now(); } diff --git a/lib/Support/Timer.cpp b/lib/Support/Timer.cpp index c61a90a3..da969810 100644 --- a/lib/Support/Timer.cpp +++ b/lib/Support/Timer.cpp @@ -10,19 +10,15 @@ #include "klee/Config/Version.h" #include "klee/Internal/Support/Timer.h" -#include "llvm/Support/Process.h" +#include "klee/Internal/System/Time.h" using namespace klee; using namespace llvm; WallTimer::WallTimer() { - sys::TimeValue now(0,0),user(0,0),sys(0,0); - sys::Process::GetTimeUsage(now,user,sys); - startMicroseconds = now.usec(); + startMicroseconds = util::getWallTimeVal().usec(); } uint64_t WallTimer::check() { - sys::TimeValue now(0,0),user(0,0),sys(0,0); - sys::Process::GetTimeUsage(now,user,sys); - return now.usec() - startMicroseconds; + return util::getWallTimeVal().usec() - startMicroseconds; } |