Speed up saving of profiling data by 27x

On Windows Release x64 bit build this changes:

ProfilerGraph::put
1.68% -> 0.061%

ProfilerGraph::draw
12% -> 17.%

So yes, there is a tradeoff between saving profiling data
(executed always) and drawing the profiler graph (executed very rarely).
But usually you don't have the profiler graph open.
This commit is contained in:
gregorycu 2015-11-02 14:17:44 +11:00 committed by est31
parent eabfe091b5
commit 5c3546e459

@ -489,7 +489,7 @@ private:
color(color) color(color)
{} {}
}; };
std::vector<Piece> m_log; std::deque<Piece> m_log;
public: public:
u32 m_log_max_size; u32 m_log_max_size;
@ -512,7 +512,7 @@ public:
{ {
std::map<std::string, Meta> m_meta; std::map<std::string, Meta> m_meta;
for (std::vector<Piece>::const_iterator k = m_log.begin(); for (std::deque<Piece>::const_iterator k = m_log.begin();
k != m_log.end(); ++k) { k != m_log.end(); ++k) {
const Piece &piece = *k; const Piece &piece = *k;
@ -600,7 +600,7 @@ public:
float lastscaledvalue = 0.0; float lastscaledvalue = 0.0;
bool lastscaledvalue_exists = false; bool lastscaledvalue_exists = false;
for (std::vector<Piece>::const_iterator j = m_log.begin(); for (std::deque<Piece>::const_iterator j = m_log.begin();
j != m_log.end(); ++j) { j != m_log.end(); ++j) {
const Piece &piece = *j; const Piece &piece = *j;
float value = 0; float value = 0;