5 #include "flutter/benchmarking/benchmarking.h"
13 using CanvasCallback = size_t (*)(Canvas&);
15 size_t DrawRect(Canvas& canvas) {
16 for (
auto i = 0; i < 500; i++) {
23 size_t DrawCircle(Canvas& canvas) {
24 for (
auto i = 0; i < 500; i++) {
30 size_t DrawLine(Canvas& canvas) {
31 for (
auto i = 0; i < 500; i++) {
41 template <
class... Args>
43 auto args_tuple = std::make_tuple(std::move(args)...);
44 auto test_proc = std::get<CanvasCallback>(args_tuple);
47 size_t canvas_count = 0u;
48 while (state.KeepRunning()) {
52 op_count += test_proc(canvas);
55 state.counters[
"TotalOpCount"] = op_count;
56 state.counters[
"TotalCanvasCount"] = canvas_count;