blob: 9b0f7b2b98fc582dd8b8602ea58fb298a2392e77 [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#ifndef Timer_DEFINED
8#define Timer_DEFINED
9
mtklein3b5b7842015-10-23 06:40:33 -070010#include "SkString.h"
mtklein33eefcd2015-10-23 07:02:06 -070011#include "SkTime.h"
12#include "SkTypes.h"
mtklein9ac68ee2014-06-20 11:29:20 -070013
mtklein9ac68ee2014-06-20 11:29:20 -070014class WallTimer {
15public:
mtklein33eefcd2015-10-23 07:02:06 -070016 WallTimer() : fWall(-1) {}
mtklein9ac68ee2014-06-20 11:29:20 -070017
mtklein33eefcd2015-10-23 07:02:06 -070018 void start() { fWall = SkTime::GetNSecs(); }
19 void end() { fWall = (SkTime::GetNSecs() - fWall) * 1e-6; }
mtklein9ac68ee2014-06-20 11:29:20 -070020
21 double fWall; // Milliseconds.
mtklein9ac68ee2014-06-20 11:29:20 -070022};
23
mtklein748ca3b2015-01-15 10:56:12 -080024SkString HumanizeMs(double);
Jim Van Verth32bbf372017-09-20 12:53:00 -040025int HumanizeMs(char*, int len, double);
mtklein748ca3b2015-01-15 10:56:12 -080026
mtklein9ac68ee2014-06-20 11:29:20 -070027#endif