blob: 0956b22b10913859799502732790ef9d5971f60d [file] [log] [blame]
scroggo@google.comdd394882012-07-24 20:47:55 +00001
2/*
3 * Copyright 2012 The Android Open Source Project
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9#include "SkBenchmark.h"
10#include "SkCanvas.h"
11#include "SkWriter32.h"
12
13class WriterBench : public SkBenchmark {
14public:
mtklein@google.com410e6e82013-09-13 19:52:27 +000015 WriterBench() { fIsRendering = false; }
scroggo@google.comdd394882012-07-24 20:47:55 +000016
17protected:
18 virtual const char* onGetName() SK_OVERRIDE {
19 return "writer";
20 }
21
sugoi@google.com77472f02013-03-05 18:50:01 +000022 virtual void onDraw(SkCanvas*) SK_OVERRIDE {
scroggo@google.comdd394882012-07-24 20:47:55 +000023 static const char gStr[] = "abcdefghimjklmnopqrstuvwxyz";
24 static const size_t gLen = strlen(gStr);
25 SkWriter32 writer(256 * 4);
mtklein@google.comc2897432013-09-10 19:23:38 +000026 for (int i = 0; i < this->getLoops(); i++) {
scroggo@google.comdd394882012-07-24 20:47:55 +000027 for (size_t j = 0; j <= gLen; j++) {
28 writer.writeString(gStr, j);
29 }
30 }
31 }
32
33private:
34 typedef SkBenchmark INHERITED;
35};
36
37////////////////////////////////////////////////////////////////////////////////
38
mtklein@google.com410e6e82013-09-13 19:52:27 +000039DEF_BENCH( return new WriterBench(); )