1dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com 2dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com/* 3dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com * Copyright 2012 The Android Open Source Project 4dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com * 5dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com * Use of this source code is governed by a BSD-style license that can be 6dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com * found in the LICENSE file. 7dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com */ 8dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com 9f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina#include "Benchmark.h" 10dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com#include "SkCanvas.h" 11dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com#include "SkWriter32.h" 12dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com 13f168b86d7fafc5c20c87bebc6fd393cb17e120catfarinaclass WriterBench : public Benchmark { 14dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.compublic: 15644629c1c7913a43ced172b98d56e0f471bc348bcommit-bot@chromium.org virtual bool isSuitableFor(Backend backend) SK_OVERRIDE { 16644629c1c7913a43ced172b98d56e0f471bc348bcommit-bot@chromium.org return backend == kNonRendering_Backend; 17644629c1c7913a43ced172b98d56e0f471bc348bcommit-bot@chromium.org } 18dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com 19dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.comprotected: 20dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com virtual const char* onGetName() SK_OVERRIDE { 21dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com return "writer"; 22dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com } 23dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com 243361471a3504ecd0351ff70f4c42d8d6fee963d4commit-bot@chromium.org virtual void onDraw(const int loops, SkCanvas*) SK_OVERRIDE { 25dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com static const char gStr[] = "abcdefghimjklmnopqrstuvwxyz"; 26dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com static const size_t gLen = strlen(gStr); 2719382421b916aab00be7265815ba4e2690adf2c9commit-bot@chromium.org SkWriter32 writer; 283361471a3504ecd0351ff70f4c42d8d6fee963d4commit-bot@chromium.org for (int i = 0; i < loops; i++) { 29dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com for (size_t j = 0; j <= gLen; j++) { 30dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com writer.writeString(gStr, j); 31dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com } 32dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com } 33dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com } 34dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com 35dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.comprivate: 36f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina typedef Benchmark INHERITED; 37dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com}; 38dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com 39dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com//////////////////////////////////////////////////////////////////////////////// 40dd3948899725041bf52e3a4eea922f9961ee0a9bscroggo@google.com 41410e6e80f00a6c660675c80904807a041c7b7d2amtklein@google.comDEF_BENCH( return new WriterBench(); ) 42