aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/StreamBench.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2016-12-14 12:34:06 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-12-14 18:34:30 +0000
commit49282296b6b1ca4e49be2441d83a3e0aad65b319 (patch)
tree733e91f2c5db90974a59355f8616522e7eccc8d6 /bench/StreamBench.cpp
parent7a1cc6766d07f343923587deaf14e1a3965c2b8f (diff)
add tests/bench for dynamicwstream
BUG=skia: Change-Id: I5a995b63b1a2975cce8101717777eaa6fc12af21 Reviewed-on: https://skia-review.googlesource.com/6035 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'bench/StreamBench.cpp')
-rw-r--r--bench/StreamBench.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/bench/StreamBench.cpp b/bench/StreamBench.cpp
new file mode 100644
index 0000000000..0650a999bb
--- /dev/null
+++ b/bench/StreamBench.cpp
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2016 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "Benchmark.h"
+#include "SkStream.h"
+
+class StreamBench : public Benchmark {
+ SkString fName;
+public:
+ StreamBench() {
+ fName.printf("wstream");
+ }
+
+ bool isSuitableFor(Backend backend) override {
+ return backend == kNonRendering_Backend;
+ }
+
+protected:
+ const char* onGetName() override { return fName.c_str(); }
+
+ void onDraw(int loops, SkCanvas* canvas) override {
+ for (int i = 0; i < loops*100; ++i) {
+ SkDynamicMemoryWStream stream;
+ for (int j = 0; j < 100000; ++j) {
+ stream.write32(j);
+ stream.write32(j+j);
+ }
+ }
+ }
+
+private:
+ typedef Benchmark INHERITED;
+};
+
+///////////////////////////////////////////////////////////////////////////////
+
+DEF_BENCH(return new StreamBench;)