let do_measurement ~time =
    if !sparser = 0
    then (
      sparser := (time / 100); (* 100 could be customizable *)
      let nbu = nb_unsynchronized !configuration in
      if nbu = 0 then (
        Printf.printf "%0*i %f\n%!" time_width time (float nbu /. float_dimension);
        exit 0);
      (fun time -> Printf.printf "%0*i %f\n%!" time_width time (float nbu /. float_dimension)),
      (fun time -> draw_configuration !configuration time))
    else (
      decr sparser;
      (fun time -> ()), (fun time -> ()))