diff options
author | Steinar H. Gunderson <sgunderson@bigfoot.com> | 2014-04-11 21:12:00 +0200 |
---|---|---|
committer | Steinar H. Gunderson <sgunderson@bigfoot.com> | 2014-04-11 21:12:00 +0200 |
commit | 4f2251a3faeff1e23838a4c0e994c4708346e97e (patch) | |
tree | 5c40c8463954f28db357b7f9a0370ffebbbebe50 /planning/planning.cpp | |
parent | f9a4dd91775e34ed7f7914401644b8a6cd41c2e6 (diff) |
When searching for optimal distro placement, only log when we actually find a new best one.
Diffstat (limited to 'planning/planning.cpp')
-rw-r--r-- | planning/planning.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/planning/planning.cpp b/planning/planning.cpp index 6f2e2f0..06b839c 100644 --- a/planning/planning.cpp +++ b/planning/planning.cpp @@ -690,11 +690,7 @@ int Planner::do_work(int distro_placements[NUM_DISTRO]) void plan_recursively(int distro_placements[NUM_DISTRO], int distro_num, int min_placement, int max_placement, atomic<int> *best_cost) { if (distro_num == NUM_DISTRO) { - string log; Planner p; - log.clear(); - p.set_log_buf(&log); - int cost = p.do_work(distro_placements); try_again: int old_best_cost = best_cost->load(); @@ -709,7 +705,13 @@ try_again: printf("%d ", distro_placements[i]); } printf("= %d\n", cost); + + // Do it once more, but this time with logging enabled. + string log; + p.set_log_buf(&log); + p.do_work(distro_placements); printf("%s\n", log.c_str()); + return; } |