3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-07 19:51:22 +00:00

extract stats with finalize for parallel mode

This commit is contained in:
Nikolaj Bjorner 2024-12-13 09:22:30 -08:00
parent b4295620b3
commit 538f74d64c
5 changed files with 18 additions and 30 deletions

View file

@ -80,12 +80,10 @@ namespace smt {
m_init_search = true;
}
void theory_sls::finalize() {
void theory_sls::finalize() const {
if (!m_smt_plugin)
return;
m_smt_plugin->collect_statistics(m_st);
m_smt_plugin->finalize(m_model);
m_smt_plugin->finalize(m_model, m_st);
m_model = nullptr;
m_smt_plugin = nullptr;
m_init_search = false;
@ -108,8 +106,7 @@ namespace smt {
else if (!m_parallel_mode)
propagate_local_search();
else if (m_smt_plugin->completed()) {
m_smt_plugin->collect_statistics(m_st);
m_smt_plugin->finalize(m_model);
m_smt_plugin->finalize(m_model, m_st);
m_smt_plugin = nullptr;
m_init_search = false;
}
@ -197,10 +194,8 @@ namespace smt {
}
void theory_sls::collect_statistics(::statistics& st) const {
if (m_smt_plugin)
m_smt_plugin->collect_statistics(st);
else
st.copy(m_st);
finalize();
st.copy(m_st);
st.update("sls-num-guided-search", m_stats.m_num_guided_sls);
st.update("sls-num-restart-search", m_stats.m_num_restart_sls);
}
@ -222,8 +217,7 @@ namespace smt {
void theory_sls::bounded_run(unsigned num_steps) {
m_smt_plugin->bounded_run(num_steps);
if (m_smt_plugin->result() == l_true) {
m_smt_plugin->collect_statistics(m_st);
m_smt_plugin->finalize(m_model);
m_smt_plugin->finalize(m_model, m_st);
m_smt_plugin = nullptr;
m_init_search = false;
}