Specify bench_type & source_type for image benches
This will allow us to use perf filtering for comparing SkImageDecoder
to SkCodec.
BUG=skia:3418
Review URL: https://codereview.chromium.org/1387863002
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index a7a47c5..4ab6ca0 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -790,8 +790,9 @@
}
}
-
for (; fCurrentCodec < fImages.count(); fCurrentCodec++) {
+ fSourceType = "image";
+ fBenchType = "skcodec";
const SkString& path = fImages[fCurrentCodec];
SkAutoTUnref<SkData> encoded(SkData::NewFromFileName(path.c_str()));
SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(encoded));
@@ -845,6 +846,8 @@
// Run the DecodingBenches
while (fCurrentImage < fImages.count()) {
+ fSourceType = "image";
+ fBenchType = "skimagedecoder";
while (fCurrentColorType < fColorTypes.count()) {
const SkString& path = fImages[fCurrentImage];
SkColorType colorType = fColorTypes[fCurrentColorType];
@@ -866,6 +869,8 @@
bool useCodecOpts[] = { true, false };
while (fUseCodec < 2) {
bool useCodec = useCodecOpts[fUseCodec];
+ fSourceType = "image";
+ fBenchType = useCodec ? "skcodec" : "skimagedecoder";
while (fCurrentSubsetImage < fImages.count()) {
while (fCurrentColorType < fColorTypes.count()) {
const SkString& path = fImages[fCurrentSubsetImage];
@@ -914,9 +919,12 @@
// Run the BRDBenches
// We will benchmark multiple BRD strategies.
- const SkBitmapRegionDecoderInterface::Strategy strategies[] = {
- SkBitmapRegionDecoderInterface::kOriginal_Strategy,
- SkBitmapRegionDecoderInterface::kCanvas_Strategy,
+ static const struct {
+ SkBitmapRegionDecoderInterface::Strategy fStrategy;
+ const char* fName;
+ } strategies[] = {
+ { SkBitmapRegionDecoderInterface::kOriginal_Strategy, "BRD" },
+ { SkBitmapRegionDecoderInterface::kCanvas_Strategy, "BRD_canvas" },
};
// We intend to create benchmarks that model the use cases in
@@ -937,12 +945,14 @@
const uint32_t minOutputSize = 512;
while (fCurrentBRDImage < fImages.count()) {
while (fCurrentBRDStrategy < (int) SK_ARRAY_COUNT(strategies)) {
+ fSourceType = "image";
+ fBenchType = strategies[fCurrentBRDStrategy].fName;
while (fCurrentColorType < fColorTypes.count()) {
while (fCurrentBRDSampleSize < (int) SK_ARRAY_COUNT(sampleSizes)) {
while (fCurrentSubsetType <= kLastSingle_SubsetType) {
const SkString& path = fImages[fCurrentBRDImage];
const SkBitmapRegionDecoderInterface::Strategy strategy =
- strategies[fCurrentBRDStrategy];
+ strategies[fCurrentBRDStrategy].fStrategy;
SkAutoTUnref<SkData> encoded(SkData::NewFromFileName(path.c_str()));
const SkColorType colorType = fColorTypes[fCurrentColorType];
uint32_t sampleSize = sampleSizes[fCurrentBRDSampleSize];