forked from organicmaps/organicmaps
Fix bug with empty timings in benchmark_tool.
This commit is contained in:
parent
a13ded6f2d
commit
48028fa0bc
2 changed files with 35 additions and 12 deletions
|
@ -4,32 +4,54 @@
|
|||
#include "../../std/numeric.hpp"
|
||||
#include "../../std/algorithm.hpp"
|
||||
#include "../../std/iomanip.hpp"
|
||||
#include "../../std/iterator.hpp"
|
||||
|
||||
|
||||
namespace bench
|
||||
{
|
||||
|
||||
void Result::CalcMetrics()
|
||||
void Result::PrintAllTimes()
|
||||
{
|
||||
sort(m_time.begin(), m_time.end());
|
||||
copy(m_time.begin(), m_time.end(), std::ostream_iterator<double>(cout, ", "));
|
||||
cout << endl;
|
||||
}
|
||||
|
||||
m_max = m_time.back();
|
||||
m_med = m_time[m_time.size()/2];
|
||||
m_all = accumulate(m_time.begin(), m_time.end(), 0.0);
|
||||
m_avg = m_all / m_time.size();
|
||||
void Result::CalcMetrics()
|
||||
{
|
||||
if (!m_time.empty())
|
||||
{
|
||||
sort(m_time.begin(), m_time.end());
|
||||
|
||||
m_time.clear();
|
||||
m_max = m_time.back();
|
||||
m_med = m_time[m_time.size()/2];
|
||||
m_all = accumulate(m_time.begin(), m_time.end(), 0.0);
|
||||
m_avg = m_all / m_time.size();
|
||||
|
||||
m_time.clear();
|
||||
}
|
||||
else
|
||||
m_all = -1.0;
|
||||
}
|
||||
|
||||
void AllResult::Print()
|
||||
{
|
||||
//m_reading.PrintAllTimes();
|
||||
m_reading.CalcMetrics();
|
||||
|
||||
// 'all time', 'index time', 'feature loading time'
|
||||
cout << fixed << setprecision(10);
|
||||
cout << "FRAME*1000[ median:" << m_reading.m_med * 1000 << " ";
|
||||
cout << "avg:" << m_reading.m_avg * 1000 << " ";
|
||||
cout << "max:" << m_reading.m_max * 1000 << " ] ";
|
||||
cout << "TOTAL[ idx:" << m_all - m_reading.m_all << " decoding:" << m_reading.m_all << " summ:" << m_all << " ]" << endl;
|
||||
if (m_all < 0.0)
|
||||
cout << "No frames" << endl;
|
||||
else
|
||||
{
|
||||
cout << fixed << setprecision(10);
|
||||
size_t const count = 1000;
|
||||
cout << "FRAME*1000[ median:" << m_reading.m_med * count <<
|
||||
" avg:" << m_reading.m_avg * count <<
|
||||
" max:" << m_reading.m_max * count << " ] ";
|
||||
cout << "TOTAL[ idx:" << m_all - m_reading.m_all <<
|
||||
" decoding:" << m_reading.m_all <<
|
||||
" summ:" << m_all << " ]" << endl;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ namespace bench
|
|||
m_time.insert(m_time.end(), r.m_time.begin(), r.m_time.end());
|
||||
}
|
||||
|
||||
void PrintAllTimes();
|
||||
void CalcMetrics();
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue