Add --timescale to bench_record and bench_playback.

Default bench_record to report us, bench_playback ms.

BUG=skia:2378
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/253843004

git-svn-id: http://skia.googlecode.com/svn/trunk@14417 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/bench_playback.cpp b/tools/bench_playback.cpp
index 95dd482..89b3848 100644
--- a/tools/bench_playback.cpp
+++ b/tools/bench_playback.cpp
@@ -24,6 +24,13 @@
 DEFINE_bool(skr, false, "Play via SkRecord instead of SkPicture.");
 DEFINE_int32(tile, 1000000000, "Simulated tile size.");
 DEFINE_string(match, "", "The usual filters on file names of SKPs to bench.");
+DEFINE_string(timescale, "ms", "Print times in ms, us, or ns");
+
+static double scale_time(double ms) {
+    if (FLAGS_timescale.contains("us")) ms *= 1000;
+    if (FLAGS_timescale.contains("ns")) ms *= 1000000;
+    return ms;
+}
 
 static void bench(SkPMColor* scratch, SkPicture& src, const char* name) {
     // We don't use the public SkRecording interface here because we need kWriteOnly_Mode.
@@ -52,7 +59,7 @@
     timer.end();
 
     const double msPerLoop = timer.fCpu / (double)FLAGS_loops;
-    printf("%u\t%s\n", unsigned(1000 * msPerLoop), name);
+    printf("%f\t%s\n", scale_time(msPerLoop), name);
 }
 
 int tool_main(int argc, char** argv);