| Index: tools/bbh_shootout.cpp
|
| diff --git a/tools/bbh_shootout.cpp b/tools/bbh_shootout.cpp
|
| index 8f445d82c2a49f5ce9d7c279a2be07b14adf292b..fa1739c3b573a34bc904af925678391afc86bdb9 100644
|
| --- a/tools/bbh_shootout.cpp
|
| +++ b/tools/bbh_shootout.cpp
|
| @@ -296,18 +296,12 @@ static void benchmark_recording(
|
| /**
|
| * Takes argc,argv along with one of the benchmark functions defined above.
|
| * Will loop along all skp files and perform measurments.
|
| - *
|
| - * Returns a SkScalar representing CPU time taken during benchmark.
|
| - * As a side effect, it spits the timer result to stdout.
|
| - * Will return -1.0 on error.
|
| */
|
| -static bool benchmark_loop(
|
| +static void benchmark_loop(
|
| int argc,
|
| char **argv,
|
| const BenchmarkControl& benchControl,
|
| SkTArray<Histogram>& histogram) {
|
| - static const SkString timeFormat("%f");
|
| - TimerData timerData(argc - 1);
|
| for (int index = 1; index < argc; ++index) {
|
| BenchTimer timer;
|
| SkString path(argv[index]);
|
| @@ -317,30 +311,9 @@ static bool benchmark_loop(
|
| continue;
|
| }
|
| benchControl.fFunction(benchControl, path, pic, &timer);
|
| -
|
| histogram[index - 1].fPath = path;
|
| histogram[index - 1].fCpuTime = SkDoubleToScalar(timer.fCpu);
|
| }
|
| -
|
| - const SkString timerResult = timerData.getResult(
|
| - /*doubleFormat = */ timeFormat.c_str(),
|
| - /*result = */ TimerData::kAvg_Result,
|
| - /*configName = */ benchControl.fName.c_str(),
|
| - /*timerFlags = */ TimerData::kCpu_Flag);
|
| -
|
| - const char findStr[] = "= ";
|
| - int pos = timerResult.find(findStr);
|
| - if (-1 == pos) {
|
| - SkDebugf("Unexpected output from TimerData::getResult(...). Unable to parse.\n");
|
| - return false;
|
| - }
|
| -
|
| - SkScalar cpuTime = SkDoubleToScalar(atof(timerResult.c_str() + pos + sizeof(findStr) - 1));
|
| - if (cpuTime == 0) { // atof returns 0.0 on error.
|
| - SkDebugf("Unable to read value from timer result.\n");
|
| - return false;
|
| - }
|
| - return true;
|
| }
|
|
|
| int tool_main(int argc, char** argv);
|
| @@ -358,13 +331,7 @@ int tool_main(int argc, char** argv) {
|
|
|
| for (size_t i = 0; i < kNumBenchmarks; ++i) {
|
| histograms[i].reset(argc - 1);
|
| - bool success = benchmark_loop(
|
| - argc, argv,
|
| - BenchmarkControl::Make(i),
|
| - histograms[i]);
|
| - if (!success) {
|
| - SkDebugf("benchmark_loop failed at index %d\n", i);
|
| - }
|
| + benchmark_loop(argc, argv, BenchmarkControl::Make(i), histograms[i]);
|
| }
|
|
|
| // Output gnuplot readable histogram data..
|
|
|