- XBT_INFO("| %.*s: %g", DATA_DESCR_WIDTH,
- "Total simulated time..................................",
- simulated_time);
- XBT_INFO("| %.*s: %g", DATA_DESCR_WIDTH,
- "Total simulation time.................................",
- simulation_time.duration());
- XBT_INFO("| %.*s: %g", DATA_DESCR_WIDTH,
- "Elapsed (wall clock) time.............................",
- elapsed_time.duration());
+ PR_VALUE("Total simulated time", "%g", simulated_time);
+ PR_VALUE("Total simulation time", "%g", simulation_time.duration());
+ PR_VALUE("Elapsed (wall clock) time", "%g", elapsed_time.duration());
+ XBT_INFO("`----");
+
+ double load_imbalance = 100.0 * loads.get_stddev() / loads.get_mean();
+ double transfer_amount =
+ data_send_amount.get_sum() / opt::comm_cost(loads.get_sum());
+
+ XBT_INFO(",----[ Useful metrics ]");
+ PR_VALUE("Final load imbalance", "%g %s", load_imbalance,
+ "percent of the load average");
+ PR_VALUE("Data transfer amount", "%g %s", transfer_amount,
+ "times the total amount of data");
+ PR_VALUE("Number of hosts that converged", "%u / %u",
+ convergence.get_count(), loads.get_count());
+ PR_VALUE("Times of convergence (min/max/avg/dev)", "%g / %g / %g / %g",
+ convergence.get_min(), convergence.get_max(),
+ convergence.get_mean(), convergence.get_stddev());
+ PR_STATS("Idle duration", idle_duration);
+ PR_STATS("Supernumer. comp. iter.", iter_deviation);