/* * Copyright 2015 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "bench/Benchmark.h" // This benchmark's runtime should be fairly constant for a given machine, // so it can be used as a baseline to control for thermal or other throttling. struct ControlBench : public Benchmark { const char* onGetName() override { return "control"; } bool isSuitableFor(Backend backend) override { return backend == Backend::kNonRendering; } void onDraw(int loops, SkCanvas*) override { // Nothing terribly useful: force a memory read, a memory write, and some math. [[maybe_unused]] volatile uint32_t rand = 0; for (int i = 0; i < 1000*loops; i++) { uint32_t val = rand * 1664525 + 1013904223; rand = val; } } }; DEF_BENCH(return new ControlBench;)