diff options
Diffstat (limited to 'bench/StreamBench.cpp')
-rw-r--r-- | bench/StreamBench.cpp | 41 |
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;) |