diff options
author | Loic Blot <loic.blot@unix-experience.fr> | 2015-03-05 10:43:08 +0100 |
---|---|---|
committer | Loic Blot <loic.blot@unix-experience.fr> | 2015-03-05 10:44:48 +0100 |
commit | 365e4ae0faee79ff7b62396f27667e8315ba94d4 (patch) | |
tree | 80b4ef80a339433562e23cd47980f4aae87bf938 /src/environment.cpp | |
parent | b214cde5b4a833e1826ec6850b95bf1938c8b0a0 (diff) | |
download | minetest-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.cpp | 12 |
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){ |