提交 3ba4f0a0 authored 作者: Frederic's avatar Frederic

Make the clean up opt trigger the changed flag

上级 2c62256a
......@@ -2118,6 +2118,7 @@ class EquilibriumOptimizer(NavigatorOptimizer):
node_created.setdefault(opt, 0)
def apply_cleanup(profs_dict):
changed = False
for copt in self.cleanup_optimizers:
change_tracker.reset()
nb = change_tracker.nb_imported
......@@ -2131,6 +2132,7 @@ class EquilibriumOptimizer(NavigatorOptimizer):
global_process_count[copt] += 1
changed = True
node_created[copt] += change_tracker.nb_imported - nb
return changed
while changed and not max_use_abort:
process_count = {}
......@@ -2165,7 +2167,7 @@ class EquilibriumOptimizer(NavigatorOptimizer):
# apply clean up as global opt can have done changes that
# request that
apply_cleanup(iter_cleanup_sub_profs)
changed = changed or apply_cleanup(iter_cleanup_sub_profs)
# apply local optimizer
topo_t0 = time.time()
......@@ -2207,7 +2209,7 @@ class EquilibriumOptimizer(NavigatorOptimizer):
global_process_count[lopt] += 1
changed = True
node_created[lopt] += change_tracker.nb_imported - nb
apply_cleanup(iter_cleanup_sub_profs)
changed = changed orapplyc_leanup(iter_cleanup_sub_profs)
if global_process_count[lopt] > max_use:
max_use_abort = True
opt_name = (getattr(lopt, "name", None) or
......@@ -2243,7 +2245,7 @@ class EquilibriumOptimizer(NavigatorOptimizer):
global_opt_timing[-1] += time.time() - t_before_final_opt
# apply clean up as final opt can have done changes that
# request that
apply_cleanup(iter_cleanup_sub_profs)
changed = changed or apply_cleanup(iter_cleanup_sub_profs)
# merge clean up profiles during that iteration.
c_sub_profs = []
for copt, sub_profs in iteritems(iter_cleanup_sub_profs):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论