blob: 39d54834b5798edf92cdcd8fe0500d9d136c8070 [file] [log] [blame]
mtklein9ac68ee2014-06-20 11:29:20 -07001/*
2 * Copyright 2011 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7#include "Timer.h"
Hal Canary8a001442018-09-19 11:31:27 -04008
Jim Van Verth446cc842017-09-20 15:23:44 -04009#include <stdio.h>
mtklein9ac68ee2014-06-20 11:29:20 -070010
mtklein748ca3b2015-01-15 10:56:12 -080011SkString HumanizeMs(double ms) {
mtkleind1f7f992015-03-12 10:29:32 -070012 if (ms > 60e+3) return SkStringPrintf("%.3gm", ms/60e+3);
13 if (ms > 1e+3) return SkStringPrintf("%.3gs", ms/1e+3);
14 if (ms < 1e-3) return SkStringPrintf("%.3gns", ms*1e+6);
mtklein748ca3b2015-01-15 10:56:12 -080015#ifdef SK_BUILD_FOR_WIN
mtkleind1f7f992015-03-12 10:29:32 -070016 if (ms < 1) return SkStringPrintf("%.3gus", ms*1e+3);
mtklein748ca3b2015-01-15 10:56:12 -080017#else
mtkleind1f7f992015-03-12 10:29:32 -070018 if (ms < 1) return SkStringPrintf("%.3gµs", ms*1e+3);
mtklein748ca3b2015-01-15 10:56:12 -080019#endif
20 return SkStringPrintf("%.3gms", ms);
21}
Jim Van Verth32bbf372017-09-20 12:53:00 -040022
23int HumanizeMs(char* s, int len, double ms) {
24 if (ms > 60e+3) return snprintf(s, len, "%.3gm", ms / 60e+3);
25 if (ms > 1e+3) return snprintf(s, len, "%.3gs", ms / 1e+3);
26 if (ms < 1e-3) return snprintf(s, len, "%.3gns", ms*1e+6);
27#ifdef SK_BUILD_FOR_WIN
28 if (ms < 1) return snprintf(s, len, "%.3gus", ms*1e+3);
29#else
30 if (ms < 1) return snprintf(s, len, "%.3gµs", ms*1e+3);
31#endif
32 return snprintf(s, len, "%.3gms", ms);
33}