1 /* 2 * Copyright 2011 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 #include "Benchmark.h" 8 #include "SkThread.h" 9 10 class MutexBench : public Benchmark { 11 public: isSuitableFor(Backend backend)12 bool isSuitableFor(Backend backend) override { 13 return backend == kNonRendering_Backend; 14 } 15 16 protected: onGetName()17 virtual const char* onGetName() { 18 return "mutex"; 19 } 20 onDraw(const int loops,SkCanvas *)21 virtual void onDraw(const int loops, SkCanvas*) { 22 SkMutex mu; 23 for (int i = 0; i < loops; i++) { 24 mu.acquire(); 25 mu.release(); 26 } 27 } 28 29 private: 30 typedef Benchmark INHERITED; 31 }; 32 33 /////////////////////////////////////////////////////////////////////////////// 34 35 DEF_BENCH( return new MutexBench(); ) 36