diff options
author | gregorycu <gregory.currie@gmail.com> | 2015-11-02 14:17:44 +1100 |
---|---|---|
committer | est31 <MTest31@outlook.com> | 2015-11-02 13:25:21 +0100 |
commit | 5c3546e459ede7fbdfc22b340ed6b2af5073ec5b (patch) | |
tree | 8e8fe551ba529f3b0606c522c1efc7f37cb281a0 | |
parent | eabfe091b5ecfa6e53b70e08faf76df7f0684529 (diff) | |
download | minetest-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.cpp | 6 |
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; |