X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/01f10aeb9d9a94f01006b4e7396711b8964f43da..4070ccac91e53f3e724eb56602addf609ffee081:/process.cpp?ds=inline diff --git a/process.cpp b/process.cpp index eac87d1..48dac1d 100644 --- a/process.cpp +++ b/process.cpp @@ -121,6 +121,21 @@ process::~process() print_loads(true, xbt_log_priority_debug); } +double process::get_iter_deviation() const +{ + double average_cost = opt::comp_cost(total_load_average); + // Do not count idle periods + double comp_iter_opt = acc.comp_amount / average_cost; +/* + // Add iterations that could have been achieved while beeing idle + // (kept for documentation) + double self_speed = MSG_get_host_speed(MSG_host_self()); + double average_duration = average_cost / self_speed; + comp_iter_opt += idle_duration / average_duration; +*/ + return comp_iter - comp_iter_opt; +} + int process::run() { if (opt::log_rate >= 0) { @@ -244,6 +259,7 @@ void process::compute_loop() } XBT_VERB("Going to finalize for %s...", __func__); + // Note: idle duration is not counted during finalization finalizing = true; XBT_DEBUG("send DATA_CLOSE to %zu neighbor%s", neigh.size(), ESSE(neigh.size()));