New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue1058 #116
Issue1058 #116
Conversation
…logger; measure pruning time only with verbose verbosity
@@ -20,7 +21,7 @@ LimitedPruning::LimitedPruning(const Options &opts) | |||
void LimitedPruning::initialize(const shared_ptr<AbstractTask> &task) { | |||
PruningMethod::initialize(task); | |||
pruning_method->initialize(task); | |||
utils::g_log << "pruning method: limited" << endl; | |||
log << "pruning method: limited" << endl; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably don't want to print this in silent mode?
void NullPruningMethod::initialize(const shared_ptr<AbstractTask> &task) { | ||
PruningMethod::initialize(task); | ||
utils::g_log << "pruning method: none" << endl; | ||
log << "pruning method: none" << endl; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and here
atom_selection_strategy(opts.get<AtomSelectionStrategy>("atom_selection_strategy")) { | ||
} | ||
|
||
void StubbornSetsAtomCentric::initialize(const shared_ptr<AbstractTask> &task) { | ||
StubbornSets::initialize(task); | ||
utils::g_log << "pruning method: atom-centric stubborn sets" << endl; | ||
log << "pruning method: atom-centric stubborn sets" << endl; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and here
@@ -122,7 +126,7 @@ void StubbornSetsEC::initialize(const shared_ptr<AbstractTask> &task) { | |||
disabled.resize(num_operators); | |||
disabled_computed.resize(num_operators, false); | |||
|
|||
utils::g_log << "pruning method: stubborn sets ec" << endl; | |||
log << "pruning method: stubborn sets ec" << endl; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and here
void StubbornSetsSimple::initialize(const shared_ptr<AbstractTask> &task) { | ||
StubbornSets::initialize(task); | ||
interference_relation.resize(num_operators); | ||
interference_relation_computed.resize(num_operators, false); | ||
utils::g_log << "pruning method: stubborn sets simple" << endl; | ||
log << "pruning method: stubborn sets simple" << endl; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and here
/* | ||
We only measure time with verbose verbosity level because time | ||
measurements induce a significant overhead, up to 30% for configurations | ||
like blind search. See issue1042 and issue1058. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps add "with the NullPruning method" after "like blind search"?
class PruningMethod { | ||
utils::Timer timer; | ||
friend class limited_pruning::LimitedPruning; | ||
|
||
virtual void prune( | ||
const State &state, std::vector<OperatorID> &op_ids) = 0; | ||
protected: | ||
mutable utils::LogProxy log; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assume this does have to be mutable? It's not pretty.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, unfortunately, because output streams are modified when used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we think it is OK to do output on const logs, it would probably be good to encapsulate this inside the LogProxy class. But that's something for another issue then.
No description provided.