From bcfd511eb1aada39622116fd1df8178b58650fba Mon Sep 17 00:00:00 2001 From: herb Date: Fri, 18 Sep 2015 09:24:18 -0700 Subject: Benchmark all mutex implementations. BUG=skia: Review URL: https://codereview.chromium.org/1342283004 --- bench/MutexBench.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'bench/MutexBench.cpp') diff --git a/bench/MutexBench.cpp b/bench/MutexBench.cpp index 2565d3860e..ad9a92a90b 100644 --- a/bench/MutexBench.cpp +++ b/bench/MutexBench.cpp @@ -6,20 +6,25 @@ */ #include "Benchmark.h" #include "SkMutex.h" +#include "SkSharedMutex.h" +#include "SkSpinlock.h" +#include "SkString.h" +template class MutexBench : public Benchmark { public: + MutexBench(SkString benchPrefix) : fBenchName(benchPrefix += "UncontendedBenchmark") { } bool isSuitableFor(Backend backend) override { return backend == kNonRendering_Backend; } protected: const char* onGetName() override { - return "mutex"; + return fBenchName.c_str(); } void onDraw(const int loops, SkCanvas*) override { - SkMutex mu; + Mutex mu; for (int i = 0; i < loops; i++) { mu.acquire(); mu.release(); @@ -28,8 +33,11 @@ protected: private: typedef Benchmark INHERITED; + SkString fBenchName; }; /////////////////////////////////////////////////////////////////////////////// -DEF_BENCH( return new MutexBench(); ) +DEF_BENCH( return new MutexBench(SkString("SkSharedMutex")); ) +DEF_BENCH( return new MutexBench(SkString("SkMutex")); ) +DEF_BENCH( return new MutexBench(SkString("SkSpinlock")); ) -- cgit v1.2.3