int process::run()
{
+ double next_iter_after_date = 0.0;
INFO1("Initial load: %g", load);
VERB0("Starting...");
comp_iter = lb_iter = 0;
while (true) {
+ if (opt::min_iter_duration) {
+ double now = MSG_get_clock();
+ if (now < next_iter_after_date){
+ double delay = next_iter_after_date - now;
+ DEBUG1("sleeping for %g s", delay);
+ MSG_process_sleep(next_iter_after_date - now);
+ }
+ next_iter_after_date = MSG_get_clock() + opt::min_iter_duration;
+ }
+
if (load > 0.0) {
++comp_iter;
if (opt::log_rate && comp_iter % opt::log_rate == 0) {