X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/01f10aeb9d9a94f01006b4e7396711b8964f43da..36b8552042d5f04442efe2c61e8b6b2d11e122e6:/main.cpp?ds=sidebyside diff --git a/main.cpp b/main.cpp index 45c58ce..011b258 100644 --- a/main.cpp +++ b/main.cpp @@ -53,6 +53,7 @@ namespace { statistics comps; statistics comp_iterations; statistics all_comp_iterations; + statistics iter_deviation; statistics data_send_amount; statistics data_recv_amount; statistics data_send_count; @@ -84,6 +85,7 @@ static int simulation_main(int argc, char* argv[]) comps.push(proc->get_comp_amount()); comp_iterations.push(proc->get_comp_iter()); all_comp_iterations.push(proc->get_all_comp_iter()); + iter_deviation.push(proc->get_iter_deviation()); data_send_amount.push(proc->get_data_send_amount()); data_recv_amount.push(proc->get_data_recv_amount()); data_send_count.push(proc->get_data_send_count()); @@ -187,14 +189,15 @@ static void install_signal_handler() #define PR_STATS(descr, st) \ XBT_INFO("| %.*s: %g / %g / %g", DATA_DESCR_WIDTH, \ - descr " (total/avg./stddev).............................", \ + descr " (sum/avg/dev)...................................", \ st.get_sum(), st.get_mean(), st.get_stddev()) int main(int argc, char* argv[]) { - // Note: variables used after THROW must be declared as volatile. - volatile int exit_status = 0; // global exit status - volatile double simulated_time = -1.0; + // Note: variables modified between TRY (setjmp) and THROW (longjmp) + // must be declared as static or volatile. + static int exit_status = 0; // global exit status + static double simulated_time = -1.0; timestamp elapsed_time(timestamp::wallclock_time); timestamp simulation_time(timestamp::cpu_time); xbt_ex_t ex; @@ -331,7 +334,6 @@ int main(int argc, char* argv[]) PR_STATS("Computation", comps); PR_STATS("Comp. iterations", comp_iterations); PR_STATS("X-Comp. iterations", all_comp_iterations); - PR_STATS("Idle duration", idle_duration); PR_STATS("Data send amount", data_send_amount); PR_STATS("Data recv amount", data_recv_amount); PR_STATS("Data send count", data_send_count); @@ -359,6 +361,8 @@ int main(int argc, char* argv[]) 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); XBT_INFO("`----"); }