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

Unified Diff: tools/bbh_shootout.cpp

Issue 855003006: delete old things! (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Add makefiles back :( Created 5 years, 11 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
« no previous file with comments | « gyp/tools.gyp ('k') | trybots_to_run/chrome/layout » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/bbh_shootout.cpp
diff --git a/tools/bbh_shootout.cpp b/tools/bbh_shootout.cpp
deleted file mode 100644
index 0c2e2e3a37933963f0fdfadaffc250ca88a25433..0000000000000000000000000000000000000000
--- a/tools/bbh_shootout.cpp
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright 2013 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "Timer.h"
-#include "Benchmark.h"
-#include "LazyDecodeBitmap.h"
-#include "PictureBenchmark.h"
-#include "PictureRenderer.h"
-#include "SkCommandLineFlags.h"
-#include "SkForceLinking.h"
-#include "SkGraphics.h"
-#include "SkStream.h"
-#include "SkString.h"
-#include "SkTArray.h"
-
-typedef sk_tools::PictureRenderer::BBoxHierarchyType BBoxType;
-static const int kBBoxTypeCount = sk_tools::PictureRenderer::kLast_BBoxHierarchyType + 1;
-
-
-DEFINE_string2(skps, r, "", "The list of SKPs to benchmark.");
-DEFINE_string(bb_types, "", "The set of bbox types to test. If empty, all are tested. "
- "Should be one or more of none, rtree, tilegrid.");
-DEFINE_int32(record, 100, "Number of times to record each SKP.");
-DEFINE_int32(playback, 1, "Number of times to playback each SKP.");
-DEFINE_int32(tilesize, 256, "The size of a tile.");
-
-struct Measurement {
- SkString fName;
- double fRecordAverage[kBBoxTypeCount];
- double fPlaybackAverage[kBBoxTypeCount];
-};
-
-const char* kBBoxHierarchyTypeNames[kBBoxTypeCount] = {
- "none", // kNone_BBoxHierarchyType
- "rtree", // kRTree_BBoxHierarchyType
-};
-
-static SkPicture* pic_from_path(const char path[]) {
- SkFILEStream stream(path);
- if (!stream.isValid()) {
- SkDebugf("-- Can't open '%s'\n", path);
- return NULL;
- }
- return SkPicture::CreateFromStream(&stream, &sk_tools::LazyDecodeBitmap);
-}
-
-/**
- * This function is the sink to which all work ends up going.
- * @param renderer The renderer to use to perform the work.
- * To measure rendering, use a TiledPictureRenderer.
- * To measure recording, use a RecordPictureRenderer.
- * @param bBoxType The bounding box hierarchy type to use.
- * @param pic The picture to draw to the renderer.
- * @param numRepeats The number of times to repeat the draw.
- * @param timer The timer used to benchmark the work.
- */
-static void do_benchmark_work(sk_tools::PictureRenderer* renderer,
- BBoxType bBoxType,
- SkPicture* pic,
- const int numRepeats,
- Timer* timer) {
- renderer->setBBoxHierarchyType(bBoxType);
- renderer->init(pic, NULL, NULL, NULL, false, false);
-
- SkDebugf("%s %d times...\n", renderer->getConfigName().c_str(), numRepeats);
- for (int i = 0; i < numRepeats; ++i) {
- renderer->setup();
- // Render once to fill caches
- renderer->render();
- // Render again to measure
- timer->start();
- renderer->render();
- timer->end();
- }
-}
-
-int tool_main(int argc, char** argv);
-int tool_main(int argc, char** argv) {
- SkCommandLineFlags::Parse(argc, argv);
- SkAutoGraphics ag;
- bool includeBBoxType[kBBoxTypeCount];
- for (int bBoxType = 0; bBoxType < kBBoxTypeCount; ++bBoxType) {
- includeBBoxType[bBoxType] = (FLAGS_bb_types.count() == 0) ||
- FLAGS_bb_types.contains(kBBoxHierarchyTypeNames[bBoxType]);
- }
- // go through all the pictures
- SkTArray<Measurement> measurements;
- for (int index = 0; index < FLAGS_skps.count(); ++index) {
- const char* path = FLAGS_skps[index];
- SkPicture* picture = pic_from_path(path);
- if (NULL == picture) {
- SkDebugf("Couldn't create picture. Ignoring path: %s\n", path);
- continue;
- }
- SkDebugf("Benchmarking path: %s\n", path);
- Measurement& measurement = measurements.push_back();
- measurement.fName = path;
- for (int bBoxType = 0; bBoxType < kBBoxTypeCount; ++bBoxType) {
- if (!includeBBoxType[bBoxType]) { continue; }
- if (FLAGS_playback > 0) {
-#if SK_SUPPORT_GPU
- GrContext::Options grContextOpts;
- sk_tools::TiledPictureRenderer playbackRenderer(grContextOpts);
-#else
- sk_tools::TiledPictureRenderer playbackRenderer;
-#endif
- Timer playbackTimer;
- do_benchmark_work(&playbackRenderer, (BBoxType)bBoxType,
- picture, FLAGS_playback, &playbackTimer);
- measurement.fPlaybackAverage[bBoxType] = playbackTimer.fCpu;
- }
- if (FLAGS_record > 0) {
-#if SK_SUPPORT_GPU
- GrContext::Options grContextOpts;
- sk_tools::RecordPictureRenderer recordRenderer(grContextOpts);
-#else
- sk_tools::RecordPictureRenderer recordRenderer;
-#endif
- Timer recordTimer;
- do_benchmark_work(&recordRenderer, (BBoxType)bBoxType,
- picture, FLAGS_record, &recordTimer);
- measurement.fRecordAverage[bBoxType] = recordTimer.fCpu;
- }
- }
- }
-
- Measurement globalMeasurement;
- for (int bBoxType = 0; bBoxType < kBBoxTypeCount; ++bBoxType) {
- if (!includeBBoxType[bBoxType]) { continue; }
- globalMeasurement.fPlaybackAverage[bBoxType] = 0;
- globalMeasurement.fRecordAverage[bBoxType] = 0;
- for (int index = 0; index < measurements.count(); ++index) {
- const Measurement& measurement = measurements[index];
- globalMeasurement.fPlaybackAverage[bBoxType] +=
- measurement.fPlaybackAverage[bBoxType];
- globalMeasurement.fRecordAverage[bBoxType] +=
- measurement.fRecordAverage[bBoxType];
- }
- globalMeasurement.fPlaybackAverage[bBoxType] /= measurements.count();
- globalMeasurement.fRecordAverage[bBoxType] /= measurements.count();
- }
-
- // Output gnuplot readable histogram data..
- const char* pbTitle = "bbh_shootout_playback.dat";
- const char* recTitle = "bbh_shootout_record.dat";
- SkFILEWStream playbackOut(pbTitle);
- SkFILEWStream recordOut(recTitle);
- recordOut.writeText("# ");
- playbackOut.writeText("# ");
- SkDebugf("---\n");
- for (int bBoxType = 0; bBoxType < kBBoxTypeCount; ++bBoxType) {
- if (!includeBBoxType[bBoxType]) { continue; }
- SkString out;
- out.printf("%s ", kBBoxHierarchyTypeNames[bBoxType]);
- recordOut.writeText(out.c_str());
- playbackOut.writeText(out.c_str());
-
- if (FLAGS_record > 0) {
- SkDebugf("Average %s recording time: %.3fms\n",
- kBBoxHierarchyTypeNames[bBoxType],
- globalMeasurement.fRecordAverage[bBoxType]);
- }
- if (FLAGS_playback > 0) {
- SkDebugf("Average %s playback time: %.3fms\n",
- kBBoxHierarchyTypeNames[bBoxType],
- globalMeasurement.fPlaybackAverage[bBoxType]);
- }
- }
- recordOut.writeText("\n");
- playbackOut.writeText("\n");
- // Write to file, and save recording averages.
- for (int index = 0; index < measurements.count(); ++index) {
- const Measurement& measurement = measurements[index];
- SkString pbLine;
- SkString recLine;
-
- pbLine.printf("%d", index);
- recLine.printf("%d", index);
- for (int bBoxType = 0; bBoxType < kBBoxTypeCount; ++bBoxType) {
- if (!includeBBoxType[bBoxType]) { continue; }
- pbLine.appendf(" %f", measurement.fPlaybackAverage[bBoxType]);
- recLine.appendf(" %f", measurement.fRecordAverage[bBoxType]);
- }
- pbLine.appendf("\n");
- recLine.appendf("\n");
- playbackOut.writeText(pbLine.c_str());
- recordOut.writeText(recLine.c_str());
- }
- SkDebugf("\nWrote data to gnuplot-readable files: %s %s\n", pbTitle, recTitle);
- return 0;
-}
-
-#if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL)
-int main(int argc, char** argv) {
- return tool_main(argc, argv);
-}
-#endif
« no previous file with comments | « gyp/tools.gyp ('k') | trybots_to_run/chrome/layout » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698