/* * Copyright 2012 The Android Open Source Project * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "SkBenchmark.h" #include "SkCanvas.h" #include "SkWriter32.h" class WriterBench : public SkBenchmark { public: WriterBench(void* param) : INHERITED(param) { fIsRendering = false; } protected: virtual const char* onGetName() SK_OVERRIDE { return "writer"; } virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { static const char gStr[] = "abcdefghimjklmnopqrstuvwxyz"; static const size_t gLen = strlen(gStr); SkWriter32 writer(256 * 4); for (int i = 0; i < SkBENCHLOOP(800); i++) { for (size_t j = 0; j <= gLen; j++) { writer.writeString(gStr, j); } } } private: typedef SkBenchmark INHERITED; }; //////////////////////////////////////////////////////////////////////////////// static SkBenchmark* fact(void* p) { return new WriterBench(p); } static BenchRegistry gReg(fact);