#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;
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.
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);
// 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;
continue;
}
- const SkString path = SkOSPath::SkPathJoin(FLAGS_skps[0], filename.c_str());
+ const SkString path = SkOSPath::Join(FLAGS_skps[0], filename.c_str());
SkAutoTUnref<SkStream> stream(SkStream::NewFromFile(path.c_str()));
if (!stream) {