Definition at line 110 of file wave_perf_bench.h.
111 {
114 return r;
115 }
117 volatile fl::i32 sink = 0;
119 for (u32 i = 0; i < iterations; ++i) {
120 fl::i32 acc = 0;
121 for (u32
y = 0;
y <
H; ++
y) {
122 for (u32
x = 0;
x <
W; ++
x) {
123 acc += sim->geti16(
static_cast<fl::size
>(
x),
124 static_cast<fl::size
>(
y));
125 }
126 }
127 sink += acc;
128 }
130 (void)sink;
133 const double cells_per_update =
static_cast<double>(
W) *
H;
135 / static_cast<double>(iterations);
139 return r;
140}
fl::unique_ptr< WaveSimulation2D_Real > makeBenchSim(u32 W, u32 H, LaplacianStencil stencil) FL_NO_EXCEPT
bool isValidIterations(u32 iterations) FL_NO_EXCEPT
bool isValidGrid(u32 W, u32 H) FL_NO_EXCEPT
double us_per_cell_per_update
double fps_at_one_update_per_frame
fl::u32 micros()
Universal microsecond timer - returns microseconds since system startup.
References fl::FL_NO_EXCEPT, fl::wave_perf::WavePerfResult::fps_at_one_update_per_frame, H, isValidGrid(), isValidIterations(), makeBenchSim(), fl::micros(), fl::wave_perf::WavePerfResult::success, fl::wave_perf::WavePerfResult::total_us, fl::wave_perf::WavePerfResult::us_per_cell_per_update, fl::wave_perf::WavePerfResult::us_per_update, W, fl::x, and fl::y.