summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgregorycu <gregory.currie@gmail.com>2015-11-02 14:17:44 +1100
committerest31 <MTest31@outlook.com>2015-11-02 13:25:21 +0100
commit5c3546e459ede7fbdfc22b340ed6b2af5073ec5b (patch)
tree8e8fe551ba529f3b0606c522c1efc7f37cb281a0
parenteabfe091b5ecfa6e53b70e08faf76df7f0684529 (diff)
downloadminetest-5c3546e459ede7fbdfc22b340ed6b2af5073ec5b.tar.gz
minetest-5c3546e459ede7fbdfc22b340ed6b2af5073ec5b.tar.bz2
minetest-5c3546e459ede7fbdfc22b340ed6b2af5073ec5b.zip
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.
-rw-r--r--src/game.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/game.cpp b/src/game.cpp
index df5ab701a..d74c1fa1d 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -489,7 +489,7 @@ private:
color(color)
{}
};
- std::vector<Piece> m_log;
+ std::deque<Piece> m_log;
public:
u32 m_log_max_size;
@@ -512,7 +512,7 @@ public:
{
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) {
const Piece &piece = *k;
@@ -600,7 +600,7 @@ public:
float lastscaledvalue = 0.0;
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) {
const Piece &piece = *j;
float value = 0;