Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: tools/bench_record.cpp

Issue 344213003: Move BenchTimer to tools as Timer (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fixes Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/bench_record.cpp
diff --git a/tools/bench_record.cpp b/tools/bench_record.cpp
index 0024c2ccdbea644eb600efec04e39672d9f76f0a..545731900bcfc288d17d564d91f0a228547171a9 100644
--- a/tools/bench_record.cpp
+++ b/tools/bench_record.cpp
@@ -14,11 +14,9 @@
#include "SkStream.h"
#include "SkString.h"
-#include "BenchTimer.h"
#include "LazyDecodeBitmap.h"
#include "Stats.h"
-
-typedef WallTimer Timer;
+#include "Timer.h"
__SK_FORCE_IMAGE_DECODER_LINKING;
@@ -81,12 +79,13 @@ static void bench_record(const SkPicture& src,
rerecord(src, bbhFactory);
// Rerecord once to see how many times we should loop to make timer overhead insignificant.
- Timer timer;
+ WallTimer timer;
+ const double scale = timescale();
do {
- timer.start(timescale());
+ timer.start();
rerecord(src, bbhFactory);
timer.end();
- } while (timer.fWall < timerOverhead); // Loop just in case something bizarre happens.
+ } while (timer.fWall * scale < timerOverhead); // Loop just in case something bizarre happens.
// We want (timer overhead / measurement) to be less than FLAGS_overheadGoal.
// So in each sample, we'll loop enough times to have made that true for our first measurement.
@@ -94,12 +93,12 @@ static void bench_record(const SkPicture& src,
SkAutoTMalloc<double> samples(FLAGS_samples);
for (int i = 0; i < FLAGS_samples; i++) {
- timer.start(timescale());
+ timer.start();
for (int j = 0; j < loops; j++) {
rerecord(src, bbhFactory);
}
timer.end();
- samples[i] = timer.fWall / loops;
+ samples[i] = timer.fWall * scale / loops;
}
Stats stats(samples.get(), FLAGS_samples);
@@ -132,12 +131,13 @@ int tool_main(int argc, char** argv) {
// Each run will use this timer overhead estimate to guess how many times it should run.
static const int kOverheadLoops = 10000000;
- Timer timer;
+ WallTimer timer;
double overheadEstimate = 0.0;
+ const double scale = timescale();
for (int i = 0; i < kOverheadLoops; i++) {
- timer.start(timescale());
+ timer.start();
timer.end();
- overheadEstimate += timer.fWall;
+ overheadEstimate += timer.fWall * scale;
}
overheadEstimate /= kOverheadLoops;

Powered by Google App Engine
This is Rietveld 408576698