17 spdlog::set_level(spdlog::level::off);
18 auto tStart = std::chrono::steady_clock::now();
20 auto tEnd = std::chrono::steady_clock::now();
21 std::chrono::nanoseconds duration_ns{tEnd - tStart};
22 double duration_s =
static_cast<double>(duration_ns.count()) / 1e9;
23 long duration_min = duration_ns.count() / 60000000000;
24 long duration_min_sec =
static_cast<long>(std::ceil(duration_s)) - duration_min * 60;
25 std::cout <<
"Execution time: " << duration_min <<
" min " << duration_min_sec <<
" sec | "
26 << duration_s <<
" sec | " << duration_ns.count() <<
" ns.\n";
27 std::cout <<
"Molecule updates per second: " <<
static_cast<double>(simulator.
getTotalMoleculeUpdates()) / duration_s <<
"\n";
void performBenchmark(Simulator &simulator)
Measure the execution time of the simulation.
Definition: Benchmark.h:16
This class implements the simulation of the particle system.
Definition: Simulator.h:28
unsigned long long getTotalMoleculeUpdates() const
Definition: Simulator.cpp:236
void run(bool benchmark)
Run the simulation.
Definition: Simulator.cpp:169