From d32087a613fde2623bbe0abfe551164fdf3d633e Mon Sep 17 00:00:00 2001 From: herb Date: Fri, 18 Sep 2015 10:50:35 -0700 Subject: Add shared mutex benchmark. BUG=skia: Review URL: https://codereview.chromium.org/1352863004 --- bench/MutexBench.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'bench/MutexBench.cpp') diff --git a/bench/MutexBench.cpp b/bench/MutexBench.cpp index ad9a92a90b..6dd4e5346f 100644 --- a/bench/MutexBench.cpp +++ b/bench/MutexBench.cpp @@ -36,8 +36,33 @@ private: SkString fBenchName; }; +class SharedBench : public Benchmark { +public: + bool isSuitableFor(Backend backend) override { + return backend == kNonRendering_Backend; + } + +protected: + const char* onGetName() override { + return "SkSharedMutexSharedUncontendedBenchmark"; + } + + void onDraw(const int loops, SkCanvas*) override { + SkSharedMutex mu; + for (int i = 0; i < loops; i++) { + mu.acquireShared(); + mu.releaseShared(); + } + } + +private: + typedef Benchmark INHERITED; +}; + /////////////////////////////////////////////////////////////////////////////// DEF_BENCH( return new MutexBench(SkString("SkSharedMutex")); ) DEF_BENCH( return new MutexBench(SkString("SkMutex")); ) DEF_BENCH( return new MutexBench(SkString("SkSpinlock")); ) +DEF_BENCH( return new SharedBench; ) + -- cgit v1.2.3