2014-06-20 18:29:20 +00:00
|
|
|
/*
|
|
|
|
* Copyright 2011 Google Inc.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
|
|
* found in the LICENSE file.
|
|
|
|
*/
|
|
|
|
#include "Timer.h"
|
2018-09-19 15:31:27 +00:00
|
|
|
|
2017-09-20 19:23:44 +00:00
|
|
|
#include <stdio.h>
|
2014-06-20 18:29:20 +00:00
|
|
|
|
2015-01-15 18:56:12 +00:00
|
|
|
SkString HumanizeMs(double ms) {
|
2015-03-12 17:29:32 +00:00
|
|
|
if (ms > 60e+3) return SkStringPrintf("%.3gm", ms/60e+3);
|
|
|
|
if (ms > 1e+3) return SkStringPrintf("%.3gs", ms/1e+3);
|
|
|
|
if (ms < 1e-3) return SkStringPrintf("%.3gns", ms*1e+6);
|
2015-01-15 18:56:12 +00:00
|
|
|
#ifdef SK_BUILD_FOR_WIN
|
2015-03-12 17:29:32 +00:00
|
|
|
if (ms < 1) return SkStringPrintf("%.3gus", ms*1e+3);
|
2015-01-15 18:56:12 +00:00
|
|
|
#else
|
2015-03-12 17:29:32 +00:00
|
|
|
if (ms < 1) return SkStringPrintf("%.3gµs", ms*1e+3);
|
2015-01-15 18:56:12 +00:00
|
|
|
#endif
|
|
|
|
return SkStringPrintf("%.3gms", ms);
|
|
|
|
}
|
2017-09-20 16:53:00 +00:00
|
|
|
|
|
|
|
int HumanizeMs(char* s, int len, double ms) {
|
|
|
|
if (ms > 60e+3) return snprintf(s, len, "%.3gm", ms / 60e+3);
|
|
|
|
if (ms > 1e+3) return snprintf(s, len, "%.3gs", ms / 1e+3);
|
|
|
|
if (ms < 1e-3) return snprintf(s, len, "%.3gns", ms*1e+6);
|
|
|
|
#ifdef SK_BUILD_FOR_WIN
|
|
|
|
if (ms < 1) return snprintf(s, len, "%.3gus", ms*1e+3);
|
|
|
|
#else
|
|
|
|
if (ms < 1) return snprintf(s, len, "%.3gµs", ms*1e+3);
|
|
|
|
#endif
|
|
|
|
return snprintf(s, len, "%.3gms", ms);
|
|
|
|
}
|