summaryrefslogtreecommitdiff
path: root/src/environment.cpp
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2015-03-05 10:43:08 +0100
committerLoic Blot <loic.blot@unix-experience.fr>2015-03-05 10:44:48 +0100
commit365e4ae0faee79ff7b62396f27667e8315ba94d4 (patch)
tree80b4ef80a339433562e23cd47980f4aae87bf938 /src/environment.cpp
parentb214cde5b4a833e1826ec6850b95bf1938c8b0a0 (diff)
downloadminetest-365e4ae0faee79ff7b62396f27667e8315ba94d4.tar.gz
minetest-365e4ae0faee79ff7b62396f27667e8315ba94d4.tar.bz2
minetest-365e4ae0faee79ff7b62396f27667e8315ba94d4.zip
Performance improvement: Use std::list instead of std::vector for request_media, Server::getModNames, Environment::m_simple_objects.
* Also remove unused Server::m_modspaths
Diffstat (limited to 'src/environment.cpp')
-rw-r--r--src/environment.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/environment.cpp b/src/environment.cpp
index 6cabc0dbc..b1372431f 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -2025,9 +2025,8 @@ ClientEnvironment::~ClientEnvironment()
delete i->second;
}
- for(std::list<ClientSimpleObject*>::iterator
- i = m_simple_objects.begin(); i != m_simple_objects.end(); ++i)
- {
+ for(std::vector<ClientSimpleObject*>::iterator
+ i = m_simple_objects.begin(); i != m_simple_objects.end(); ++i) {
delete *i;
}
@@ -2382,11 +2381,10 @@ void ClientEnvironment::step(float dtime)
Step and handle simple objects
*/
g_profiler->avg("CEnv: num of simple objects", m_simple_objects.size());
- for(std::list<ClientSimpleObject*>::iterator
- i = m_simple_objects.begin(); i != m_simple_objects.end();)
- {
+ for(std::vector<ClientSimpleObject*>::iterator
+ i = m_simple_objects.begin(); i != m_simple_objects.end();) {
ClientSimpleObject *simple = *i;
- std::list<ClientSimpleObject*>::iterator cur = i;
+ std::vector<ClientSimpleObject*>::iterator cur = i;
++i;
simple->step(dtime);
if(simple->m_to_be_removed){