| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef FLUTTER_BENCHMARKING_BENCHMARKING_H_ |
| #define FLUTTER_BENCHMARKING_BENCHMARKING_H_ |
| |
| #include "benchmark/benchmark.h" |
| |
| namespace benchmarking { |
| |
| class ScopedPauseTiming { |
| public: |
| explicit ScopedPauseTiming(::benchmark::State& state, bool enabled = true) |
| : state_(state), enabled_(enabled) { |
| if (enabled_) { |
| state_.PauseTiming(); |
| } |
| } |
| ~ScopedPauseTiming() { |
| if (enabled_) { |
| state_.ResumeTiming(); |
| } |
| } |
| |
| private: |
| ::benchmark::State& state_; |
| const bool enabled_; |
| }; |
| |
| } // namespace benchmarking |
| |
| #endif // FLUTTER_BENCHMARKING_BENCHMARKING_H_ |