aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/timer
diff options
context:
space:
mode:
Diffstat (limited to 'tools/timer')
-rw-r--r--tools/timer/Timer.cpp11
-rw-r--r--tools/timer/Timer.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/tools/timer/Timer.cpp b/tools/timer/Timer.cpp
index a9f04afe75..e430404b3d 100644
--- a/tools/timer/Timer.cpp
+++ b/tools/timer/Timer.cpp
@@ -51,3 +51,14 @@ void WallTimer::start() {
void WallTimer::end() {
fWall = fSysTimer.endWall();
}
+
+SkString HumanizeMs(double ms) {
+ if (ms > 1e+3) return SkStringPrintf("%.3gs", ms/1e3);
+ if (ms < 1e-3) return SkStringPrintf("%.3gns", ms*1e6);
+#ifdef SK_BUILD_FOR_WIN
+ if (ms < 1) return SkStringPrintf("%.3gus", ms*1e3);
+#else
+ if (ms < 1) return SkStringPrintf("%.3gµs", ms*1e3);
+#endif
+ return SkStringPrintf("%.3gms", ms);
+}
diff --git a/tools/timer/Timer.h b/tools/timer/Timer.h
index 81d1ca50ef..e28a515b54 100644
--- a/tools/timer/Timer.h
+++ b/tools/timer/Timer.h
@@ -8,6 +8,7 @@
#define Timer_DEFINED
#include "SkTypes.h"
+#include "SkString.h"
#if defined(SK_BUILD_FOR_WIN32)
#include "SysTimer_windows.h"
@@ -70,4 +71,6 @@ private:
SysTimer fSysTimer;
};
+SkString HumanizeMs(double);
+
#endif