diff options
Diffstat (limited to 'tools/timer')
-rw-r--r-- | tools/timer/Timer.cpp | 11 | ||||
-rw-r--r-- | tools/timer/Timer.h | 3 |
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 |